initialize_fuzzer:
  137|      1|initialize_fuzzer(void) {
  138|       |#ifdef FUZZ_VERBOSE
  139|       |	usrsctp_init(0, conn_output, debug_printf_stack);
  140|       |#else // FUZZ_VERBOSE
  141|      1|	usrsctp_init(0, conn_output, NULL);
  142|      1|#endif // FUZZ_VERBOSE
  143|       |
  144|      1|	usrsctp_enable_crc32c_offload();
  145|       |
  146|       |#ifdef SCTP_DEBUG
  147|       |	usrsctp_sysctl_set_sctp_debug_on(SCTP_DEBUG_ALL);
  148|       |#endif // SCTP_DEBUG
  149|       |
  150|      1|	usrsctp_register_address((void *)1);
  151|      1|	usrsctp_sysctl_set_sctp_pktdrop_enable(1);
  152|      1|	usrsctp_sysctl_set_sctp_nrsack_enable(1);
  153|       |
  154|      1|	fuzzer_printf("usrsctp initialized\n");
  155|      1|	return (1);
  156|      1|}
LLVMFuzzerTestOneInput:
  161|  11.5k|{
  162|  11.5k|	static int initialized;
  163|  11.5k|	char *fuzz_packet_buffer;
  164|  11.5k|	struct sockaddr_conn sconn;
  165|  11.5k|	struct socket *socket_client;
  166|  11.5k|	struct linger so_linger;
  167|  11.5k|	struct sctp_event event;
  168|  11.5k|	unsigned long i;
  169|  11.5k|	struct sctp_common_header* common_header;
  170|  11.5k|	uint16_t event_types[] = {
  171|  11.5k|		SCTP_ASSOC_CHANGE,
  ------------------
  |  |  245|  11.5k|#define SCTP_ASSOC_CHANGE                 0x0001
  ------------------
  172|  11.5k|		SCTP_PEER_ADDR_CHANGE,
  ------------------
  |  |  246|  11.5k|#define SCTP_PEER_ADDR_CHANGE             0x0002
  ------------------
  173|  11.5k|		SCTP_REMOTE_ERROR,
  ------------------
  |  |  247|  11.5k|#define SCTP_REMOTE_ERROR                 0x0003
  ------------------
  174|  11.5k|		SCTP_SEND_FAILED,
  ------------------
  |  |  248|  11.5k|#define SCTP_SEND_FAILED                  0x0004
  ------------------
  175|  11.5k|		SCTP_SHUTDOWN_EVENT,
  ------------------
  |  |  249|  11.5k|#define SCTP_SHUTDOWN_EVENT               0x0005
  ------------------
  176|  11.5k|		SCTP_ADAPTATION_INDICATION,
  ------------------
  |  |  250|  11.5k|#define SCTP_ADAPTATION_INDICATION        0x0006
  ------------------
  177|  11.5k|		SCTP_PARTIAL_DELIVERY_EVENT,
  ------------------
  |  |  251|  11.5k|#define SCTP_PARTIAL_DELIVERY_EVENT       0x0007
  ------------------
  178|  11.5k|		SCTP_AUTHENTICATION_EVENT,
  ------------------
  |  |  252|  11.5k|#define SCTP_AUTHENTICATION_EVENT         0x0008
  ------------------
  179|  11.5k|		SCTP_STREAM_RESET_EVENT,
  ------------------
  |  |  253|  11.5k|#define SCTP_STREAM_RESET_EVENT           0x0009
  ------------------
  180|  11.5k|		SCTP_SENDER_DRY_EVENT,
  ------------------
  |  |  254|  11.5k|#define SCTP_SENDER_DRY_EVENT             0x000a
  ------------------
  181|  11.5k|		SCTP_ASSOC_RESET_EVENT,
  ------------------
  |  |  256|  11.5k|#define SCTP_ASSOC_RESET_EVENT            0x000c
  ------------------
  182|  11.5k|		SCTP_STREAM_CHANGE_EVENT,
  ------------------
  |  |  257|  11.5k|#define SCTP_STREAM_CHANGE_EVENT          0x000d
  ------------------
  183|  11.5k|		SCTP_SEND_FAILED_EVENT
  ------------------
  |  |  258|  11.5k|#define SCTP_SEND_FAILED_EVENT            0x000e
  ------------------
  184|  11.5k|	};
  185|  11.5k|	int optval;
  186|  11.5k|	int result;
  187|  11.5k|	struct sctp_initmsg initmsg;
  188|  11.5k|#if defined(FUZZ_STREAM_RESET) || defined(FUZZ_INTERLEAVING)
  189|  11.5k|	struct sctp_assoc_value assoc_val;
  190|  11.5k|#endif // defined(FUZZ_STREAM_RESET) || defined(FUZZ_INTERLEAVING)
  191|       |
  192|       |	// WITH COMMON HEADER!
  193|  11.5k|	char fuzz_init_ack[] = "\x13\x89\x13\x88\x49\xa4\xac\xb2\x00\x00\x00\x00\x02\x00\x01\xb4" \
  194|  11.5k|		"\x2b\xe8\x47\x40\x00\x1c\x71\xc7\xff\xff\xff\xff\xed\x69\x58\xec" \
  195|  11.5k|		"\xc0\x06\x00\x08\x00\x00\x07\xc4\x80\x00\x00\x04\xc0\x00\x00\x04" \
  196|  11.5k|		"\x80\x08\x00\x0b\xc0\xc2\x0f\xc1\x80\x82\x40\x00\x80\x02\x00\x24" \
  197|  11.5k|		"\x40\x39\xcf\x32\xd6\x60\xcf\xfa\x3f\x2f\xa9\x52\xed\x2b\xf2\xe6" \
  198|  11.5k|		"\x2f\xb7\x81\x96\xf8\xda\xe9\xa0\x62\x01\x79\xe1\x0d\x5f\x38\xaa" \
  199|  11.5k|		"\x80\x04\x00\x08\x00\x03\x00\x01\x80\x03\x00\x06\x80\xc1\x00\x00" \
  200|  11.5k|		"\x00\x07\x01\x50\x4b\x41\x4d\x45\x2d\x42\x53\x44\x20\x31\x2e\x31" \
  201|  11.5k|		"\x00\x00\x00\x00\x64\xdb\x63\x00\x00\x00\x00\x00\xc9\x76\x03\x00" \
  202|  11.5k|		"\x00\x00\x00\x00\x60\xea\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \
  203|  11.5k|		"\xb2\xac\xa4\x49\x2b\xe8\x47\x40\xd4\xc9\x79\x52\x00\x00\x00\x00" \
  204|  11.5k|		"\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\xd4\xc9\x79\x53" \
  205|  11.5k|		"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00" \
  206|  11.5k|		"\x00\x00\x00\x00\x5a\x76\x13\x89\x01\x00\x00\x00\x00\x00\x00\x00" \
  207|  11.5k|		"\x00\x00\x00\x00\x01\x00\x00\x62\x49\xa4\xac\xb2\x00\x1c\x71\xc7" \
  208|  11.5k|		"\x00\x01\xff\xff\x82\xe6\xc8\x44\x80\x00\x00\x04\xc0\x00\x00\x04" \
  209|  11.5k|		"\x80\x08\x00\x0b\xc0\xc2\x0f\xc1\x80\x82\x40\x00\x80\x02\x00\x24" \
  210|  11.5k|		"\xb6\xbb\xb5\x7f\xbb\x4b\x0e\xb5\x42\xf6\x75\x18\x4f\x79\x0f\x24" \
  211|  11.5k|		"\x1c\x44\x0b\xd6\x62\xa9\x84\xe7\x2c\x3c\x7f\xad\x1b\x67\x81\x57" \
  212|  11.5k|		"\x80\x04\x00\x08\x00\x03\x00\x01\x80\x03\x00\x06\x80\xc1\x00\x00" \
  213|  11.5k|		"\x00\x0c\x00\x06\x00\x05\x00\x00\x02\x00\x01\xb4\x2b\xe8\x47\x40" \
  214|  11.5k|		"\x00\x1c\x71\xc7\x00\x01\xff\xff\xed\x69\x58\xec\xc0\x06\x00\x08" \
  215|  11.5k|		"\x00\x00\x07\xc4\x80\x00\x00\x04\xc0\x00\x00\x04\x80\x08\x00\x0b" \
  216|  11.5k|		"\xc0\xc2\x0f\xc1\x80\x82\x40\x00\x80\x02\x00\x24\x40\x39\xcf\x32" \
  217|  11.5k|		"\xd6\x60\xcf\xfa\x3f\x2f\xa9\x52\xed\x2b\xf2\xe6\x2f\xb7\x81\x96" \
  218|  11.5k|		"\xf8\xda\xe9\xa0\x62\x01\x79\xe1\x0d\x5f\x38\xaa\x80\x04\x00\x08" \
  219|  11.5k|		"\x00\x03\x00\x01\x80\x03\x00\x06\x80\xc1\x00\x00\x81\xe1\x1e\x81" \
  220|  11.5k|		"\xea\x41\xeb\xf0\x12\xd9\x74\xbe\x13\xfd\x4b\x6c\x5c\xa2\x8f\x00";
  221|       |
  222|       |	// WITH COMMON HEADER!
  223|  11.5k|	char fuzz_cookie_ack[] = "\x13\x89\x13\x88\x54\xc2\x7c\x46\x00\x00\x00\x00\x0b\x00\x00\x04";
  224|       |
  225|       |	// WITH COMMON HEADER!
  226|  11.5k|	char fuzz_i_data[] = "\x13\x89\x13\x88\x07\x01\x6c\xd3\x00\x00\x00\x00\x40\x03" \
  227|  11.5k|		"\x00\xdc\x2d\x2b\x46\xd4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \
  228|  11.5k|		"\x00\x27\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  229|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  230|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  231|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  232|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  233|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  234|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  235|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  236|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  237|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  238|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  239|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  240|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41";
  241|       |
  242|       |	// WITH COMMON HEADER!
  243|  11.5k|	char fuzz_data[] = "\x13\x89\x13\x88\x27\xc4\xbf\xdf\x00\x00\x00\x00\x00\x03" \
  244|  11.5k|		"\x00\xd8\x79\x64\xb7\xc1\x00\x00\x00\x00\x00\x00\x00\x27\x41\x41" \
  245|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  246|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  247|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  248|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  249|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  250|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  251|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  252|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  253|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  254|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  255|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  256|  11.5k|		"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" \
  257|  11.5k|		"\x41\x41\x41\x41\x41\x41";
  258|       |
  259|       |
  260|  11.5k|	char fuzz_common_header[] = "\x13\x89\x13\x88\x54\xc2\x7c\x46\x00\x00\x00\x00";
  261|       |
  262|  11.5k|	fuzzer_printf("LLVMFuzzerTestOneInput()\n");
  263|       |
  264|       |#ifdef FUZZ_ALWAYS_INITIALIZE
  265|       |	initialize_fuzzer();
  266|       |#else
  267|  11.5k|	if (!initialized) {
  ------------------
  |  Branch (267:6): [True: 1, False: 11.5k]
  ------------------
  268|      1|		initialized = initialize_fuzzer();
  269|      1|	}
  270|  11.5k|#endif
  271|       |
  272|  11.5k|	if (data_size < 5 || data_size > 65535) {
  ------------------
  |  Branch (272:6): [True: 5, False: 11.5k]
  |  Branch (272:23): [True: 5, False: 11.5k]
  ------------------
  273|       |		// Skip too small and too large packets
  274|     10|		fuzzer_printf("data_size %zu makes no sense, skipping\n", data_size);
  275|     10|		return (0);
  276|     10|	}
  277|       |
  278|  11.5k|	socket_client = usrsctp_socket(AF_CONN, SOCK_STREAM, IPPROTO_SCTP, NULL, NULL, 0, 0);
  ------------------
  |  |  118|  11.5k|#define AF_CONN 123
  ------------------
  279|  11.5k|	FUZZER_ASSERT(socket_client != NULL);
  ------------------
  |  |   87|  11.5k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 11.5k]
  |  |  ------------------
  ------------------
  280|       |
  281|  11.5k|	usrsctp_set_non_blocking(socket_client, 1);
  282|       |
  283|       |	// all max!
  284|  11.5k|	memset(&initmsg, 1, sizeof(struct sctp_initmsg));
  285|  11.5k|	result = usrsctp_setsockopt(socket_client, IPPROTO_SCTP, SCTP_INITMSG, &initmsg, sizeof(struct sctp_initmsg));
  ------------------
  |  |  524|  11.5k|#define SCTP_INITMSG                    0x00000003
  ------------------
  286|  11.5k|	FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|  11.5k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 11.5k]
  |  |  ------------------
  ------------------
  287|       |
  288|  11.5k|	so_linger.l_onoff = 1;
  289|  11.5k|	so_linger.l_linger = 0;
  290|  11.5k|	result = usrsctp_setsockopt(socket_client, SOL_SOCKET, SO_LINGER, &so_linger, sizeof(struct linger));
  291|  11.5k|	FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|  11.5k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 11.5k]
  |  |  ------------------
  ------------------
  292|       |
  293|  11.5k|	memset(&event, 0, sizeof(event));
  294|  11.5k|	event.se_on = 1;
  295|   161k|	for (i = 0; i < (sizeof(event_types) / sizeof(uint16_t)); i++) {
  ------------------
  |  Branch (295:14): [True: 150k, False: 11.5k]
  ------------------
  296|   150k|		event.se_type = event_types[i];
  297|   150k|		result = usrsctp_setsockopt(socket_client, IPPROTO_SCTP, SCTP_EVENT, &event, sizeof(event));
  ------------------
  |  |  549|   150k|#define SCTP_EVENT                      0x0000001e
  ------------------
  298|   150k|		FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|   150k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 150k]
  |  |  ------------------
  ------------------
  299|   150k|	}
  300|       |
  301|  11.5k|	optval = 1;
  302|  11.5k|	result = usrsctp_setsockopt(socket_client, IPPROTO_SCTP, SCTP_RECVRCVINFO, &optval, sizeof(optval));
  ------------------
  |  |  550|  11.5k|#define SCTP_RECVRCVINFO                0x0000001f
  ------------------
  303|  11.5k|	FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|  11.5k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 11.5k]
  |  |  ------------------
  ------------------
  304|       |
  305|  11.5k|	optval = 1;
  306|  11.5k|	result = usrsctp_setsockopt(socket_client, IPPROTO_SCTP, SCTP_RECVNXTINFO, &optval, sizeof(optval));
  ------------------
  |  |  551|  11.5k|#define SCTP_RECVNXTINFO                0x00000020
  ------------------
  307|  11.5k|	FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|  11.5k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 11.5k]
  |  |  ------------------
  ------------------
  308|       |
  309|  11.5k|#if defined(FUZZ_STREAM_RESET)
  310|  11.5k|	assoc_val.assoc_id = SCTP_ALL_ASSOC;
  ------------------
  |  |  147|  11.5k|#define SCTP_ALL_ASSOC     2
  ------------------
  311|  11.5k|	assoc_val.assoc_value = SCTP_ENABLE_RESET_STREAM_REQ | SCTP_ENABLE_RESET_ASSOC_REQ | SCTP_ENABLE_CHANGE_ASSOC_REQ;
  ------------------
  |  |  657|  11.5k|#define SCTP_ENABLE_RESET_STREAM_REQ  0x00000001
  ------------------
              	assoc_val.assoc_value = SCTP_ENABLE_RESET_STREAM_REQ | SCTP_ENABLE_RESET_ASSOC_REQ | SCTP_ENABLE_CHANGE_ASSOC_REQ;
  ------------------
  |  |  658|  11.5k|#define SCTP_ENABLE_RESET_ASSOC_REQ   0x00000002
  ------------------
              	assoc_val.assoc_value = SCTP_ENABLE_RESET_STREAM_REQ | SCTP_ENABLE_RESET_ASSOC_REQ | SCTP_ENABLE_CHANGE_ASSOC_REQ;
  ------------------
  |  |  659|  11.5k|#define SCTP_ENABLE_CHANGE_ASSOC_REQ  0x00000004
  ------------------
  312|  11.5k|	result = usrsctp_setsockopt(socket_client, IPPROTO_SCTP, SCTP_ENABLE_STREAM_RESET, &assoc_val, sizeof(struct sctp_assoc_value));
  ------------------
  |  |  565|  11.5k|#define SCTP_ENABLE_STREAM_RESET        0x00000900 /* struct sctp_assoc_value */
  ------------------
  313|  11.5k|	FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|  11.5k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 11.5k]
  |  |  ------------------
  ------------------
  314|  11.5k|#endif // defined(FUZZ_STREAM_RESET)
  315|       |
  316|  11.5k|#if defined(FUZZ_INTERLEAVING)
  317|  11.5k|#if !defined(SCTP_INTERLEAVING_SUPPORTED)
  318|  11.5k|#define SCTP_INTERLEAVING_SUPPORTED 0x00001206
  319|  11.5k|#endif // !defined(SCTP_INTERLEAVING_SUPPORTED)
  320|       |
  321|  11.5k|	if (data[0] & FUZZ_B_I_DATA_SUPPORT) {
  ------------------
  |  |   50|  11.5k|#define FUZZ_B_I_DATA_SUPPORT         (1 << 5)
  ------------------
  |  Branch (321:6): [True: 6.25k, False: 5.30k]
  ------------------
  322|  6.25k|		optval = 2;
  323|  6.25k|		result = usrsctp_setsockopt(socket_client, IPPROTO_SCTP, SCTP_FRAGMENT_INTERLEAVE, &optval, sizeof(optval));
  ------------------
  |  |  536|  6.25k|#define SCTP_FRAGMENT_INTERLEAVE        0x00000010
  ------------------
  324|  6.25k|		FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|  6.25k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 6.25k]
  |  |  ------------------
  ------------------
  325|       |
  326|  6.25k|		memset(&assoc_val, 0, sizeof(assoc_val));
  327|  6.25k|		assoc_val.assoc_value = 1;
  328|  6.25k|		result = usrsctp_setsockopt(socket_client, IPPROTO_SCTP, SCTP_INTERLEAVING_SUPPORTED, &assoc_val, sizeof(assoc_val));
  ------------------
  |  |  318|  6.25k|#define SCTP_INTERLEAVING_SUPPORTED 0x00001206
  ------------------
  329|  6.25k|		FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|  6.25k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 6.25k]
  |  |  ------------------
  ------------------
  330|  6.25k|	}
  331|  11.5k|#endif // defined(FUZZ_INTERLEAVING)
  332|       |
  333|  11.5k|	optval = 1;
  334|  11.5k|	result = usrsctp_setsockopt(socket_client, IPPROTO_SCTP, SCTP_REUSE_PORT, &optval, sizeof(optval));
  ------------------
  |  |  547|  11.5k|#define SCTP_REUSE_PORT                 0x0000001c
  ------------------
  335|  11.5k|	FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|  11.5k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 11.5k]
  |  |  ------------------
  ------------------
  336|       |
  337|  11.5k|	memset(&sconn, 0, sizeof(struct sockaddr_conn));
  338|  11.5k|	sconn.sconn_family = AF_CONN;
  ------------------
  |  |  118|  11.5k|#define AF_CONN 123
  ------------------
  339|       |#ifdef HAVE_SCONN_LEN
  340|       |	sconn.sconn_len = sizeof(struct sockaddr_conn);
  341|       |#endif // HAVE_SCONN_LEN
  342|  11.5k|	sconn.sconn_port = htons(5000);
  343|  11.5k|	sconn.sconn_addr = (void *)1;
  344|       |
  345|  11.5k|	result = usrsctp_bind(socket_client, (struct sockaddr *)&sconn, sizeof(struct sockaddr_conn));
  346|  11.5k|	FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|  11.5k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 11.5k]
  |  |  ------------------
  ------------------
  347|       |
  348|       |	// Disable Nagle.
  349|  11.5k|	optval = 1;
  350|  11.5k|	result = usrsctp_setsockopt(socket_client, IPPROTO_SCTP, SCTP_NODELAY, &optval, sizeof(optval));
  ------------------
  |  |  525|  11.5k|#define SCTP_NODELAY                    0x00000004
  ------------------
  351|  11.5k|	FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|  11.5k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 11.5k]
  |  |  ------------------
  ------------------
  352|       |
  353|  11.5k|	usrsctp_set_upcall(socket_client, handle_upcall, NULL);
  354|       |
  355|  11.5k|	memset(&sconn, 0, sizeof(struct sockaddr_conn));
  356|  11.5k|	sconn.sconn_family = AF_CONN;
  ------------------
  |  |  118|  11.5k|#define AF_CONN 123
  ------------------
  357|       |#ifdef HAVE_SCONN_LEN
  358|       |	sconn.sconn_len = sizeof(struct sockaddr_conn);
  359|       |#endif // HAVE_SCONN_LEN
  360|  11.5k|	sconn.sconn_port = htons(5001);
  361|  11.5k|	sconn.sconn_addr = (void *)1;
  362|       |
  363|  11.5k|	fuzzer_printf("Calling usrsctp_connect()\n");
  364|  11.5k|	result = usrsctp_connect(socket_client, (struct sockaddr *)&sconn, sizeof(struct sockaddr_conn));
  365|  11.5k|	FUZZER_ASSERT(result == 0 || errno == EINPROGRESS);
  ------------------
  |  |   87|  23.1k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:32): [True: 0, False: 11.5k]
  |  |  |  Branch (87:32): [True: 11.5k, False: 0]
  |  |  ------------------
  ------------------
  366|       |
  367|  11.5k|	if (data[0] & FUZZ_B_INJECT_INIT_ACK) {
  ------------------
  |  |   45|  11.5k|#define FUZZ_B_INJECT_INIT_ACK        (1 << 0)
  ------------------
  |  Branch (367:6): [True: 8.39k, False: 3.16k]
  ------------------
  368|  8.39k|		fuzzer_printf("Injecting INIT-ACK\n");
  369|       |
  370|  8.39k|		common_header = (struct sctp_common_header*) fuzz_init_ack;
  371|  8.39k|		common_header->verification_tag = assoc_vtag;
  372|       |
  373|  8.39k|		dump_packet(fuzz_init_ack, 448, SCTP_DUMP_INBOUND);
  ------------------
  |  | 1057|  8.39k|#define SCTP_DUMP_INBOUND  0
  ------------------
  374|  8.39k|		usrsctp_conninput((void *)1, fuzz_init_ack, 448, 0);
  375|  8.39k|	}
  376|       |
  377|  11.5k|	if (data[0] & FUZZ_B_INJECT_COOKIE_ACK) {
  ------------------
  |  |   46|  11.5k|#define FUZZ_B_INJECT_COOKIE_ACK      (1 << 1)
  ------------------
  |  Branch (377:6): [True: 5.74k, False: 5.81k]
  ------------------
  378|  5.74k|		fuzzer_printf("Injecting COOKIE-ACK\n");
  379|       |
  380|  5.74k|		common_header = (struct sctp_common_header*) fuzz_cookie_ack;
  381|  5.74k|		common_header->verification_tag = assoc_vtag;
  382|       |
  383|  5.74k|		dump_packet(fuzz_cookie_ack, 16, SCTP_DUMP_INBOUND);
  ------------------
  |  | 1057|  5.74k|#define SCTP_DUMP_INBOUND  0
  ------------------
  384|  5.74k|		usrsctp_conninput((void *)1, fuzz_cookie_ack, 16, 0);
  385|  5.74k|	}
  386|       |
  387|  11.5k|	if (data[0] & FUZZ_B_INJECT_INIT_ACK &&
  ------------------
  |  |   45|  23.1k|#define FUZZ_B_INJECT_INIT_ACK        (1 << 0)
  ------------------
  |  Branch (387:6): [True: 8.39k, False: 3.16k]
  ------------------
  388|  11.5k|		data[0] & FUZZ_B_INJECT_COOKIE_ACK &&
  ------------------
  |  |   46|  19.9k|#define FUZZ_B_INJECT_COOKIE_ACK      (1 << 1)
  ------------------
  |  Branch (388:3): [True: 4.17k, False: 4.21k]
  ------------------
  389|  11.5k|		data[0] & FUZZ_B_SEND_DATA) {
  ------------------
  |  |   47|  4.17k|#define FUZZ_B_SEND_DATA              (1 << 2)
  ------------------
  |  Branch (389:3): [True: 2.55k, False: 1.62k]
  ------------------
  390|  2.55k|		const char *sendbuffer = "Geologie ist keine richtige Wissenschaft!";
  391|  2.55k|		fuzzer_printf("Calling usrsctp_sendv()\n");
  392|  2.55k|		usrsctp_sendv(socket_client, sendbuffer, strlen(sendbuffer), NULL, 0, NULL, 0, SCTP_SENDV_NOINFO, 0);
  ------------------
  |  |  193|  2.55k|#define SCTP_SENDV_NOINFO   0
  ------------------
  393|  2.55k|	}
  394|       |
  395|       |	// Required: INIT-ACK and COOKIE-ACK
  396|  11.5k|	if (data[0] & FUZZ_B_INJECT_INIT_ACK &&
  ------------------
  |  |   45|  23.1k|#define FUZZ_B_INJECT_INIT_ACK        (1 << 0)
  ------------------
  |  Branch (396:6): [True: 8.39k, False: 3.16k]
  ------------------
  397|  11.5k|		data[0] & FUZZ_B_INJECT_COOKIE_ACK &&
  ------------------
  |  |   46|  19.9k|#define FUZZ_B_INJECT_COOKIE_ACK      (1 << 1)
  ------------------
  |  Branch (397:3): [True: 4.17k, False: 4.21k]
  ------------------
  398|  11.5k|		data[0] & FUZZ_B_SEND_STREAM_RESET) {
  ------------------
  |  |   48|  4.17k|#define FUZZ_B_SEND_STREAM_RESET      (1 << 3)
  ------------------
  |  Branch (398:3): [True: 2.63k, False: 1.53k]
  ------------------
  399|  2.63k|		fuzzer_printf("Sending Stream Reset for all streams\n");
  400|       |
  401|  2.63k|		struct sctp_reset_streams srs;
  402|  2.63k|		memset(&srs, 0, sizeof(struct sctp_reset_streams));
  403|  2.63k|		srs.srs_flags = SCTP_STREAM_RESET_INCOMING | SCTP_STREAM_RESET_OUTGOING;
  ------------------
  |  |  393|  2.63k|#define SCTP_STREAM_RESET_INCOMING      0x00000001
  ------------------
              		srs.srs_flags = SCTP_STREAM_RESET_INCOMING | SCTP_STREAM_RESET_OUTGOING;
  ------------------
  |  |  394|  2.63k|#define SCTP_STREAM_RESET_OUTGOING      0x00000002
  ------------------
  404|  2.63k|		result = usrsctp_setsockopt(socket_client, IPPROTO_SCTP, SCTP_RESET_STREAMS, &srs, sizeof(struct sctp_reset_streams));
  ------------------
  |  |  593|  2.63k|#define SCTP_RESET_STREAMS              0x00000901 /* struct sctp_reset_streams */
  ------------------
  405|  2.63k|		FUZZER_ASSERT(result == 0);
  ------------------
  |  |   87|  2.63k|#define FUZZER_ASSERT(x) if (!(x)) { printf("USRSCTP assertion failed: function %s, file %s, line %d.\n", __PRETTY_FUNCTION__, __FILE__, __LINE__); abort(); }
  |  |  ------------------
  |  |  |  Branch (87:30): [True: 0, False: 2.63k]
  |  |  ------------------
  ------------------
  406|  2.63k|	}
  407|       |
  408|       |	// Required: INIT-ACK and COOKIE-ACK
  409|  11.5k|	if (data[0] & FUZZ_B_INJECT_INIT_ACK &&
  ------------------
  |  |   45|  23.1k|#define FUZZ_B_INJECT_INIT_ACK        (1 << 0)
  ------------------
  |  Branch (409:6): [True: 8.39k, False: 3.16k]
  ------------------
  410|  11.5k|		data[0] & FUZZ_B_INJECT_COOKIE_ACK &&
  ------------------
  |  |   46|  19.9k|#define FUZZ_B_INJECT_COOKIE_ACK      (1 << 1)
  ------------------
  |  Branch (410:3): [True: 4.17k, False: 4.21k]
  ------------------
  411|  11.5k|		data[0] & FUZZ_B_INJECT_DATA) {
  ------------------
  |  |   49|  4.17k|#define FUZZ_B_INJECT_DATA            (1 << 4)
  ------------------
  |  Branch (411:3): [True: 2.43k, False: 1.73k]
  ------------------
  412|       |
  413|  2.43k|		if (data[0] & FUZZ_B_I_DATA_SUPPORT) {
  ------------------
  |  |   50|  2.43k|#define FUZZ_B_I_DATA_SUPPORT         (1 << 5)
  ------------------
  |  Branch (413:7): [True: 1.32k, False: 1.11k]
  ------------------
  414|  1.32k|			fuzzer_printf("Injecting I-DATA\n");
  415|  1.32k|			common_header = (struct sctp_common_header*) fuzz_i_data;
  416|  1.32k|			common_header->verification_tag = assoc_vtag;
  417|  1.32k|			dump_packet(fuzz_i_data, 232, SCTP_DUMP_INBOUND);
  ------------------
  |  | 1057|  1.32k|#define SCTP_DUMP_INBOUND  0
  ------------------
  418|  1.32k|			usrsctp_conninput((void *)1, fuzz_i_data, 232, 0);
  419|  1.32k|		} else {
  420|  1.11k|			fuzzer_printf("Injecting DATA\n");
  421|  1.11k|			common_header = (struct sctp_common_header*) fuzz_data;
  422|  1.11k|			common_header->verification_tag = assoc_vtag;
  423|  1.11k|			dump_packet(fuzz_data, 228, SCTP_DUMP_INBOUND);
  ------------------
  |  | 1057|  1.11k|#define SCTP_DUMP_INBOUND  0
  ------------------
  424|  1.11k|			usrsctp_conninput((void *)1, fuzz_data, 228, 0);
  425|  1.11k|		}
  426|  2.43k|	}
  427|       |
  428|  11.5k|	if (data[0] & FUZZ_B_I_DATA_SUPPORT &&
  ------------------
  |  |   50|  23.1k|#define FUZZ_B_I_DATA_SUPPORT         (1 << 5)
  ------------------
  |  Branch (428:6): [True: 6.25k, False: 5.30k]
  ------------------
  429|  11.5k|		data[0] & FUZZ_B_SEND_DATA_FORCE) {
  ------------------
  |  |   51|  6.25k|#define FUZZ_B_SEND_DATA_FORCE        (1 << 6)
  ------------------
  |  Branch (429:3): [True: 4.53k, False: 1.71k]
  ------------------
  430|  4.53k|			const char *sendbuffer = "Geologie ist keine richtige Wissenschaft!";
  431|  4.53k|			fuzzer_printf("Calling usrsctp_sendv()\n");
  432|  4.53k|			usrsctp_sendv(socket_client, sendbuffer, strlen(sendbuffer), NULL, 0, NULL, 0, SCTP_SENDV_NOINFO, 0);
  ------------------
  |  |  193|  4.53k|#define SCTP_SENDV_NOINFO   0
  ------------------
  433|  4.53k|		}
  434|       |	
  435|       |
  436|  11.5k|	fuzz_packet_buffer = malloc(data_size - 1 + COMMON_HEADER_SIZE);
  ------------------
  |  |   55|  11.5k|#define COMMON_HEADER_SIZE 12
  ------------------
  437|  11.5k|	memcpy(fuzz_packet_buffer, fuzz_common_header, COMMON_HEADER_SIZE); // common header
  ------------------
  |  |   55|  11.5k|#define COMMON_HEADER_SIZE 12
  ------------------
  438|  11.5k|	memcpy(fuzz_packet_buffer + COMMON_HEADER_SIZE, data + 1, data_size - 1);
  ------------------
  |  |   55|  11.5k|#define COMMON_HEADER_SIZE 12
  ------------------
  439|       |
  440|  11.5k|	common_header = (struct sctp_common_header*) fuzz_packet_buffer;
  441|  11.5k|	common_header->verification_tag = assoc_vtag;
  442|       |
  443|  11.5k|	fuzzer_printf("Injecting FUZZER-Packet\n");
  444|  11.5k|	dump_packet(fuzz_packet_buffer, data_size - 1 + COMMON_HEADER_SIZE, SCTP_DUMP_INBOUND);
  ------------------
  |  |   55|  11.5k|#define COMMON_HEADER_SIZE 12
  ------------------
              	dump_packet(fuzz_packet_buffer, data_size - 1 + COMMON_HEADER_SIZE, SCTP_DUMP_INBOUND);
  ------------------
  |  | 1057|  11.5k|#define SCTP_DUMP_INBOUND  0
  ------------------
  445|  11.5k|	usrsctp_conninput((void *)1, fuzz_packet_buffer, data_size - 1 + COMMON_HEADER_SIZE, 0);
  ------------------
  |  |   55|  11.5k|#define COMMON_HEADER_SIZE 12
  ------------------
  446|       |
  447|  11.5k|	free(fuzz_packet_buffer);
  448|       |
  449|  11.5k|	fuzzer_printf("Calling usrsctp_close()\n");
  450|  11.5k|	usrsctp_close(socket_client);
  451|       |
  452|       |#ifdef FUZZ_ALWAYS_INITIALIZE
  453|       |	fuzzer_printf("Calling usrsctp_finish()\n");
  454|       |	while (usrsctp_finish() != 0) {}
  455|       |	fuzzer_printf("Done!\n");
  456|       |#endif
  457|       |
  458|  11.5k|	return (0);
  459|  11.5k|}
fuzzer_connect.c:conn_output:
   80|  55.0k|{
   81|  55.0k|	struct sctp_init_chunk *init_chunk;
   82|  55.0k|	const char *init_chunk_first_bytes = "\x13\x88\x13\x89\x00\x00\x00\x00\x00\x00\x00\x00\x01";
   83|       |	// Looking for the outgoing VTAG.
   84|       |	// length >= (COMMON_HEADER_SIZE + 16 (min size of INIT))
   85|       |	// If the common header has no VTAG (all zero), we're assuming it carries an INIT
   86|  55.0k|	if ((length >= (COMMON_HEADER_SIZE + 16)) && (memcmp(buf, init_chunk_first_bytes, COMMON_HEADER_SIZE) == 0)) {
  ------------------
  |  |   55|  55.0k|#define COMMON_HEADER_SIZE 12
  ------------------
              	if ((length >= (COMMON_HEADER_SIZE + 16)) && (memcmp(buf, init_chunk_first_bytes, COMMON_HEADER_SIZE) == 0)) {
  ------------------
  |  |   55|  46.2k|#define COMMON_HEADER_SIZE 12
  ------------------
  |  Branch (86:6): [True: 46.2k, False: 8.80k]
  |  Branch (86:47): [True: 20.0k, False: 26.1k]
  ------------------
   87|  20.0k|		init_chunk = (struct sctp_init_chunk*) ((char *)buf + sizeof(struct sctp_common_header));
   88|  20.0k|		fuzzer_printf("Found outgoing INIT, extracting VTAG : %u\n", init_chunk->initiate_tag);
   89|  20.0k|		assoc_vtag = init_chunk->initiate_tag;
   90|  20.0k|	}
   91|       |
   92|  55.0k|	dump_packet(buf, length, SCTP_DUMP_OUTBOUND);
  ------------------
  |  | 1056|  55.0k|#define SCTP_DUMP_OUTBOUND 1
  ------------------
   93|  55.0k|	return (0);
   94|  55.0k|}
fuzzer_connect.c:handle_upcall:
   99|  14.8k|{
  100|  14.8k|	fuzzer_printf("handle_upcall()\n");
  101|  14.8k|	int events = usrsctp_get_events(sock);
  102|       |
  103|   489k|	while (events & SCTP_EVENT_READ) {
  ------------------
  |  |  149|   489k|#define SCTP_EVENT_READ    0x0001
  ------------------
  |  Branch (103:9): [True: 476k, False: 13.1k]
  ------------------
  104|   476k|		struct sctp_recvv_rn rn;
  105|   476k|		ssize_t n;
  106|   476k|		struct sockaddr_in addr;
  107|   476k|		char *buf = calloc(1, BUFFER_SIZE);
  ------------------
  |  |   54|   476k|#define BUFFER_SIZE 4096
  ------------------
  108|   476k|		int flags = 0;
  109|   476k|		socklen_t len = (socklen_t)sizeof(struct sockaddr_in);
  110|   476k|		unsigned int infotype = 0;
  111|   476k|		socklen_t infolen = sizeof(struct sctp_recvv_rn);
  112|   476k|		memset(&rn, 0, sizeof(struct sctp_recvv_rn));
  113|   476k|		n = usrsctp_recvv(sock, buf, BUFFER_SIZE, (struct sockaddr *) &addr, &len, (void *)&rn, &infolen, &infotype, &flags);
  ------------------
  |  |   54|   476k|#define BUFFER_SIZE 4096
  ------------------
  114|   476k|		fuzzer_printf("usrsctp_recvv() - returned %zd\n", n);
  115|       |
  116|   476k|		if (flags & MSG_NOTIFICATION) {
  ------------------
  |  |   53|   476k|#define MSG_NOTIFICATION 0x2000
  ------------------
  |  Branch (116:7): [True: 473k, False: 2.87k]
  ------------------
  117|   473k|			fuzzer_printf("NOTIFICATION received\n");
  118|       |#ifdef FUZZ_VERBOSE
  119|       |			handle_notification((union sctp_notification *)buf, n);
  120|       |#endif // FUZZ_VERBOSE
  121|   473k|		} else {
  122|  2.87k|			fuzzer_printf("DATA received\n");
  123|  2.87k|		}
  124|       |
  125|   476k|		free(buf);
  126|       |
  127|   476k|		if (n <= 0) {
  ------------------
  |  Branch (127:7): [True: 1.70k, False: 474k]
  ------------------
  128|  1.70k|			break;
  129|  1.70k|		}
  130|       |
  131|   474k|		events = usrsctp_get_events(sock);
  132|   474k|	}
  133|  14.8k|}
fuzzer_connect.c:dump_packet:
   67|  83.1k|{
   68|       |#ifdef FUZZ_VERBOSE
   69|       |	static char *dump_buf;
   70|       |	if ((dump_buf = usrsctp_dumppacket(buffer, bufferlen, inout)) != NULL) {
   71|       |		fprintf(stderr, "%s", dump_buf);
   72|       |		usrsctp_freedumpbuffer(dump_buf);
   73|       |	}
   74|       |#endif // FUZZ_VERBOSE
   75|  83.1k|}

sctp_handle_asconf:
  619|  4.54k|{
  620|  4.54k|	struct sctp_association *asoc;
  621|  4.54k|	uint32_t serial_num;
  622|  4.54k|	struct mbuf *n, *m_ack, *m_result, *m_tail;
  623|  4.54k|	struct sctp_asconf_ack_chunk *ack_cp;
  624|  4.54k|	struct sctp_asconf_paramhdr *aph;
  625|  4.54k|	struct sctp_ipv6addr_param *p_addr;
  626|  4.54k|	unsigned int asconf_limit, cnt;
  627|  4.54k|	int error = 0;		/* did an error occur? */
  628|       |
  629|       |	/* asconf param buffer */
  630|  4.54k|	uint8_t aparam_buf[SCTP_PARAM_BUFFER_SIZE];
  631|  4.54k|	struct sctp_asconf_ack *ack, *ack_next;
  632|       |
  633|       |	/* verify minimum length */
  634|  4.54k|	if (ntohs(cp->ch.chunk_length) < sizeof(struct sctp_asconf_chunk)) {
  ------------------
  |  Branch (634:6): [True: 346, False: 4.20k]
  ------------------
  635|    346|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  636|    346|			"handle_asconf: chunk too small = %xh\n",
  637|    346|			ntohs(cp->ch.chunk_length));
  638|    346|		return;
  639|    346|	}
  640|  4.20k|	asoc = &stcb->asoc;
  641|  4.20k|	serial_num = ntohl(cp->serial_number);
  642|       |
  643|  4.20k|	if (SCTP_TSN_GE(asoc->asconf_seq_in, serial_num)) {
  ------------------
  |  |  890|  4.20k|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|  4.20k|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|  8.40k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 3.09k, False: 1.10k]
  |  |  |  |  |  |  |  Branch (883:43): [True: 356, False: 2.74k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|  8.40k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 695, False: 3.15k]
  |  |  |  |  |  |  |  Branch (884:43): [True: 337, False: 358]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 408, False: 3.10k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  644|       |		/* got a duplicate ASCONF */
  645|  1.10k|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  646|  1.10k|			"handle_asconf: got duplicate serial number = %xh\n",
  647|  1.10k|			serial_num);
  648|  1.10k|		return;
  649|  3.10k|	} else if (serial_num != (asoc->asconf_seq_in + 1)) {
  ------------------
  |  Branch (649:13): [True: 833, False: 2.26k]
  ------------------
  650|    833|		SCTPDBG(SCTP_DEBUG_ASCONF1, "handle_asconf: incorrect serial number = %xh (expected next = %xh)\n",
  651|    833|			serial_num, asoc->asconf_seq_in + 1);
  652|    833|		return;
  653|    833|	}
  654|       |
  655|       |	/* it's the expected "next" sequence number, so process it */
  656|  2.26k|	asoc->asconf_seq_in = serial_num;	/* update sequence */
  657|       |	/* get length of all the param's in the ASCONF */
  658|  2.26k|	asconf_limit = offset + ntohs(cp->ch.chunk_length);
  659|  2.26k|	SCTPDBG(SCTP_DEBUG_ASCONF1,
  660|  2.26k|		"handle_asconf: asconf_limit=%u, sequence=%xh\n",
  661|  2.26k|		asconf_limit, serial_num);
  662|       |
  663|  2.26k|	if (first) {
  ------------------
  |  Branch (663:6): [True: 2.03k, False: 236]
  ------------------
  664|       |		/* delete old cache */
  665|  2.03k|		SCTPDBG(SCTP_DEBUG_ASCONF1,"handle_asconf: Now processing first ASCONF. Try to delete old cache\n");
  666|       |
  667|  2.03k|		TAILQ_FOREACH_SAFE(ack, &asoc->asconf_ack_sent, next, ack_next) {
  ------------------
  |  | 1123|  2.03k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  2.03k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 2.03k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  2.03k|              (var) = (tvar))
  ------------------
  668|      0|			if (ack->serial_number == serial_num)
  ------------------
  |  Branch (668:8): [True: 0, False: 0]
  ------------------
  669|      0|				break;
  670|      0|			SCTPDBG(SCTP_DEBUG_ASCONF1,"handle_asconf: delete old(%u) < first(%u)\n",
  671|      0|			    ack->serial_number, serial_num);
  672|      0|			TAILQ_REMOVE(&asoc->asconf_ack_sent, ack, next);
  673|      0|			if (ack->data != NULL) {
  ------------------
  |  Branch (673:8): [True: 0, False: 0]
  ------------------
  674|      0|				sctp_m_freem(ack->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
  675|      0|			}
  676|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_asconf_ack), ack);
  ------------------
  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|      0|	free(element);  \
  |  |  703|      0|}
  ------------------
  677|      0|		}
  678|  2.03k|	}
  679|       |
  680|  2.26k|	m_ack = sctp_get_mbuf_for_msg(sizeof(struct sctp_asconf_ack_chunk), 0,
  681|  2.26k|				      M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  2.26k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              				      M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  2.26k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
  682|  2.26k|	if (m_ack == NULL) {
  ------------------
  |  Branch (682:6): [True: 0, False: 2.26k]
  ------------------
  683|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  684|      0|			"handle_asconf: couldn't get mbuf!\n");
  685|      0|		return;
  686|      0|	}
  687|  2.26k|	m_tail = m_ack;		/* current reply chain's tail */
  688|       |
  689|       |	/* fill in ASCONF-ACK header */
  690|  2.26k|	ack_cp = mtod(m_ack, struct sctp_asconf_ack_chunk *);
  ------------------
  |  |   96|  2.26k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  2.26k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
  691|  2.26k|	ack_cp->ch.chunk_type = SCTP_ASCONF_ACK;
  ------------------
  |  |  480|  2.26k|#define	SCTP_ASCONF_ACK		0x80
  ------------------
  692|  2.26k|	ack_cp->ch.chunk_flags = 0;
  693|  2.26k|	ack_cp->serial_number = htonl(serial_num);
  694|       |	/* set initial lengths (eg. just an ASCONF-ACK), ntohx at the end! */
  695|  2.26k|	SCTP_BUF_LEN(m_ack) = sizeof(struct sctp_asconf_ack_chunk);
  ------------------
  |  |  795|  2.26k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.26k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  696|  2.26k|	ack_cp->ch.chunk_length = sizeof(struct sctp_asconf_ack_chunk);
  697|       |
  698|       |	/* skip the lookup address parameter */
  699|  2.26k|	offset += sizeof(struct sctp_asconf_chunk);
  700|  2.26k|	p_addr = (struct sctp_ipv6addr_param *)sctp_m_getptr(m, offset, sizeof(struct sctp_paramhdr), (uint8_t *)&aparam_buf);
  701|  2.26k|	if (p_addr == NULL) {
  ------------------
  |  Branch (701:6): [True: 9, False: 2.25k]
  ------------------
  702|      9|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  703|      9|			"handle_asconf: couldn't get lookup addr!\n");
  704|       |		/* respond with a missing/invalid mandatory parameter error */
  705|      9|		sctp_m_freem(m_ack);
  ------------------
  |  |   52|      9|#define sctp_m_freem m_freem
  ------------------
  706|      9|		return;
  707|      9|	}
  708|       |	/* skip lookup addr */
  709|  2.25k|	offset += SCTP_SIZE32(ntohs(p_addr->ph.param_length));
  ------------------
  |  |  383|  2.25k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  710|       |	/* get pointer to first asconf param in ASCONF */
  711|  2.25k|	aph = (struct sctp_asconf_paramhdr *)sctp_m_getptr(m, offset, sizeof(struct sctp_asconf_paramhdr), (uint8_t *)&aparam_buf);
  712|  2.25k|	if (aph == NULL) {
  ------------------
  |  Branch (712:6): [True: 116, False: 2.14k]
  ------------------
  713|    116|		SCTPDBG(SCTP_DEBUG_ASCONF1, "Empty ASCONF received?\n");
  714|    116|		goto send_reply;
  715|    116|	}
  716|       |	/* process through all parameters */
  717|  2.14k|	cnt = 0;
  718|   130k|	while (aph != NULL) {
  ------------------
  |  Branch (718:9): [True: 130k, False: 116]
  ------------------
  719|   130k|		unsigned int param_length, param_type;
  720|       |
  721|   130k|		param_type = ntohs(aph->ph.param_type);
  722|   130k|		param_length = ntohs(aph->ph.param_length);
  723|   130k|		if (offset + param_length > asconf_limit) {
  ------------------
  |  Branch (723:7): [True: 545, False: 129k]
  ------------------
  724|       |			/* parameter goes beyond end of chunk! */
  725|    545|			sctp_m_freem(m_ack);
  ------------------
  |  |   52|    545|#define sctp_m_freem m_freem
  ------------------
  726|    545|			return;
  727|    545|		}
  728|   129k|		m_result = NULL;
  729|       |
  730|   129k|		if (param_length > sizeof(aparam_buf)) {
  ------------------
  |  Branch (730:7): [True: 9, False: 129k]
  ------------------
  731|      9|			SCTPDBG(SCTP_DEBUG_ASCONF1, "handle_asconf: param length (%u) larger than buffer size!\n", param_length);
  732|      9|			sctp_m_freem(m_ack);
  ------------------
  |  |   52|      9|#define sctp_m_freem m_freem
  ------------------
  733|      9|			return;
  734|      9|		}
  735|   129k|		if (param_length < sizeof(struct sctp_asconf_paramhdr)) {
  ------------------
  |  Branch (735:7): [True: 250, False: 129k]
  ------------------
  736|    250|			SCTPDBG(SCTP_DEBUG_ASCONF1, "handle_asconf: param length (%u) too short\n", param_length);
  737|    250|			sctp_m_freem(m_ack);
  ------------------
  |  |   52|    250|#define sctp_m_freem m_freem
  ------------------
  738|    250|			return;
  739|    250|		}
  740|       |		/* get the entire parameter */
  741|   129k|		aph = (struct sctp_asconf_paramhdr *)sctp_m_getptr(m, offset, param_length, aparam_buf);
  742|   129k|		if (aph == NULL) {
  ------------------
  |  Branch (742:7): [True: 0, False: 129k]
  ------------------
  743|      0|			SCTPDBG(SCTP_DEBUG_ASCONF1, "handle_asconf: couldn't get entire param\n");
  744|      0|			sctp_m_freem(m_ack);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
  745|      0|			return;
  746|      0|		}
  747|   129k|		switch (param_type) {
  748|  83.2k|		case SCTP_ADD_IP_ADDRESS:
  ------------------
  |  |  430|  83.2k|#define SCTP_ADD_IP_ADDRESS		0xc001
  ------------------
  |  Branch (748:3): [True: 83.2k, False: 46.2k]
  ------------------
  749|  83.2k|			m_result = sctp_process_asconf_add_ip(src, aph, stcb,
  750|  83.2k|			    (cnt < SCTP_BASE_SYSCTL(sctp_hb_maxburst)), error);
  ------------------
  |  |  584|  83.2k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  751|  83.2k|			cnt++;
  752|  83.2k|			break;
  753|  24.9k|		case SCTP_DEL_IP_ADDRESS:
  ------------------
  |  |  431|  24.9k|#define SCTP_DEL_IP_ADDRESS		0xc002
  ------------------
  |  Branch (753:3): [True: 24.9k, False: 104k]
  ------------------
  754|  24.9k|			m_result = sctp_process_asconf_delete_ip(src, aph, stcb,
  755|  24.9k|			    error);
  756|  24.9k|			break;
  757|  1.53k|		case SCTP_ERROR_CAUSE_IND:
  ------------------
  |  |  432|  1.53k|#define SCTP_ERROR_CAUSE_IND		0xc003
  ------------------
  |  Branch (757:3): [True: 1.53k, False: 128k]
  ------------------
  758|       |			/* not valid in an ASCONF chunk */
  759|  1.53k|			break;
  760|  9.81k|		case SCTP_SET_PRIM_ADDR:
  ------------------
  |  |  433|  9.81k|#define SCTP_SET_PRIM_ADDR		0xc004
  ------------------
  |  Branch (760:3): [True: 9.81k, False: 119k]
  ------------------
  761|  9.81k|			m_result = sctp_process_asconf_set_primary(src, aph,
  762|  9.81k|			    stcb, error);
  763|  9.81k|			break;
  764|    159|		case SCTP_NAT_VTAGS:
  ------------------
  |  |  438|    159|#define SCTP_NAT_VTAGS			0xc008
  ------------------
  |  Branch (764:3): [True: 159, False: 129k]
  ------------------
  765|    159|		        SCTPDBG(SCTP_DEBUG_ASCONF1, "handle_asconf: sees a NAT VTAG state parameter\n");
  766|    159|		        break;
  767|    940|		case SCTP_SUCCESS_REPORT:
  ------------------
  |  |  434|    940|#define SCTP_SUCCESS_REPORT		0xc005
  ------------------
  |  Branch (767:3): [True: 940, False: 128k]
  ------------------
  768|       |			/* not valid in an ASCONF chunk */
  769|    940|			break;
  770|    463|		case SCTP_ULP_ADAPTATION:
  ------------------
  |  |  435|    463|#define SCTP_ULP_ADAPTATION		0xc006
  ------------------
  |  Branch (770:3): [True: 463, False: 129k]
  ------------------
  771|       |			/* FIX */
  772|    463|			break;
  773|  8.46k|		default:
  ------------------
  |  Branch (773:3): [True: 8.46k, False: 121k]
  ------------------
  774|  8.46k|			if ((param_type & 0x8000) == 0) {
  ------------------
  |  Branch (774:8): [True: 136, False: 8.32k]
  ------------------
  775|       |				/* Been told to STOP at this param */
  776|    136|				asconf_limit = offset;
  777|       |				/*
  778|       |				 * FIX FIX - We need to call
  779|       |				 * sctp_arethere_unrecognized_parameters()
  780|       |				 * to get a operr and send it for any
  781|       |				 * param's with the 0x4000 bit set OR do it
  782|       |				 * here ourselves... note we still must STOP
  783|       |				 * if the 0x8000 bit is clear.
  784|       |				 */
  785|    136|			}
  786|       |			/* unknown/invalid param type */
  787|  8.46k|			break;
  788|   129k|		} /* switch */
  789|       |
  790|       |		/* add any (error) result to the reply mbuf chain */
  791|   129k|		if (m_result != NULL) {
  ------------------
  |  Branch (791:7): [True: 89.2k, False: 40.2k]
  ------------------
  792|  89.2k|			SCTP_BUF_NEXT(m_tail) = m_result;
  ------------------
  |  |  796|  89.2k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  89.2k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  793|  89.2k|			m_tail = m_result;
  794|  89.2k|			ack_cp->ch.chunk_length += SCTP_BUF_LEN(m_result);
  ------------------
  |  |  795|  89.2k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  89.2k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  795|       |			/* set flag to force success reports */
  796|  89.2k|			error = 1;
  797|  89.2k|		}
  798|   129k|		offset += SCTP_SIZE32(param_length);
  ------------------
  |  |  383|   129k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  799|       |		/* update remaining ASCONF message length to process */
  800|   129k|		if (offset >= asconf_limit) {
  ------------------
  |  Branch (800:7): [True: 1.22k, False: 128k]
  ------------------
  801|       |			/* no more data in the mbuf chain */
  802|  1.22k|			break;
  803|  1.22k|		}
  804|       |		/* get pointer to next asconf param */
  805|   128k|		aph = (struct sctp_asconf_paramhdr *)sctp_m_getptr(m, offset,
  806|   128k|		    sizeof(struct sctp_asconf_paramhdr),
  807|   128k|		    (uint8_t *)&aparam_buf);
  808|   128k|		if (aph == NULL) {
  ------------------
  |  Branch (808:7): [True: 116, False: 128k]
  ------------------
  809|       |			/* can't get an asconf paramhdr */
  810|    116|			SCTPDBG(SCTP_DEBUG_ASCONF1, "handle_asconf: can't get asconf param hdr!\n");
  811|       |			/* FIX ME - add error here... */
  812|    116|		}
  813|   128k|	}
  814|       |
  815|  1.45k| send_reply:
  816|  1.45k|	ack_cp->ch.chunk_length = htons(ack_cp->ch.chunk_length);
  817|       |	/* save the ASCONF-ACK reply */
  818|  1.45k|	ack = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_asconf_ack),
  ------------------
  |  |  697|  1.45k|        (type *)malloc(zone);
  ------------------
  819|  1.45k|	    struct sctp_asconf_ack);
  820|  1.45k|	if (ack == NULL) {
  ------------------
  |  Branch (820:6): [True: 0, False: 1.45k]
  ------------------
  821|      0|		sctp_m_freem(m_ack);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
  822|      0|		return;
  823|      0|	}
  824|  1.45k|	ack->serial_number = serial_num;
  825|  1.45k|	ack->last_sent_to = NULL;
  826|  1.45k|	ack->data = m_ack;
  827|  1.45k|	ack->len = 0;
  828|  30.8k|	for (n = m_ack; n != NULL; n = SCTP_BUF_NEXT(n)) {
  ------------------
  |  |  796|  29.3k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  29.3k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (828:18): [True: 29.3k, False: 1.45k]
  ------------------
  829|  29.3k|		ack->len += SCTP_BUF_LEN(n);
  ------------------
  |  |  795|  29.3k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  29.3k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  830|  29.3k|	}
  831|  1.45k|	TAILQ_INSERT_TAIL(&stcb->asoc.asconf_ack_sent, ack, next);
  832|       |
  833|       |	/* see if last_control_chunk_from is set properly (use IP src addr) */
  834|  1.45k|	if (stcb->asoc.last_control_chunk_from == NULL) {
  ------------------
  |  Branch (834:6): [True: 0, False: 1.45k]
  ------------------
  835|       |		/*
  836|       |		 * this could happen if the source address was just newly
  837|       |		 * added
  838|       |		 */
  839|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1, "handle_asconf: looking up net for IP source address\n");
  840|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1, "Looking for IP source: ");
  841|      0|		SCTPDBG_ADDR(SCTP_DEBUG_ASCONF1, src);
  842|       |		/* look up the from address */
  843|      0|		stcb->asoc.last_control_chunk_from = sctp_findnet(stcb, src);
  844|       |#ifdef SCTP_DEBUG
  845|       |		if (stcb->asoc.last_control_chunk_from == NULL) {
  846|       |			SCTPDBG(SCTP_DEBUG_ASCONF1, "handle_asconf: IP source address not found?!\n");
  847|       |		}
  848|       |#endif
  849|      0|	}
  850|  1.45k|}
sctp_asconf_cleanup:
  948|    561|{
  949|       |	/*
  950|       |	 * clear out any existing asconfs going out
  951|       |	 */
  952|    561|	sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, stcb->sctp_ep, stcb, NULL,
  ------------------
  |  |  541|    561|#define SCTP_TIMER_TYPE_ASCONF		10
  ------------------
  953|    561|			SCTP_FROM_SCTP_ASCONF + SCTP_LOC_2);
  ------------------
  |  |  762|    561|#define SCTP_FROM_SCTP_ASCONF       0x80000000
  ------------------
              			SCTP_FROM_SCTP_ASCONF + SCTP_LOC_2);
  ------------------
  |  |  770|    561|#define SCTP_LOC_2  0x00000002
  ------------------
  954|    561|	stcb->asoc.asconf_seq_out_acked = stcb->asoc.asconf_seq_out;
  955|       |	/* remove the old ASCONF on our outbound queue */
  956|    561|	sctp_toss_old_asconf(stcb);
  957|    561|}
sctp_handle_asconf_ack:
 1694|    300|{
 1695|    300|	struct sctp_association *asoc;
 1696|    300|	uint32_t serial_num;
 1697|    300|	uint16_t ack_length;
 1698|    300|	struct sctp_asconf_paramhdr *aph;
 1699|    300|	struct sctp_asconf_addr *aa, *aa_next;
 1700|    300|	uint32_t last_error_id = 0;	/* last error correlation id */
 1701|    300|	uint32_t id;
 1702|    300|	struct sctp_asconf_addr *ap;
 1703|       |
 1704|       |	/* asconf param buffer */
 1705|    300|	uint8_t aparam_buf[SCTP_PARAM_BUFFER_SIZE];
 1706|       |
 1707|       |	/* verify minimum length */
 1708|    300|	if (ntohs(cp->ch.chunk_length) < sizeof(struct sctp_asconf_ack_chunk)) {
  ------------------
  |  Branch (1708:6): [True: 0, False: 300]
  ------------------
 1709|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1,
 1710|      0|			"handle_asconf_ack: chunk too small = %xh\n",
 1711|      0|			ntohs(cp->ch.chunk_length));
 1712|      0|		return;
 1713|      0|	}
 1714|    300|	asoc = &stcb->asoc;
 1715|    300|	serial_num = ntohl(cp->serial_number);
 1716|       |
 1717|       |	/*
 1718|       |	 * NOTE: we may want to handle this differently- currently, we will
 1719|       |	 * abort when we get an ack for the expected serial number + 1 (eg.
 1720|       |	 * we didn't send it), process an ack normally if it is the expected
 1721|       |	 * serial number, and re-send the previous ack for *ALL* other
 1722|       |	 * serial numbers
 1723|       |	 */
 1724|       |
 1725|       |	/*
 1726|       |	 * if the serial number is the next expected, but I didn't send it,
 1727|       |	 * abort the asoc, since someone probably just hijacked us...
 1728|       |	 */
 1729|    300|	if (serial_num == (asoc->asconf_seq_out + 1)) {
  ------------------
  |  Branch (1729:6): [True: 0, False: 300]
  ------------------
 1730|      0|		struct mbuf *op_err;
 1731|      0|		char msg[SCTP_DIAG_INFO_LEN];
 1732|       |
 1733|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1, "handle_asconf_ack: got unexpected next serial number! Aborting asoc!\n");
 1734|      0|		SCTP_SNPRINTF(msg, sizeof(msg), "Never sent serial number %8.8x", serial_num);
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 1735|      0|		op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|      0|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 1736|      0|		sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1737|      0|		*abort_no_unlock = 1;
 1738|      0|		return;
 1739|      0|	}
 1740|    300|	if (serial_num != asoc->asconf_seq_out_acked + 1) {
  ------------------
  |  Branch (1740:6): [True: 300, False: 0]
  ------------------
 1741|       |		/* got a duplicate/unexpected ASCONF-ACK */
 1742|    300|		SCTPDBG(SCTP_DEBUG_ASCONF1, "handle_asconf_ack: got duplicate/unexpected serial number = %xh (expected = %xh)\n",
 1743|    300|			serial_num, asoc->asconf_seq_out_acked + 1);
 1744|    300|		return;
 1745|    300|	}
 1746|       |
 1747|      0|	if (serial_num == asoc->asconf_seq_out - 1) {
  ------------------
  |  Branch (1747:6): [True: 0, False: 0]
  ------------------
 1748|       |		/* stop our timer */
 1749|      0|		sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, stcb->sctp_ep, stcb, NULL,
  ------------------
  |  |  541|      0|#define SCTP_TIMER_TYPE_ASCONF		10
  ------------------
 1750|      0|				SCTP_FROM_SCTP_ASCONF + SCTP_LOC_5);
  ------------------
  |  |  762|      0|#define SCTP_FROM_SCTP_ASCONF       0x80000000
  ------------------
              				SCTP_FROM_SCTP_ASCONF + SCTP_LOC_5);
  ------------------
  |  |  773|      0|#define SCTP_LOC_5  0x00000005
  ------------------
 1751|      0|	}
 1752|       |
 1753|       |	/* process the ASCONF-ACK contents */
 1754|      0|	ack_length = ntohs(cp->ch.chunk_length) -
 1755|      0|	    sizeof(struct sctp_asconf_ack_chunk);
 1756|      0|	offset += sizeof(struct sctp_asconf_ack_chunk);
 1757|       |	/* process through all parameters */
 1758|      0|	while (ack_length >= sizeof(struct sctp_asconf_paramhdr)) {
  ------------------
  |  Branch (1758:9): [True: 0, False: 0]
  ------------------
 1759|      0|		unsigned int param_length, param_type;
 1760|       |
 1761|       |		/* get pointer to next asconf parameter */
 1762|      0|		aph = (struct sctp_asconf_paramhdr *)sctp_m_getptr(m, offset,
 1763|      0|		    sizeof(struct sctp_asconf_paramhdr), aparam_buf);
 1764|      0|		if (aph == NULL) {
  ------------------
  |  Branch (1764:7): [True: 0, False: 0]
  ------------------
 1765|       |			/* can't get an asconf paramhdr */
 1766|      0|			sctp_asconf_ack_clear(stcb);
 1767|      0|			return;
 1768|      0|		}
 1769|      0|		param_type = ntohs(aph->ph.param_type);
 1770|      0|		param_length = ntohs(aph->ph.param_length);
 1771|      0|		if (param_length > ack_length) {
  ------------------
  |  Branch (1771:7): [True: 0, False: 0]
  ------------------
 1772|      0|			sctp_asconf_ack_clear(stcb);
 1773|      0|			return;
 1774|      0|		}
 1775|      0|		if (param_length < sizeof(struct sctp_asconf_paramhdr)) {
  ------------------
  |  Branch (1775:7): [True: 0, False: 0]
  ------------------
 1776|      0|			sctp_asconf_ack_clear(stcb);
 1777|      0|			return;
 1778|      0|		}
 1779|       |		/* get the complete parameter... */
 1780|      0|		if (param_length > sizeof(aparam_buf)) {
  ------------------
  |  Branch (1780:7): [True: 0, False: 0]
  ------------------
 1781|      0|			SCTPDBG(SCTP_DEBUG_ASCONF1,
 1782|      0|				"param length (%u) larger than buffer size!\n", param_length);
 1783|      0|			sctp_asconf_ack_clear(stcb);
 1784|      0|			return;
 1785|      0|		}
 1786|      0|		aph = (struct sctp_asconf_paramhdr *)sctp_m_getptr(m, offset, param_length, aparam_buf);
 1787|      0|		if (aph == NULL) {
  ------------------
  |  Branch (1787:7): [True: 0, False: 0]
  ------------------
 1788|      0|			sctp_asconf_ack_clear(stcb);
 1789|      0|			return;
 1790|      0|		}
 1791|       |		/* correlation_id is transparent to peer, no ntohl needed */
 1792|      0|		id = aph->correlation_id;
 1793|       |
 1794|      0|		switch (param_type) {
 1795|      0|		case SCTP_ERROR_CAUSE_IND:
  ------------------
  |  |  432|      0|#define SCTP_ERROR_CAUSE_IND		0xc003
  ------------------
  |  Branch (1795:3): [True: 0, False: 0]
  ------------------
 1796|      0|			last_error_id = id;
 1797|       |			/* find the corresponding asconf param in our queue */
 1798|      0|			ap = sctp_asconf_find_param(stcb, id);
 1799|      0|			if (ap == NULL) {
  ------------------
  |  Branch (1799:8): [True: 0, False: 0]
  ------------------
 1800|       |				/* hmm... can't find this in our queue! */
 1801|      0|				break;
 1802|      0|			}
 1803|       |			/* process the parameter, failed flag */
 1804|      0|			sctp_asconf_process_param_ack(stcb, ap, 0);
 1805|       |			/* process the error response */
 1806|      0|			sctp_asconf_process_error(stcb, aph);
 1807|      0|			break;
 1808|      0|		case SCTP_SUCCESS_REPORT:
  ------------------
  |  |  434|      0|#define SCTP_SUCCESS_REPORT		0xc005
  ------------------
  |  Branch (1808:3): [True: 0, False: 0]
  ------------------
 1809|       |			/* find the corresponding asconf param in our queue */
 1810|      0|			ap = sctp_asconf_find_param(stcb, id);
 1811|      0|			if (ap == NULL) {
  ------------------
  |  Branch (1811:8): [True: 0, False: 0]
  ------------------
 1812|       |				/* hmm... can't find this in our queue! */
 1813|      0|				break;
 1814|      0|			}
 1815|       |			/* process the parameter, success flag */
 1816|      0|			sctp_asconf_process_param_ack(stcb, ap, 1);
 1817|      0|			break;
 1818|      0|		default:
  ------------------
  |  Branch (1818:3): [True: 0, False: 0]
  ------------------
 1819|      0|			break;
 1820|      0|		}		/* switch */
 1821|       |
 1822|       |		/* update remaining ASCONF-ACK message length to process */
 1823|      0|		if (ack_length > SCTP_SIZE32(param_length)) {
  ------------------
  |  |  383|      0|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  |  Branch (1823:7): [True: 0, False: 0]
  ------------------
 1824|      0|			ack_length -= SCTP_SIZE32(param_length);
  ------------------
  |  |  383|      0|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 1825|      0|		} else {
 1826|      0|			break;
 1827|      0|		}
 1828|      0|		offset += SCTP_SIZE32(param_length);
  ------------------
  |  |  383|      0|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 1829|      0|	} /* while */
 1830|       |
 1831|       |	/*
 1832|       |	 * if there are any "sent" params still on the queue, these are
 1833|       |	 * implicitly "success", or "failed" (if we got an error back) ...
 1834|       |	 * so process these appropriately
 1835|       |	 *
 1836|       |	 * we assume that the correlation_id's are monotonically increasing
 1837|       |	 * beginning from 1 and that we don't have *that* many outstanding
 1838|       |	 * at any given time
 1839|       |	 */
 1840|      0|	if (last_error_id == 0)
  ------------------
  |  Branch (1840:6): [True: 0, False: 0]
  ------------------
 1841|      0|		last_error_id--;	/* set to "max" value */
 1842|      0|	TAILQ_FOREACH_SAFE(aa, &stcb->asoc.asconf_queue, next, aa_next) {
  ------------------
  |  | 1123|      0|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|      0|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 0]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|      0|              (var) = (tvar))
  ------------------
 1843|      0|		if (aa->sent == 1) {
  ------------------
  |  Branch (1843:7): [True: 0, False: 0]
  ------------------
 1844|       |			/*
 1845|       |			 * implicitly successful or failed if correlation_id
 1846|       |			 * < last_error_id, then success else, failure
 1847|       |			 */
 1848|      0|			if (aa->ap.aph.correlation_id < last_error_id)
  ------------------
  |  Branch (1848:8): [True: 0, False: 0]
  ------------------
 1849|      0|				sctp_asconf_process_param_ack(stcb, aa, 1);
 1850|      0|			else
 1851|      0|				sctp_asconf_process_param_ack(stcb, aa, 0);
 1852|      0|		} else {
 1853|       |			/*
 1854|       |			 * since we always process in order (FIFO queue) if
 1855|       |			 * we reach one that hasn't been sent, the rest
 1856|       |			 * should not have been sent either. so, we're
 1857|       |			 * done...
 1858|       |			 */
 1859|      0|			break;
 1860|      0|		}
 1861|      0|	}
 1862|       |
 1863|       |	/* update the next sequence number to use */
 1864|      0|	asoc->asconf_seq_out_acked++;
 1865|       |	/* remove the old ASCONF on our outbound queue */
 1866|      0|	sctp_toss_old_asconf(stcb);
 1867|      0|	if (!TAILQ_EMPTY(&stcb->asoc.asconf_queue)) {
  ------------------
  |  Branch (1867:6): [True: 0, False: 0]
  ------------------
 1868|       |#ifdef SCTP_TIMER_BASED_ASCONF
 1869|       |		/* we have more params, so restart our timer */
 1870|       |		sctp_timer_start(SCTP_TIMER_TYPE_ASCONF, stcb->sctp_ep,
 1871|       |				 stcb, net);
 1872|       |#else
 1873|       |		/* we have more params, so send out more */
 1874|      0|		sctp_send_asconf(stcb, net, SCTP_ADDR_NOT_LOCKED);
  ------------------
  |  |  966|      0|#define SCTP_ADDR_NOT_LOCKED 0
  ------------------
 1875|      0|#endif
 1876|      0|	}
 1877|      0|}
sctp_asconf_send_nat_state_update:
 3321|    242|{
 3322|    242|	struct sctp_asconf_addr *aa_vtag, *aa_add, *aa_del;
 3323|    242|	struct sctp_ifa *sctp_ifap;
 3324|    242|	struct sctp_asconf_tag_param *vtag;
 3325|    242|#ifdef INET
 3326|    242|	struct sockaddr_in *to;
 3327|    242|#endif
 3328|    242|#ifdef INET6
 3329|    242|	struct sockaddr_in6 *to6;
 3330|    242|#endif
 3331|       |
 3332|    242|	if (net == NULL) {
  ------------------
  |  Branch (3332:6): [True: 0, False: 242]
  ------------------
 3333|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1, "sctp_asconf_send_nat_state_update: Missing net\n");
 3334|      0|		return;
 3335|      0|	}
 3336|    242|	if (stcb == NULL) {
  ------------------
  |  Branch (3336:6): [True: 0, False: 242]
  ------------------
 3337|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1, "sctp_asconf_send_nat_state_update: Missing stcb\n");
 3338|      0|		return;
 3339|      0|	}
 3340|       |	/* Need to have in the ASCONF:
 3341|       |	 * - VTAG(my_vtag/peer_vtag)
 3342|       |	 * - ADD(wildcard)
 3343|       |	 * - DEL(wildcard)
 3344|       |	 * - ADD(Any global addresses)
 3345|       |	 */
 3346|    242|	SCTP_MALLOC(aa_vtag, struct sctp_asconf_addr *, sizeof(struct sctp_asconf_addr), SCTP_M_ASC_ADDR);
  ------------------
  |  |  669|    242|	do {								\
  |  |  670|    242|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|    242|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|    242|    do {								\
  |  |  |  |  198|    242|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|    484|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|    242|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|    242|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3347|    242|	SCTP_MALLOC(aa_add, struct sctp_asconf_addr *, sizeof(struct sctp_asconf_addr), SCTP_M_ASC_ADDR);
  ------------------
  |  |  669|    242|	do {								\
  |  |  670|    242|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|    242|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|    242|    do {								\
  |  |  |  |  198|    242|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|    484|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|    242|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|    242|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3348|    242|	SCTP_MALLOC(aa_del, struct sctp_asconf_addr *, sizeof(struct sctp_asconf_addr), SCTP_M_ASC_ADDR);
  ------------------
  |  |  669|    242|	do {								\
  |  |  670|    242|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|    242|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|    242|    do {								\
  |  |  |  |  198|    242|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|    484|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|    242|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|    242|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3349|       |
 3350|    242|	if ((aa_vtag == NULL) || (aa_add == NULL) || (aa_del == NULL)) {
  ------------------
  |  Branch (3350:6): [True: 0, False: 242]
  |  Branch (3350:27): [True: 0, False: 242]
  |  Branch (3350:47): [True: 0, False: 242]
  ------------------
 3351|       |		/* Didn't get memory */
 3352|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1, "sctp_asconf_send_nat_state_update: failed to get memory!\n");
 3353|    242|out:
 3354|    242|		if (aa_vtag != NULL) {
  ------------------
  |  Branch (3354:7): [True: 242, False: 0]
  ------------------
 3355|    242|			SCTP_FREE(aa_vtag, SCTP_M_ASC_ADDR);
  ------------------
  |  |  673|    242|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|    242|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 3356|    242|		}
 3357|    242|		if (aa_add != NULL) {
  ------------------
  |  Branch (3357:7): [True: 242, False: 0]
  ------------------
 3358|    242|			SCTP_FREE(aa_add, SCTP_M_ASC_ADDR);
  ------------------
  |  |  673|    242|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|    242|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 3359|    242|		}
 3360|    242|		if (aa_del != NULL) {
  ------------------
  |  Branch (3360:7): [True: 242, False: 0]
  ------------------
 3361|    242|			SCTP_FREE(aa_del, SCTP_M_ASC_ADDR);
  ------------------
  |  |  673|    242|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|    242|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 3362|    242|		}
 3363|    242|		return;
 3364|      0|	}
 3365|    242|	memset(aa_vtag, 0, sizeof(struct sctp_asconf_addr));
 3366|    242|	aa_vtag->special_del = 0;
 3367|       |	/* Fill in ASCONF address parameter fields. */
 3368|       |	/* Top level elements are "networked" during send. */
 3369|    242|	aa_vtag->ifa = NULL;
 3370|    242|	aa_vtag->sent = 0;		/* clear sent flag */
 3371|    242|	vtag = (struct sctp_asconf_tag_param *)&aa_vtag->ap.aph;
 3372|    242|	vtag->aph.ph.param_type = SCTP_NAT_VTAGS;
  ------------------
  |  |  438|    242|#define SCTP_NAT_VTAGS			0xc008
  ------------------
 3373|    242|	vtag->aph.ph.param_length = sizeof(struct sctp_asconf_tag_param);
 3374|    242|	vtag->local_vtag = htonl(stcb->asoc.my_vtag);
 3375|    242|	vtag->remote_vtag = htonl(stcb->asoc.peer_vtag);
 3376|       |
 3377|    242|	memset(aa_add, 0, sizeof(struct sctp_asconf_addr));
 3378|    242|	memset(aa_del, 0, sizeof(struct sctp_asconf_addr));
 3379|    242|	switch (net->ro._l_addr.sa.sa_family) {
 3380|      0|#ifdef INET
 3381|      0|	case AF_INET:
  ------------------
  |  Branch (3381:2): [True: 0, False: 242]
  ------------------
 3382|      0|		aa_add->ap.aph.ph.param_type = SCTP_ADD_IP_ADDRESS;
  ------------------
  |  |  430|      0|#define SCTP_ADD_IP_ADDRESS		0xc001
  ------------------
 3383|      0|		aa_add->ap.aph.ph.param_length = sizeof(struct sctp_asconf_addrv4_param);
 3384|      0|		aa_add->ap.addrp.ph.param_type = SCTP_IPV4_ADDRESS;
  ------------------
  |  |  394|      0|#define SCTP_IPV4_ADDRESS		0x0005
  ------------------
 3385|      0|		aa_add->ap.addrp.ph.param_length = sizeof (struct sctp_ipv4addr_param);
 3386|       |		/* No need to fill the address, we are using 0.0.0.0 */
 3387|      0|		aa_del->ap.aph.ph.param_type = SCTP_DEL_IP_ADDRESS;
  ------------------
  |  |  431|      0|#define SCTP_DEL_IP_ADDRESS		0xc002
  ------------------
 3388|      0|		aa_del->ap.aph.ph.param_length = sizeof(struct sctp_asconf_addrv4_param);
 3389|      0|		aa_del->ap.addrp.ph.param_type = SCTP_IPV4_ADDRESS;
  ------------------
  |  |  394|      0|#define SCTP_IPV4_ADDRESS		0x0005
  ------------------
 3390|      0|		aa_del->ap.addrp.ph.param_length = sizeof (struct sctp_ipv4addr_param);
 3391|       |		/* No need to fill the address, we are using 0.0.0.0 */
 3392|      0|		break;
 3393|      0|#endif
 3394|      0|#ifdef INET6
 3395|      0|	case AF_INET6:
  ------------------
  |  Branch (3395:2): [True: 0, False: 242]
  ------------------
 3396|      0|		aa_add->ap.aph.ph.param_type = SCTP_ADD_IP_ADDRESS;
  ------------------
  |  |  430|      0|#define SCTP_ADD_IP_ADDRESS		0xc001
  ------------------
 3397|      0|		aa_add->ap.aph.ph.param_length = sizeof(struct sctp_asconf_addr_param);
 3398|      0|		aa_add->ap.addrp.ph.param_type = SCTP_IPV6_ADDRESS;
  ------------------
  |  |  395|      0|#define SCTP_IPV6_ADDRESS		0x0006
  ------------------
 3399|      0|		aa_add->ap.addrp.ph.param_length = sizeof (struct sctp_ipv6addr_param);
 3400|       |		/* No need to fill the address, we are using ::0 */
 3401|      0|		aa_del->ap.aph.ph.param_type = SCTP_DEL_IP_ADDRESS;
  ------------------
  |  |  431|      0|#define SCTP_DEL_IP_ADDRESS		0xc002
  ------------------
 3402|      0|		aa_del->ap.aph.ph.param_length = sizeof(struct sctp_asconf_addr_param);
 3403|      0|		aa_del->ap.addrp.ph.param_type = SCTP_IPV6_ADDRESS;
  ------------------
  |  |  395|      0|#define SCTP_IPV6_ADDRESS		0x0006
  ------------------
 3404|      0|		aa_del->ap.addrp.ph.param_length = sizeof (struct sctp_ipv6addr_param);
 3405|       |		/* No need to fill the address, we are using ::0 */
 3406|      0|		break;
 3407|      0|#endif
 3408|    242|	default:
  ------------------
  |  Branch (3408:2): [True: 242, False: 0]
  ------------------
 3409|    242|		SCTPDBG(SCTP_DEBUG_ASCONF1,
 3410|    242|		        "sctp_asconf_send_nat_state_update: unknown address family %d\n",
 3411|    242|		        net->ro._l_addr.sa.sa_family);
 3412|    242|		goto out;
 3413|    242|	}
 3414|      0|	TAILQ_INSERT_TAIL(&stcb->asoc.asconf_queue, aa_vtag, next);
 3415|      0|	TAILQ_INSERT_TAIL(&stcb->asoc.asconf_queue, aa_add, next);
 3416|      0|	TAILQ_INSERT_TAIL(&stcb->asoc.asconf_queue, aa_del, next);
 3417|       |
 3418|       |	/* Now we must hunt the addresses and add all global addresses */
 3419|      0|	if (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_BOUNDALL) {
  ------------------
  |  |  533|      0|#define SCTP_PCB_FLAGS_BOUNDALL		0x00000004
  ------------------
  |  Branch (3419:6): [True: 0, False: 0]
  ------------------
 3420|      0|		struct sctp_vrf *vrf = NULL;
 3421|      0|		struct sctp_ifn *sctp_ifnp;
 3422|      0|		uint32_t vrf_id;
 3423|       |
 3424|      0|		vrf_id = stcb->sctp_ep->def_vrf_id;
 3425|      0|		vrf = sctp_find_vrf(vrf_id);
 3426|      0|		if (vrf == NULL) {
  ------------------
  |  Branch (3426:7): [True: 0, False: 0]
  ------------------
 3427|      0|			goto skip_rest;
 3428|      0|		}
 3429|       |
 3430|      0|		SCTP_IPI_ADDR_RLOCK();
  ------------------
  |  |  597|      0|	KASSERT(pthread_rwlock_rdlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3431|      0|		LIST_FOREACH(sctp_ifnp, &vrf->ifnlist, next_ifn) {
 3432|      0|			LIST_FOREACH(sctp_ifap, &sctp_ifnp->ifalist, next_ifa) {
 3433|      0|				switch (sctp_ifap->address.sa.sa_family) {
 3434|      0|#ifdef INET
 3435|      0|				case AF_INET:
  ------------------
  |  Branch (3435:5): [True: 0, False: 0]
  ------------------
 3436|      0|					to = &sctp_ifap->address.sin;
 3437|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3438|       |					if (prison_check_ip4(stcb->sctp_ep->ip_inp.inp.inp_cred,
 3439|       |					                     &to->sin_addr) != 0) {
 3440|       |						continue;
 3441|       |					}
 3442|       |#endif
 3443|      0|					if (IN4_ISPRIVATE_ADDRESS(&to->sin_addr)) {
  ------------------
  |  |  969|      0|   ((((uint8_t *)&(a)->s_addr)[0] == 10) || \
  |  |  ------------------
  |  |  |  Branch (969:5): [True: 0, False: 0]
  |  |  ------------------
  |  |  970|      0|    ((((uint8_t *)&(a)->s_addr)[0] == 172) && \
  |  |  ------------------
  |  |  |  Branch (970:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  971|      0|     (((uint8_t *)&(a)->s_addr)[1] >= 16) && \
  |  |  ------------------
  |  |  |  Branch (971:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  972|      0|     (((uint8_t *)&(a)->s_addr)[1] <= 32)) || \
  |  |  ------------------
  |  |  |  Branch (972:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  973|      0|    ((((uint8_t *)&(a)->s_addr)[0] == 192) && \
  |  |  ------------------
  |  |  |  Branch (973:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  974|      0|     (((uint8_t *)&(a)->s_addr)[1] == 168)))
  |  |  ------------------
  |  |  |  Branch (974:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3444|      0|						continue;
 3445|      0|					}
 3446|      0|					if (IN4_ISLOOPBACK_ADDRESS(&to->sin_addr)) {
  ------------------
  |  |  977|      0|    (((uint8_t *)&(a)->s_addr)[0] == 127)
  |  |  ------------------
  |  |  |  Branch (977:5): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3447|      0|						continue;
 3448|      0|					}
 3449|      0|					break;
 3450|      0|#endif
 3451|      0|#ifdef INET6
 3452|      0|				case AF_INET6:
  ------------------
  |  Branch (3452:5): [True: 0, False: 0]
  ------------------
 3453|      0|					to6 = &sctp_ifap->address.sin6;
 3454|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3455|       |					if (prison_check_ip6(stcb->sctp_ep->ip_inp.inp.inp_cred,
 3456|       |					                     &to6->sin6_addr) != 0) {
 3457|       |						continue;
 3458|       |					}
 3459|       |#endif
 3460|      0|					if (IN6_IS_ADDR_LOOPBACK(&to6->sin6_addr)) {
 3461|      0|						continue;
 3462|      0|					}
 3463|      0|					if (IN6_IS_ADDR_LINKLOCAL(&to6->sin6_addr)) {
 3464|      0|						continue;
 3465|      0|					}
 3466|      0|					break;
 3467|      0|#endif
 3468|      0|				default:
  ------------------
  |  Branch (3468:5): [True: 0, False: 0]
  ------------------
 3469|      0|					continue;
 3470|      0|				}
 3471|      0|				sctp_asconf_queue_mgmt(stcb, sctp_ifap, SCTP_ADD_IP_ADDRESS);
  ------------------
  |  |  430|      0|#define SCTP_ADD_IP_ADDRESS		0xc001
  ------------------
 3472|      0|			}
 3473|      0|		}
 3474|      0|		SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3475|      0|	} else {
 3476|      0|		struct sctp_laddr *laddr;
 3477|       |
 3478|      0|		LIST_FOREACH(laddr, &stcb->sctp_ep->sctp_addr_list, sctp_nxt_addr) {
 3479|      0|			if (laddr->ifa == NULL) {
  ------------------
  |  Branch (3479:8): [True: 0, False: 0]
  ------------------
 3480|      0|				continue;
 3481|      0|			}
 3482|      0|			if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED)
  ------------------
  |  |   90|      0|#define SCTP_BEING_DELETED      0x00000002	/* being deleted,
  ------------------
  |  Branch (3482:8): [True: 0, False: 0]
  ------------------
 3483|       |				/* Address being deleted by the system, dont
 3484|       |				 * list.
 3485|       |				 */
 3486|      0|				continue;
 3487|      0|			if (laddr->action == SCTP_DEL_IP_ADDRESS) {
  ------------------
  |  |  431|      0|#define SCTP_DEL_IP_ADDRESS		0xc002
  ------------------
  |  Branch (3487:8): [True: 0, False: 0]
  ------------------
 3488|       |				/* Address being deleted on this ep
 3489|       |				 * don't list.
 3490|       |				 */
 3491|      0|				continue;
 3492|      0|			}
 3493|      0|			sctp_ifap = laddr->ifa;
 3494|      0|			switch (sctp_ifap->address.sa.sa_family) {
 3495|      0|#ifdef INET
 3496|      0|			case AF_INET:
  ------------------
  |  Branch (3496:4): [True: 0, False: 0]
  ------------------
 3497|      0|				to = &sctp_ifap->address.sin;
 3498|      0|				if (IN4_ISPRIVATE_ADDRESS(&to->sin_addr)) {
  ------------------
  |  |  969|      0|   ((((uint8_t *)&(a)->s_addr)[0] == 10) || \
  |  |  ------------------
  |  |  |  Branch (969:5): [True: 0, False: 0]
  |  |  ------------------
  |  |  970|      0|    ((((uint8_t *)&(a)->s_addr)[0] == 172) && \
  |  |  ------------------
  |  |  |  Branch (970:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  971|      0|     (((uint8_t *)&(a)->s_addr)[1] >= 16) && \
  |  |  ------------------
  |  |  |  Branch (971:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  972|      0|     (((uint8_t *)&(a)->s_addr)[1] <= 32)) || \
  |  |  ------------------
  |  |  |  Branch (972:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  973|      0|    ((((uint8_t *)&(a)->s_addr)[0] == 192) && \
  |  |  ------------------
  |  |  |  Branch (973:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  974|      0|     (((uint8_t *)&(a)->s_addr)[1] == 168)))
  |  |  ------------------
  |  |  |  Branch (974:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3499|      0|					continue;
 3500|      0|				}
 3501|      0|				if (IN4_ISLOOPBACK_ADDRESS(&to->sin_addr)) {
  ------------------
  |  |  977|      0|    (((uint8_t *)&(a)->s_addr)[0] == 127)
  |  |  ------------------
  |  |  |  Branch (977:5): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3502|      0|					continue;
 3503|      0|				}
 3504|      0|				break;
 3505|      0|#endif
 3506|      0|#ifdef INET6
 3507|      0|			case AF_INET6:
  ------------------
  |  Branch (3507:4): [True: 0, False: 0]
  ------------------
 3508|      0|				to6 = &sctp_ifap->address.sin6;
 3509|      0|				if (IN6_IS_ADDR_LOOPBACK(&to6->sin6_addr)) {
 3510|      0|					continue;
 3511|      0|				}
 3512|      0|				if (IN6_IS_ADDR_LINKLOCAL(&to6->sin6_addr)) {
 3513|      0|					continue;
 3514|      0|				}
 3515|      0|				break;
 3516|      0|#endif
 3517|      0|			default:
  ------------------
  |  Branch (3517:4): [True: 0, False: 0]
  ------------------
 3518|      0|				continue;
 3519|      0|			}
 3520|      0|			sctp_asconf_queue_mgmt(stcb, sctp_ifap, SCTP_ADD_IP_ADDRESS);
  ------------------
  |  |  430|      0|#define SCTP_ADD_IP_ADDRESS		0xc001
  ------------------
 3521|      0|		}
 3522|      0|	}
 3523|      0| skip_rest:
 3524|       |	/* Now we must send the asconf into the queue */
 3525|      0|	sctp_send_asconf(stcb, net, SCTP_ADDR_NOT_LOCKED);
  ------------------
  |  |  966|      0|#define SCTP_ADDR_NOT_LOCKED 0
  ------------------
 3526|      0|}
sctp_asconf.c:sctp_process_asconf_add_ip:
  151|  83.2k|{
  152|  83.2k|	struct sctp_nets *net;
  153|  83.2k|	struct mbuf *m_reply = NULL;
  154|  83.2k|	union sctp_sockstore store;
  155|  83.2k|	struct sctp_paramhdr *ph;
  156|  83.2k|	uint16_t param_type, aparam_length;
  157|  83.2k|#if defined(INET) || defined(INET6)
  158|  83.2k|	uint16_t param_length;
  159|  83.2k|#endif
  160|  83.2k|	struct sockaddr *sa;
  161|  83.2k|	int zero_address = 0;
  162|  83.2k|	int bad_address = 0;
  163|  83.2k|#ifdef INET
  164|  83.2k|	struct sockaddr_in *sin;
  165|  83.2k|	struct sctp_ipv4addr_param *v4addr;
  166|  83.2k|#endif
  167|  83.2k|#ifdef INET6
  168|  83.2k|	struct sockaddr_in6 *sin6;
  169|  83.2k|	struct sctp_ipv6addr_param *v6addr;
  170|  83.2k|#endif
  171|       |
  172|  83.2k|	aparam_length = ntohs(aph->ph.param_length);
  173|  83.2k|	if (aparam_length < sizeof(struct sctp_asconf_paramhdr) + sizeof(struct sctp_paramhdr)) {
  ------------------
  |  Branch (173:6): [True: 1.36k, False: 81.8k]
  ------------------
  174|  1.36k|		return (NULL);
  175|  1.36k|	}
  176|  81.8k|	ph = (struct sctp_paramhdr *)(aph + 1);
  177|  81.8k|	param_type = ntohs(ph->param_type);
  178|  81.8k|#if defined(INET) || defined(INET6)
  179|  81.8k|	param_length = ntohs(ph->param_length);
  180|  81.8k|	if (param_length + sizeof(struct sctp_asconf_paramhdr) != aparam_length) {
  ------------------
  |  Branch (180:6): [True: 10.4k, False: 71.4k]
  ------------------
  181|  10.4k|		return (NULL);
  182|  10.4k|	}
  183|  71.4k|#endif
  184|  71.4k|	sa = &store.sa;
  185|  71.4k|	switch (param_type) {
  186|      0|#ifdef INET
  187|  61.7k|	case SCTP_IPV4_ADDRESS:
  ------------------
  |  |  394|  61.7k|#define SCTP_IPV4_ADDRESS		0x0005
  ------------------
  |  Branch (187:2): [True: 61.7k, False: 9.66k]
  ------------------
  188|  61.7k|		if (param_length != sizeof(struct sctp_ipv4addr_param)) {
  ------------------
  |  Branch (188:7): [True: 29, False: 61.7k]
  ------------------
  189|       |			/* invalid param size */
  190|     29|			return (NULL);
  191|     29|		}
  192|  61.7k|		v4addr = (struct sctp_ipv4addr_param *)ph;
  193|  61.7k|		sin = &store.sin;
  194|  61.7k|		memset(sin, 0, sizeof(*sin));
  195|  61.7k|		sin->sin_family = AF_INET;
  196|       |#ifdef HAVE_SIN_LEN
  197|       |		sin->sin_len = sizeof(struct sockaddr_in);
  198|       |#endif
  199|  61.7k|		sin->sin_port = stcb->rport;
  200|  61.7k|		sin->sin_addr.s_addr = v4addr->addr;
  201|  61.7k|		if ((sin->sin_addr.s_addr == INADDR_BROADCAST) ||
  ------------------
  |  Branch (201:7): [True: 53, False: 61.6k]
  ------------------
  202|  61.7k|		    IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) {
  203|    143|			bad_address = 1;
  204|    143|		}
  205|  61.7k|		if (sin->sin_addr.s_addr == INADDR_ANY)
  ------------------
  |  Branch (205:7): [True: 1.20k, False: 60.5k]
  ------------------
  206|  1.20k|			zero_address = 1;
  207|  61.7k|		SCTPDBG(SCTP_DEBUG_ASCONF1, "process_asconf_add_ip: adding ");
  208|  61.7k|		SCTPDBG_ADDR(SCTP_DEBUG_ASCONF1, sa);
  209|  61.7k|		break;
  210|      0|#endif
  211|      0|#ifdef INET6
  212|  5.05k|	case SCTP_IPV6_ADDRESS:
  ------------------
  |  |  395|  5.05k|#define SCTP_IPV6_ADDRESS		0x0006
  ------------------
  |  Branch (212:2): [True: 5.05k, False: 66.3k]
  ------------------
  213|  5.05k|		if (param_length != sizeof(struct sctp_ipv6addr_param)) {
  ------------------
  |  Branch (213:7): [True: 121, False: 4.93k]
  ------------------
  214|       |			/* invalid param size */
  215|    121|			return (NULL);
  216|    121|		}
  217|  4.93k|		v6addr = (struct sctp_ipv6addr_param *)ph;
  218|  4.93k|		sin6 = &store.sin6;
  219|  4.93k|		memset(sin6, 0, sizeof(*sin6));
  220|  4.93k|		sin6->sin6_family = AF_INET6;
  221|       |#ifdef HAVE_SIN6_LEN
  222|       |		sin6->sin6_len = sizeof(struct sockaddr_in6);
  223|       |#endif
  224|  4.93k|		sin6->sin6_port = stcb->rport;
  225|  4.93k|		memcpy((caddr_t)&sin6->sin6_addr, v6addr->addr,
  226|  4.93k|		    sizeof(struct in6_addr));
  227|  4.93k|		if (IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) {
  228|     98|			bad_address = 1;
  229|     98|		}
  230|  4.93k|		if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr))
  231|    180|			zero_address = 1;
  232|  4.93k|		SCTPDBG(SCTP_DEBUG_ASCONF1, "process_asconf_add_ip: adding ");
  233|  4.93k|		SCTPDBG_ADDR(SCTP_DEBUG_ASCONF1, sa);
  234|  4.93k|		break;
  235|      0|#endif
  236|  4.61k|	default:
  ------------------
  |  Branch (236:2): [True: 4.61k, False: 66.7k]
  ------------------
  237|  4.61k|		m_reply = sctp_asconf_error_response(aph->correlation_id,
  238|  4.61k|		    SCTP_CAUSE_INVALID_PARAM, (uint8_t *) aph,
  ------------------
  |  |  375|  4.61k|#define SCTP_CAUSE_INVALID_PARAM	0x0007
  ------------------
  239|  4.61k|		    aparam_length);
  240|  4.61k|		return (m_reply);
  241|  71.4k|	}			/* end switch */
  242|       |
  243|       |	/* if 0.0.0.0/::0, add the source address instead */
  244|  66.6k|	if (zero_address && SCTP_BASE_SYSCTL(sctp_nat_friendly)) {
  ------------------
  |  |  584|  1.38k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 1.38k, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (244:6): [True: 1.38k, False: 65.2k]
  ------------------
  245|  1.38k|		sa = src;
  246|  1.38k|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  247|  1.38k|		        "process_asconf_add_ip: using source addr ");
  248|  1.38k|		SCTPDBG_ADDR(SCTP_DEBUG_ASCONF1, src);
  249|  1.38k|	}
  250|  66.6k|	net = NULL;
  251|       |	/* add the address */
  252|  66.6k|	if (bad_address) {
  ------------------
  |  Branch (252:6): [True: 241, False: 66.4k]
  ------------------
  253|    241|		m_reply = sctp_asconf_error_response(aph->correlation_id,
  254|    241|		    SCTP_CAUSE_INVALID_PARAM, (uint8_t *) aph,
  ------------------
  |  |  375|    241|#define SCTP_CAUSE_INVALID_PARAM	0x0007
  ------------------
  255|    241|		    aparam_length);
  256|  66.4k|	} else if (sctp_add_remote_addr(stcb, sa, &net, stcb->asoc.port,
  ------------------
  |  Branch (256:13): [True: 0, False: 66.4k]
  ------------------
  257|  66.4k|	                                SCTP_DONOT_SETSCOPE,
  ------------------
  |  |  822|  66.4k|#define SCTP_DONOT_SETSCOPE 0
  ------------------
  258|  66.4k|	                                SCTP_ADDR_DYNAMIC_ADDED) != 0) {
  ------------------
  |  |  814|  66.4k|#define SCTP_ADDR_DYNAMIC_ADDED 6
  ------------------
  259|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  260|      0|			"process_asconf_add_ip: error adding address\n");
  261|      0|		m_reply = sctp_asconf_error_response(aph->correlation_id,
  262|      0|		    SCTP_CAUSE_RESOURCE_SHORTAGE, (uint8_t *) aph,
  ------------------
  |  |  385|      0|#define SCTP_CAUSE_RESOURCE_SHORTAGE	0x00a1
  ------------------
  263|      0|		    aparam_length);
  264|  66.4k|	} else {
  265|  66.4k|		if (response_required) {
  ------------------
  |  Branch (265:7): [True: 58.6k, False: 7.76k]
  ------------------
  266|  58.6k|			m_reply =
  267|  58.6k|			    sctp_asconf_success_response(aph->correlation_id);
  268|  58.6k|		}
  269|  66.4k|		if (net != NULL) {
  ------------------
  |  Branch (269:7): [True: 60.2k, False: 6.19k]
  ------------------
  270|       |			/* notify upper layer */
  271|  60.2k|			sctp_ulp_notify(SCTP_NOTIFY_ASCONF_ADD_IP, stcb, 0, sa, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  714|  60.2k|#define SCTP_NOTIFY_ASCONF_ADD_IP               12
  ------------------
              			sctp_ulp_notify(SCTP_NOTIFY_ASCONF_ADD_IP, stcb, 0, sa, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  60.2k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  272|  60.2k|			sctp_timer_start(SCTP_TIMER_TYPE_PATHMTURAISE, stcb->sctp_ep, stcb, net);
  ------------------
  |  |  539|  60.2k|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
  273|  60.2k|			sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep,
  ------------------
  |  |  536|  60.2k|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
  274|  60.2k|					 stcb, net);
  275|  60.2k|			if (send_hb) {
  ------------------
  |  Branch (275:8): [True: 2.81k, False: 57.3k]
  ------------------
  276|  2.81k|				sctp_send_hb(stcb, net, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  2.81k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  277|  2.81k|			}
  278|  60.2k|		}
  279|  66.4k|	}
  280|  66.6k|	return (m_reply);
  281|  71.4k|}
sctp_asconf.c:sctp_asconf_error_response:
  100|  10.6k|{
  101|  10.6k|	struct mbuf *m_reply = NULL;
  102|  10.6k|	struct sctp_asconf_paramhdr *aph;
  103|  10.6k|	struct sctp_error_cause *error;
  104|  10.6k|	uint32_t buf_len;
  105|  10.6k|	uint16_t i, param_length, cause_length, padding_length;
  106|  10.6k|	uint8_t *tlv;
  107|       |
  108|  10.6k|	if (error_tlv == NULL) {
  ------------------
  |  Branch (108:6): [True: 0, False: 10.6k]
  ------------------
  109|      0|		tlv_length = 0;
  110|      0|	}
  111|  10.6k|	cause_length = sizeof(struct sctp_error_cause) + tlv_length;
  112|  10.6k|	param_length = sizeof(struct sctp_asconf_paramhdr) + cause_length;
  113|  10.6k|	padding_length = tlv_length % 4;
  114|  10.6k|	if (padding_length != 0) {
  ------------------
  |  Branch (114:6): [True: 287, False: 10.3k]
  ------------------
  115|    287|		padding_length = 4 - padding_length;
  116|    287|	}
  117|  10.6k|	buf_len = param_length + padding_length;
  118|  10.6k|	if (buf_len > MLEN) {
  ------------------
  |  |  138|  10.6k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  ------------------
  |  |  |  |   47|  10.6k|#define MSIZE 256
  |  |  ------------------
  ------------------
  |  Branch (118:6): [True: 84, False: 10.5k]
  ------------------
  119|     84|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  120|     84|			"asconf_error_response: tlv_length (%xh) too big\n",
  121|     84|			tlv_length);
  122|     84|		return (NULL);
  123|     84|	}
  124|  10.5k|	m_reply = sctp_get_mbuf_for_msg(buf_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  10.5k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_reply = sctp_get_mbuf_for_msg(buf_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  10.5k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
  125|  10.5k|	if (m_reply == NULL) {
  ------------------
  |  Branch (125:6): [True: 0, False: 10.5k]
  ------------------
  126|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  127|      0|			"asconf_error_response: couldn't get mbuf!\n");
  128|      0|		return (NULL);
  129|      0|	}
  130|  10.5k|	aph = mtod(m_reply, struct sctp_asconf_paramhdr *);
  ------------------
  |  |   96|  10.5k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  10.5k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
  131|  10.5k|	aph->ph.param_type = htons(SCTP_ERROR_CAUSE_IND);
  132|  10.5k|	aph->ph.param_length = htons(param_length);
  133|  10.5k|	aph->correlation_id = id;
  134|  10.5k|	error = (struct sctp_error_cause *)(aph + 1);
  135|  10.5k|	error->code = htons(cause);
  136|  10.5k|	error->length = htons(cause_length);
  137|  10.5k|	if (error_tlv != NULL) {
  ------------------
  |  Branch (137:6): [True: 10.5k, False: 0]
  ------------------
  138|  10.5k|		tlv = (uint8_t *) (error + 1);
  139|  10.5k|		memcpy(tlv, error_tlv, tlv_length);
  140|  10.8k|		for (i = 0; i < padding_length; i++) {
  ------------------
  |  Branch (140:15): [True: 277, False: 10.5k]
  ------------------
  141|    277|			tlv[tlv_length + i] = 0;
  142|    277|		}
  143|  10.5k|	}
  144|  10.5k|	SCTP_BUF_LEN(m_reply) = buf_len;
  ------------------
  |  |  795|  10.5k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  10.5k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  145|  10.5k|	return (m_reply);
  146|  10.5k|}
sctp_asconf.c:sctp_asconf_success_response:
   76|  78.7k|{
   77|  78.7k|	struct mbuf *m_reply = NULL;
   78|  78.7k|	struct sctp_asconf_paramhdr *aph;
   79|       |
   80|  78.7k|	m_reply = sctp_get_mbuf_for_msg(sizeof(struct sctp_asconf_paramhdr),
   81|  78.7k|					0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  78.7k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              					0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  78.7k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
   82|  78.7k|	if (m_reply == NULL) {
  ------------------
  |  Branch (82:6): [True: 0, False: 78.7k]
  ------------------
   83|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1,
   84|      0|			"asconf_success_response: couldn't get mbuf!\n");
   85|      0|		return (NULL);
   86|      0|	}
   87|  78.7k|	aph = mtod(m_reply, struct sctp_asconf_paramhdr *);
  ------------------
  |  |   96|  78.7k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  78.7k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
   88|  78.7k|	aph->correlation_id = id;
   89|  78.7k|	aph->ph.param_type = htons(SCTP_SUCCESS_REPORT);
   90|  78.7k|	aph->ph.param_length = sizeof(struct sctp_asconf_paramhdr);
   91|  78.7k|	SCTP_BUF_LEN(m_reply) = aph->ph.param_length;
  ------------------
  |  |  795|  78.7k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  78.7k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
   92|  78.7k|	aph->ph.param_length = htons(aph->ph.param_length);
   93|       |
   94|  78.7k|	return (m_reply);
   95|  78.7k|}
sctp_asconf.c:sctp_process_asconf_delete_ip:
  316|  24.9k|{
  317|  24.9k|	struct mbuf *m_reply = NULL;
  318|  24.9k|	union sctp_sockstore store;
  319|  24.9k|	struct sctp_paramhdr *ph;
  320|  24.9k|	uint16_t param_type, aparam_length;
  321|  24.9k|#if defined(INET) || defined(INET6)
  322|  24.9k|	uint16_t param_length;
  323|  24.9k|#endif
  324|  24.9k|	struct sockaddr *sa;
  325|  24.9k|	int zero_address = 0;
  326|  24.9k|	int result;
  327|  24.9k|#ifdef INET
  328|  24.9k|	struct sockaddr_in *sin;
  329|  24.9k|	struct sctp_ipv4addr_param *v4addr;
  330|  24.9k|#endif
  331|  24.9k|#ifdef INET6
  332|  24.9k|	struct sockaddr_in6 *sin6;
  333|  24.9k|	struct sctp_ipv6addr_param *v6addr;
  334|  24.9k|#endif
  335|       |
  336|  24.9k|	aparam_length = ntohs(aph->ph.param_length);
  337|  24.9k|	if (aparam_length < sizeof(struct sctp_asconf_paramhdr) + sizeof(struct sctp_paramhdr)) {
  ------------------
  |  Branch (337:6): [True: 868, False: 24.0k]
  ------------------
  338|    868|		return (NULL);
  339|    868|	}
  340|  24.0k|	ph = (struct sctp_paramhdr *)(aph + 1);
  341|  24.0k|	param_type = ntohs(ph->param_type);
  342|  24.0k|#if defined(INET) || defined(INET6)
  343|  24.0k|	param_length = ntohs(ph->param_length);
  344|  24.0k|	if (param_length + sizeof(struct sctp_asconf_paramhdr) != aparam_length) {
  ------------------
  |  Branch (344:6): [True: 2.01k, False: 22.0k]
  ------------------
  345|  2.01k|		return (NULL);
  346|  2.01k|	}
  347|  22.0k|#endif
  348|  22.0k|	sa = &store.sa;
  349|  22.0k|	switch (param_type) {
  350|      0|#ifdef INET
  351|  19.6k|	case SCTP_IPV4_ADDRESS:
  ------------------
  |  |  394|  19.6k|#define SCTP_IPV4_ADDRESS		0x0005
  ------------------
  |  Branch (351:2): [True: 19.6k, False: 2.41k]
  ------------------
  352|  19.6k|		if (param_length != sizeof(struct sctp_ipv4addr_param)) {
  ------------------
  |  Branch (352:7): [True: 65, False: 19.5k]
  ------------------
  353|       |			/* invalid param size */
  354|     65|			return (NULL);
  355|     65|		}
  356|  19.5k|		v4addr = (struct sctp_ipv4addr_param *)ph;
  357|  19.5k|		sin = &store.sin;
  358|  19.5k|		memset(sin, 0, sizeof(*sin));
  359|  19.5k|		sin->sin_family = AF_INET;
  360|       |#ifdef HAVE_SIN_LEN
  361|       |		sin->sin_len = sizeof(struct sockaddr_in);
  362|       |#endif
  363|  19.5k|		sin->sin_port = stcb->rport;
  364|  19.5k|		sin->sin_addr.s_addr = v4addr->addr;
  365|  19.5k|		if (sin->sin_addr.s_addr == INADDR_ANY)
  ------------------
  |  Branch (365:7): [True: 9.51k, False: 10.0k]
  ------------------
  366|  9.51k|			zero_address = 1;
  367|  19.5k|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  368|  19.5k|			"process_asconf_delete_ip: deleting ");
  369|  19.5k|		SCTPDBG_ADDR(SCTP_DEBUG_ASCONF1, sa);
  370|  19.5k|		break;
  371|      0|#endif
  372|      0|#ifdef INET6
  373|  1.55k|	case SCTP_IPV6_ADDRESS:
  ------------------
  |  |  395|  1.55k|#define SCTP_IPV6_ADDRESS		0x0006
  ------------------
  |  Branch (373:2): [True: 1.55k, False: 20.4k]
  ------------------
  374|  1.55k|		if (param_length != sizeof(struct sctp_ipv6addr_param)) {
  ------------------
  |  Branch (374:7): [True: 226, False: 1.33k]
  ------------------
  375|       |			/* invalid param size */
  376|    226|			return (NULL);
  377|    226|		}
  378|  1.33k|		v6addr = (struct sctp_ipv6addr_param *)ph;
  379|  1.33k|		sin6 = &store.sin6;
  380|  1.33k|		memset(sin6, 0, sizeof(*sin6));
  381|  1.33k|		sin6->sin6_family = AF_INET6;
  382|       |#ifdef HAVE_SIN6_LEN
  383|       |		sin6->sin6_len = sizeof(struct sockaddr_in6);
  384|       |#endif
  385|  1.33k|		sin6->sin6_port = stcb->rport;
  386|  1.33k|		memcpy(&sin6->sin6_addr, v6addr->addr,
  387|  1.33k|		    sizeof(struct in6_addr));
  388|  1.33k|		if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr))
  389|    111|			zero_address = 1;
  390|  1.33k|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  391|  1.33k|			"process_asconf_delete_ip: deleting ");
  392|  1.33k|		SCTPDBG_ADDR(SCTP_DEBUG_ASCONF1, sa);
  393|  1.33k|		break;
  394|      0|#endif
  395|    855|	default:
  ------------------
  |  Branch (395:2): [True: 855, False: 21.1k]
  ------------------
  396|    855|		m_reply = sctp_asconf_error_response(aph->correlation_id,
  397|    855|		    SCTP_CAUSE_UNRESOLVABLE_ADDR, (uint8_t *) aph,
  ------------------
  |  |  373|    855|#define SCTP_CAUSE_UNRESOLVABLE_ADDR	0x0005
  ------------------
  398|    855|		    aparam_length);
  399|    855|		return (m_reply);
  400|  22.0k|	}
  401|       |
  402|       |	/* make sure the source address is not being deleted */
  403|  20.8k|	if (sctp_cmpaddr(sa, src)) {
  ------------------
  |  Branch (403:6): [True: 0, False: 20.8k]
  ------------------
  404|       |		/* trying to delete the source address! */
  405|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1, "process_asconf_delete_ip: tried to delete source addr\n");
  406|      0|		m_reply = sctp_asconf_error_response(aph->correlation_id,
  407|      0|		    SCTP_CAUSE_DELETING_SRC_ADDR, (uint8_t *) aph,
  ------------------
  |  |  386|      0|#define SCTP_CAUSE_DELETING_SRC_ADDR	0x00a2
  ------------------
  408|      0|		    aparam_length);
  409|      0|		return (m_reply);
  410|      0|	}
  411|       |
  412|       |	/* if deleting 0.0.0.0/::0, delete all addresses except src addr */
  413|  20.8k|	if (zero_address && SCTP_BASE_SYSCTL(sctp_nat_friendly)) {
  ------------------
  |  |  584|  9.62k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 9.62k, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (413:6): [True: 9.62k, False: 11.2k]
  ------------------
  414|  9.62k|		result = sctp_asconf_del_remote_addrs_except(stcb, src);
  415|       |
  416|  9.62k|		if (result) {
  ------------------
  |  Branch (416:7): [True: 0, False: 9.62k]
  ------------------
  417|       |			/* src address did not exist? */
  418|      0|			SCTPDBG(SCTP_DEBUG_ASCONF1, "process_asconf_delete_ip: src addr does not exist?\n");
  419|       |			/* what error to reply with?? */
  420|      0|			m_reply =
  421|      0|			    sctp_asconf_error_response(aph->correlation_id,
  422|      0|			    SCTP_CAUSE_REQUEST_REFUSED, (uint8_t *) aph,
  ------------------
  |  |  388|      0|#define SCTP_CAUSE_REQUEST_REFUSED	0x00a4
  ------------------
  423|      0|			    aparam_length);
  424|  9.62k|		} else if (response_required) {
  ------------------
  |  Branch (424:14): [True: 8.72k, False: 902]
  ------------------
  425|  8.72k|			m_reply =
  426|  8.72k|			    sctp_asconf_success_response(aph->correlation_id);
  427|  8.72k|		}
  428|  9.62k|		return (m_reply);
  429|  9.62k|	}
  430|       |
  431|       |	/* delete the address */
  432|  11.2k|	result = sctp_del_remote_addr(stcb, sa);
  433|       |	/*
  434|       |	 * note if result == -2, the address doesn't exist in the asoc but
  435|       |	 * since it's being deleted anyways, we just ack the delete -- but
  436|       |	 * this probably means something has already gone awry
  437|       |	 */
  438|  11.2k|	if (result == -1) {
  ------------------
  |  Branch (438:6): [True: 0, False: 11.2k]
  ------------------
  439|       |		/* only one address in the asoc */
  440|      0|		SCTPDBG(SCTP_DEBUG_ASCONF1, "process_asconf_delete_ip: tried to delete last IP addr!\n");
  441|      0|		m_reply = sctp_asconf_error_response(aph->correlation_id,
  442|      0|		    SCTP_CAUSE_DELETING_LAST_ADDR, (uint8_t *) aph,
  ------------------
  |  |  384|      0|#define SCTP_CAUSE_DELETING_LAST_ADDR	0x00a0
  ------------------
  443|      0|		    aparam_length);
  444|  11.2k|	} else {
  445|  11.2k|		if (response_required) {
  ------------------
  |  Branch (445:7): [True: 9.70k, False: 1.54k]
  ------------------
  446|  9.70k|			m_reply = sctp_asconf_success_response(aph->correlation_id);
  447|  9.70k|		}
  448|       |		/* notify upper layer */
  449|  11.2k|		sctp_ulp_notify(SCTP_NOTIFY_ASCONF_DELETE_IP, stcb, 0, sa, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  715|  11.2k|#define SCTP_NOTIFY_ASCONF_DELETE_IP            13
  ------------------
              		sctp_ulp_notify(SCTP_NOTIFY_ASCONF_DELETE_IP, stcb, 0, sa, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  11.2k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  450|  11.2k|	}
  451|  11.2k|	return (m_reply);
  452|  20.8k|}
sctp_asconf.c:sctp_asconf_del_remote_addrs_except:
  285|  9.62k|{
  286|  9.62k|	struct sctp_nets *src_net, *net, *nnet;
  287|       |
  288|       |	/* make sure the source address exists as a destination net */
  289|  9.62k|	src_net = sctp_findnet(stcb, src);
  290|  9.62k|	if (src_net == NULL) {
  ------------------
  |  Branch (290:6): [True: 0, False: 9.62k]
  ------------------
  291|       |		/* not found */
  292|      0|		return (-1);
  293|      0|	}
  294|       |
  295|       |	/* delete all destination addresses except the source */
  296|  63.1k|	TAILQ_FOREACH_SAFE(net, &stcb->asoc.nets, sctp_next, nnet) {
  ------------------
  |  | 1123|  9.62k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  72.7k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 63.1k, False: 9.62k]
  |  |  |  Branch (1124:24): [True: 63.1k, False: 0]
  |  |  ------------------
  |  | 1125|  63.1k|              (var) = (tvar))
  ------------------
  297|  63.1k|		if (net != src_net) {
  ------------------
  |  Branch (297:7): [True: 53.5k, False: 9.62k]
  ------------------
  298|       |			/* delete this address */
  299|  53.5k|			SCTPDBG(SCTP_DEBUG_ASCONF1,
  300|  53.5k|				"asconf_del_remote_addrs_except: deleting ");
  301|  53.5k|			SCTPDBG_ADDR(SCTP_DEBUG_ASCONF1,
  302|  53.5k|				     (struct sockaddr *)&net->ro._l_addr);
  303|       |			/* notify upper layer */
  304|  53.5k|			sctp_ulp_notify(SCTP_NOTIFY_ASCONF_DELETE_IP, stcb, 0,
  ------------------
  |  |  715|  53.5k|#define SCTP_NOTIFY_ASCONF_DELETE_IP            13
  ------------------
  305|  53.5k|			    (struct sockaddr *)&net->ro._l_addr, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  53.5k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  306|  53.5k|			sctp_remove_net(stcb, net);
  307|  53.5k|		}
  308|  63.1k|	}
  309|  9.62k|	return (0);
  310|  9.62k|}
sctp_asconf.c:sctp_process_asconf_set_primary:
  458|  9.81k|{
  459|  9.81k|	struct mbuf *m_reply = NULL;
  460|  9.81k|	union sctp_sockstore store;
  461|  9.81k|	struct sctp_paramhdr *ph;
  462|  9.81k|	uint16_t param_type, aparam_length;
  463|  9.81k|#if defined(INET) || defined(INET6)
  464|  9.81k|	uint16_t param_length;
  465|  9.81k|#endif
  466|  9.81k|	struct sockaddr *sa;
  467|  9.81k|	int zero_address = 0;
  468|  9.81k|#ifdef INET
  469|  9.81k|	struct sockaddr_in *sin;
  470|  9.81k|	struct sctp_ipv4addr_param *v4addr;
  471|  9.81k|#endif
  472|  9.81k|#ifdef INET6
  473|  9.81k|	struct sockaddr_in6 *sin6;
  474|  9.81k|	struct sctp_ipv6addr_param *v6addr;
  475|  9.81k|#endif
  476|       |
  477|  9.81k|	aparam_length = ntohs(aph->ph.param_length);
  478|  9.81k|	if (aparam_length < sizeof(struct sctp_asconf_paramhdr) + sizeof(struct sctp_paramhdr)) {
  ------------------
  |  Branch (478:6): [True: 700, False: 9.11k]
  ------------------
  479|    700|		return (NULL);
  480|    700|	}
  481|  9.11k|	ph = (struct sctp_paramhdr *)(aph + 1);
  482|  9.11k|	param_type = ntohs(ph->param_type);
  483|  9.11k|#if defined(INET) || defined(INET6)
  484|  9.11k|	param_length = ntohs(ph->param_length);
  485|  9.11k|	if (param_length + sizeof(struct sctp_asconf_paramhdr) != aparam_length) {
  ------------------
  |  Branch (485:6): [True: 1.54k, False: 7.57k]
  ------------------
  486|  1.54k|		return (NULL);
  487|  1.54k|	}
  488|  7.57k|#endif
  489|  7.57k|	sa = &store.sa;
  490|  7.57k|	switch (param_type) {
  491|      0|#ifdef INET
  492|  4.04k|	case SCTP_IPV4_ADDRESS:
  ------------------
  |  |  394|  4.04k|#define SCTP_IPV4_ADDRESS		0x0005
  ------------------
  |  Branch (492:2): [True: 4.04k, False: 3.52k]
  ------------------
  493|  4.04k|		if (param_length != sizeof(struct sctp_ipv4addr_param)) {
  ------------------
  |  Branch (493:7): [True: 90, False: 3.95k]
  ------------------
  494|       |			/* invalid param size */
  495|     90|			return (NULL);
  496|     90|		}
  497|  3.95k|		v4addr = (struct sctp_ipv4addr_param *)ph;
  498|  3.95k|		sin = &store.sin;
  499|  3.95k|		memset(sin, 0, sizeof(*sin));
  500|  3.95k|		sin->sin_family = AF_INET;
  501|       |#ifdef HAVE_SIN_LEN
  502|       |		sin->sin_len = sizeof(struct sockaddr_in);
  503|       |#endif
  504|  3.95k|		sin->sin_addr.s_addr = v4addr->addr;
  505|  3.95k|		if (sin->sin_addr.s_addr == INADDR_ANY)
  ------------------
  |  Branch (505:7): [True: 1.03k, False: 2.92k]
  ------------------
  506|  1.03k|			zero_address = 1;
  507|  3.95k|		SCTPDBG(SCTP_DEBUG_ASCONF1, "process_asconf_set_primary: ");
  508|  3.95k|		SCTPDBG_ADDR(SCTP_DEBUG_ASCONF1, sa);
  509|  3.95k|		break;
  510|      0|#endif
  511|      0|#ifdef INET6
  512|  2.35k|	case SCTP_IPV6_ADDRESS:
  ------------------
  |  |  395|  2.35k|#define SCTP_IPV6_ADDRESS		0x0006
  ------------------
  |  Branch (512:2): [True: 2.35k, False: 5.21k]
  ------------------
  513|  2.35k|		if (param_length != sizeof(struct sctp_ipv6addr_param)) {
  ------------------
  |  Branch (513:7): [True: 348, False: 2.00k]
  ------------------
  514|       |			/* invalid param size */
  515|    348|			return (NULL);
  516|    348|		}
  517|  2.00k|		v6addr = (struct sctp_ipv6addr_param *)ph;
  518|  2.00k|		sin6 = &store.sin6;
  519|  2.00k|		memset(sin6, 0, sizeof(*sin6));
  520|  2.00k|		sin6->sin6_family = AF_INET6;
  521|       |#ifdef HAVE_SIN6_LEN
  522|       |		sin6->sin6_len = sizeof(struct sockaddr_in6);
  523|       |#endif
  524|  2.00k|		memcpy((caddr_t)&sin6->sin6_addr, v6addr->addr,
  525|  2.00k|		    sizeof(struct in6_addr));
  526|  2.00k|		if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr))
  527|     19|			zero_address = 1;
  528|  2.00k|		SCTPDBG(SCTP_DEBUG_ASCONF1, "process_asconf_set_primary: ");
  529|  2.00k|		SCTPDBG_ADDR(SCTP_DEBUG_ASCONF1, sa);
  530|  2.00k|		break;
  531|      0|#endif
  532|  1.16k|	default:
  ------------------
  |  Branch (532:2): [True: 1.16k, False: 6.40k]
  ------------------
  533|  1.16k|		m_reply = sctp_asconf_error_response(aph->correlation_id,
  534|  1.16k|		    SCTP_CAUSE_UNRESOLVABLE_ADDR, (uint8_t *) aph,
  ------------------
  |  |  373|  1.16k|#define SCTP_CAUSE_UNRESOLVABLE_ADDR	0x0005
  ------------------
  535|  1.16k|		    aparam_length);
  536|  1.16k|		return (m_reply);
  537|  7.57k|	}
  538|       |
  539|       |	/* if 0.0.0.0/::0, use the source address instead */
  540|  5.96k|	if (zero_address && SCTP_BASE_SYSCTL(sctp_nat_friendly)) {
  ------------------
  |  |  584|  1.05k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 1.05k, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (540:6): [True: 1.05k, False: 4.91k]
  ------------------
  541|  1.05k|		sa = src;
  542|  1.05k|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  543|  1.05k|			"process_asconf_set_primary: using source addr ");
  544|  1.05k|		SCTPDBG_ADDR(SCTP_DEBUG_ASCONF1, src);
  545|  1.05k|	}
  546|       |	/* set the primary address */
  547|  5.96k|	if (sctp_set_primary_addr(stcb, sa, NULL) == 0) {
  ------------------
  |  Branch (547:6): [True: 2.23k, False: 3.72k]
  ------------------
  548|  2.23k|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  549|  2.23k|			"process_asconf_set_primary: primary address set\n");
  550|       |		/* notify upper layer */
  551|  2.23k|		sctp_ulp_notify(SCTP_NOTIFY_ASCONF_SET_PRIMARY, stcb, 0, sa, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  716|  2.23k|#define SCTP_NOTIFY_ASCONF_SET_PRIMARY          14
  ------------------
              		sctp_ulp_notify(SCTP_NOTIFY_ASCONF_SET_PRIMARY, stcb, 0, sa, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  2.23k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  552|  2.23k|		if ((stcb->asoc.primary_destination->dest_state & SCTP_ADDR_REACHABLE) &&
  ------------------
  |  |  481|  2.23k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (552:7): [True: 2.23k, False: 0]
  ------------------
  553|  2.23k|		    ((stcb->asoc.primary_destination->dest_state & SCTP_ADDR_PF) == 0) &&
  ------------------
  |  |  490|  2.23k|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (553:7): [True: 2.23k, False: 0]
  ------------------
  554|  2.23k|		    (stcb->asoc.alternate != NULL)) {
  ------------------
  |  Branch (554:7): [True: 1, False: 2.23k]
  ------------------
  555|      1|			sctp_free_remote_addr(stcb->asoc.alternate);
  ------------------
  |  |  228|      1|#define sctp_free_remote_addr(__net) { \
  |  |  229|      1|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  230|      1|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      1|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      1|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      1|	} \
  |  |  245|      1|}
  ------------------
  556|      1|			stcb->asoc.alternate = NULL;
  557|      1|		}
  558|  2.23k|		if (response_required) {
  ------------------
  |  Branch (558:7): [True: 1.68k, False: 554]
  ------------------
  559|  1.68k|			m_reply = sctp_asconf_success_response(aph->correlation_id);
  560|  1.68k|		}
  561|       |		/* Mobility adaptation.
  562|       |		   Ideally, when the reception of SET PRIMARY with DELETE IP
  563|       |		   ADDRESS of the previous primary destination, unacknowledged
  564|       |		   DATA are retransmitted immediately to the new primary
  565|       |		   destination for seamless handover.
  566|       |		   If the destination is UNCONFIRMED and marked to REQ_PRIM,
  567|       |		   The retransmission occur when reception of the
  568|       |		   HEARTBEAT-ACK.  (See sctp_handle_heartbeat_ack in
  569|       |		   sctp_input.c)
  570|       |		   Also, when change of the primary destination, it is better
  571|       |		   that all subsequent new DATA containing already queued DATA
  572|       |		   are transmitted to the new primary destination. (by micchie)
  573|       |		 */
  574|  2.23k|		if ((sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|  4.47k|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 2.23k]
  |  |  ------------------
  ------------------
  575|  2.23k|		                                 SCTP_MOBILITY_BASE) ||
  576|  2.23k|		    sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|  2.23k|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 2.23k]
  |  |  ------------------
  ------------------
  577|  2.23k|		                                SCTP_MOBILITY_FASTHANDOFF)) &&
  578|  2.23k|		    sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|  2.23k|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  579|  2.23k|		                                SCTP_MOBILITY_PRIM_DELETED) &&
  580|  2.23k|		    (stcb->asoc.primary_destination->dest_state &
  ------------------
  |  Branch (580:7): [True: 0, False: 0]
  ------------------
  581|      0|		     SCTP_ADDR_UNCONFIRMED) == 0) {
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  582|      0|			sctp_timer_stop(SCTP_TIMER_TYPE_PRIM_DELETED,
  ------------------
  |  |  548|      0|#define SCTP_TIMER_TYPE_PRIM_DELETED	17
  ------------------
  583|      0|			                stcb->sctp_ep, stcb, NULL,
  584|      0|			                SCTP_FROM_SCTP_ASCONF + SCTP_LOC_1);
  ------------------
  |  |  762|      0|#define SCTP_FROM_SCTP_ASCONF       0x80000000
  ------------------
              			                SCTP_FROM_SCTP_ASCONF + SCTP_LOC_1);
  ------------------
  |  |  769|      0|#define SCTP_LOC_1  0x00000001
  ------------------
  585|      0|			if (sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|      0|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|      0|					SCTP_MOBILITY_FASTHANDOFF)) {
  587|      0|				sctp_assoc_immediate_retrans(stcb,
  588|      0|						stcb->asoc.primary_destination);
  589|      0|			}
  590|      0|			if (sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|      0|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|      0|					SCTP_MOBILITY_BASE)) {
  592|      0|				sctp_move_chunks_from_net(stcb,
  593|      0|						stcb->asoc.deleted_primary);
  594|      0|			}
  595|      0|			sctp_delete_prim_timer(stcb->sctp_ep, stcb);
  596|      0|		}
  597|  3.72k|	} else {
  598|       |		/* couldn't set the requested primary address! */
  599|  3.72k|		SCTPDBG(SCTP_DEBUG_ASCONF1,
  600|  3.72k|			"process_asconf_set_primary: set primary failed!\n");
  601|       |		/* must have been an invalid address, so report */
  602|  3.72k|		m_reply = sctp_asconf_error_response(aph->correlation_id,
  603|  3.72k|		    SCTP_CAUSE_UNRESOLVABLE_ADDR, (uint8_t *) aph,
  ------------------
  |  |  373|  3.72k|#define SCTP_CAUSE_UNRESOLVABLE_ADDR	0x0005
  ------------------
  604|  3.72k|		    aparam_length);
  605|  3.72k|	}
  606|       |
  607|  5.96k|	return (m_reply);
  608|  5.96k|}

sctp_clear_chunklist:
   53|  31.6k|{
   54|  31.6k|	memset(chklist, 0, sizeof(*chklist));
   55|       |	/* chklist->num_chunks = 0; */
   56|  31.6k|}
sctp_alloc_chunklist:
   60|  31.6k|{
   61|  31.6k|	sctp_auth_chklist_t *chklist;
   62|       |
   63|  31.6k|	SCTP_MALLOC(chklist, sctp_auth_chklist_t *, sizeof(*chklist),
  ------------------
  |  |  669|  31.6k|	do {								\
  |  |  670|  31.6k|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|  31.6k|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|  31.6k|    do {								\
  |  |  |  |  198|  31.6k|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  63.3k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|  31.6k|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|  31.6k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
   64|  31.6k|		    SCTP_M_AUTH_CL);
   65|  31.6k|	if (chklist == NULL) {
  ------------------
  |  Branch (65:6): [True: 0, False: 31.6k]
  ------------------
   66|      0|		SCTPDBG(SCTP_DEBUG_AUTH1, "sctp_alloc_chunklist: failed to get memory!\n");
   67|  31.6k|	} else {
   68|  31.6k|		sctp_clear_chunklist(chklist);
   69|  31.6k|	}
   70|  31.6k|	return (chklist);
   71|  31.6k|}
sctp_free_chunklist:
   75|  31.6k|{
   76|  31.6k|	if (list != NULL)
  ------------------
  |  Branch (76:6): [True: 31.6k, False: 0]
  ------------------
   77|  31.6k|		SCTP_FREE(list, SCTP_M_AUTH_CL);
  ------------------
  |  |  673|  31.6k|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|  31.6k|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
   78|  31.6k|}
sctp_copy_chunklist:
   82|  11.5k|{
   83|  11.5k|	sctp_auth_chklist_t *new_list;
   84|       |
   85|  11.5k|	if (list == NULL)
  ------------------
  |  Branch (85:6): [True: 0, False: 11.5k]
  ------------------
   86|      0|		return (NULL);
   87|       |
   88|       |	/* get a new list */
   89|  11.5k|	new_list = sctp_alloc_chunklist();
   90|  11.5k|	if (new_list == NULL)
  ------------------
  |  Branch (90:6): [True: 0, False: 11.5k]
  ------------------
   91|      0|		return (NULL);
   92|       |	/* copy it */
   93|  11.5k|	memcpy(new_list, list, sizeof(*new_list));
   94|       |
   95|  11.5k|	return (new_list);
   96|  11.5k|}
sctp_auth_add_chunk:
  103|  46.3k|{
  104|  46.3k|	if (list == NULL)
  ------------------
  |  Branch (104:6): [True: 0, False: 46.3k]
  ------------------
  105|      0|		return (-1);
  106|       |
  107|       |	/* is chunk restricted? */
  108|  46.3k|	if ((chunk == SCTP_INITIATION) ||
  ------------------
  |  |  458|  46.3k|#define SCTP_INITIATION		0x01
  ------------------
  |  Branch (108:6): [True: 328, False: 46.0k]
  ------------------
  109|  46.3k|	    (chunk == SCTP_INITIATION_ACK) ||
  ------------------
  |  |  459|  46.0k|#define SCTP_INITIATION_ACK	0x02
  ------------------
  |  Branch (109:6): [True: 249, False: 45.7k]
  ------------------
  110|  46.3k|	    (chunk == SCTP_SHUTDOWN_COMPLETE) ||
  ------------------
  |  |  471|  45.7k|#define SCTP_SHUTDOWN_COMPLETE	0x0e
  ------------------
  |  Branch (110:6): [True: 233, False: 45.5k]
  ------------------
  111|  46.3k|	    (chunk == SCTP_AUTHENTICATION)) {
  ------------------
  |  |  473|  45.5k|#define SCTP_AUTHENTICATION     0x0f
  ------------------
  |  Branch (111:6): [True: 298, False: 45.2k]
  ------------------
  112|  1.10k|		return (-1);
  113|  1.10k|	}
  114|  45.2k|	if (list->chunks[chunk] == 0) {
  ------------------
  |  Branch (114:6): [True: 41.5k, False: 3.73k]
  ------------------
  115|  41.5k|		list->chunks[chunk] = 1;
  116|  41.5k|		list->num_chunks++;
  117|  41.5k|		SCTPDBG(SCTP_DEBUG_AUTH1,
  118|  41.5k|			"SCTP: added chunk %u (0x%02x) to Auth list\n",
  119|  41.5k|			chunk, chunk);
  120|  41.5k|	}
  121|  45.2k|	return (0);
  122|  46.3k|}
sctp_auth_get_chklist_size:
  145|  20.1k|{
  146|  20.1k|	if (list == NULL)
  ------------------
  |  Branch (146:6): [True: 0, False: 20.1k]
  ------------------
  147|      0|		return (0);
  148|  20.1k|	else
  149|  20.1k|		return (list->num_chunks);
  150|  20.1k|}
sctp_serialize_auth_chunks:
  158|  20.1k|{
  159|  20.1k|	int i, count = 0;
  160|       |
  161|  20.1k|	if (list == NULL)
  ------------------
  |  Branch (161:6): [True: 0, False: 20.1k]
  ------------------
  162|      0|		return (0);
  163|       |
  164|  5.18M|	for (i = 0; i < 256; i++) {
  ------------------
  |  Branch (164:14): [True: 5.16M, False: 20.1k]
  ------------------
  165|  5.16M|		if (list->chunks[i] != 0) {
  ------------------
  |  Branch (165:7): [True: 40.3k, False: 5.12M]
  ------------------
  166|  40.3k|			*ptr++ = i;
  167|  40.3k|			count++;
  168|  40.3k|		}
  169|  5.16M|	}
  170|  20.1k|	return (count);
  171|  20.1k|}
sctp_alloc_key:
  242|  21.8k|{
  243|  21.8k|	sctp_key_t *new_key;
  244|       |
  245|  21.8k|	SCTP_MALLOC(new_key, sctp_key_t *, sizeof(*new_key) + keylen,
  ------------------
  |  |  669|  21.8k|	do {								\
  |  |  670|  21.8k|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|  21.8k|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|  21.8k|    do {								\
  |  |  |  |  198|  21.8k|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  43.6k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|  21.8k|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|  21.8k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  246|  21.8k|		    SCTP_M_AUTH_KY);
  247|  21.8k|	if (new_key == NULL) {
  ------------------
  |  Branch (247:6): [True: 0, False: 21.8k]
  ------------------
  248|       |		/* out of memory */
  249|      0|		return (NULL);
  250|      0|	}
  251|  21.8k|	new_key->keylen = keylen;
  252|  21.8k|	return (new_key);
  253|  21.8k|}
sctp_free_key:
  257|  58.1k|{
  258|  58.1k|	if (key != NULL)
  ------------------
  |  Branch (258:6): [True: 21.8k, False: 36.2k]
  ------------------
  259|  58.1k|		SCTP_FREE(key,SCTP_M_AUTH_KY);
  ------------------
  |  |  673|  21.8k|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|  21.8k|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  260|  58.1k|}
sctp_compute_hashkey:
  400|  1.22k|{
  401|  1.22k|	uint32_t keylen;
  402|  1.22k|	sctp_key_t *new_key;
  403|  1.22k|	uint8_t *key_ptr;
  404|       |
  405|  1.22k|	keylen = sctp_get_keylen(key1) + sctp_get_keylen(key2) +
  406|  1.22k|	    sctp_get_keylen(shared);
  407|       |
  408|  1.22k|	if (keylen > 0) {
  ------------------
  |  Branch (408:6): [True: 1.22k, False: 0]
  ------------------
  409|       |		/* get space for the new key */
  410|  1.22k|		new_key = sctp_alloc_key(keylen);
  411|  1.22k|		if (new_key == NULL) {
  ------------------
  |  Branch (411:7): [True: 0, False: 1.22k]
  ------------------
  412|       |			/* out of memory */
  413|      0|			return (NULL);
  414|      0|		}
  415|  1.22k|		new_key->keylen = keylen;
  416|  1.22k|		key_ptr = new_key->key;
  417|  1.22k|	} else {
  418|       |		/* all keys empty/null?! */
  419|      0|		return (NULL);
  420|      0|	}
  421|       |
  422|       |	/* concatenate the keys */
  423|  1.22k|	if (sctp_compare_key(key1, key2) <= 0) {
  ------------------
  |  Branch (423:6): [True: 1.22k, False: 5]
  ------------------
  424|       |		/* key is shared + key1 + key2 */
  425|  1.22k|		if (sctp_get_keylen(shared)) {
  ------------------
  |  Branch (425:7): [True: 0, False: 1.22k]
  ------------------
  426|      0|			memcpy(key_ptr, shared->key, shared->keylen);
  427|      0|			key_ptr += shared->keylen;
  428|      0|		}
  429|  1.22k|		if (sctp_get_keylen(key1)) {
  ------------------
  |  Branch (429:7): [True: 1.22k, False: 0]
  ------------------
  430|  1.22k|			memcpy(key_ptr, key1->key, key1->keylen);
  431|  1.22k|			key_ptr += key1->keylen;
  432|  1.22k|		}
  433|  1.22k|		if (sctp_get_keylen(key2)) {
  ------------------
  |  Branch (433:7): [True: 1.22k, False: 0]
  ------------------
  434|  1.22k|			memcpy(key_ptr, key2->key, key2->keylen);
  435|  1.22k|		}
  436|  1.22k|	} else {
  437|       |		/* key is shared + key2 + key1 */
  438|      5|		if (sctp_get_keylen(shared)) {
  ------------------
  |  Branch (438:7): [True: 0, False: 5]
  ------------------
  439|      0|			memcpy(key_ptr, shared->key, shared->keylen);
  440|      0|			key_ptr += shared->keylen;
  441|      0|		}
  442|      5|		if (sctp_get_keylen(key2)) {
  ------------------
  |  Branch (442:7): [True: 5, False: 0]
  ------------------
  443|      5|			memcpy(key_ptr, key2->key, key2->keylen);
  444|      5|			key_ptr += key2->keylen;
  445|      5|		}
  446|      5|		if (sctp_get_keylen(key1)) {
  ------------------
  |  Branch (446:7): [True: 5, False: 0]
  ------------------
  447|      5|			memcpy(key_ptr, key1->key, key1->keylen);
  448|      5|		}
  449|      5|	}
  450|  1.22k|	return (new_key);
  451|  1.22k|}
sctp_alloc_sharedkey:
  455|  23.1k|{
  456|  23.1k|	sctp_sharedkey_t *new_key;
  457|       |
  458|  23.1k|	SCTP_MALLOC(new_key, sctp_sharedkey_t *, sizeof(*new_key),
  ------------------
  |  |  669|  23.1k|	do {								\
  |  |  670|  23.1k|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|  23.1k|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|  23.1k|    do {								\
  |  |  |  |  198|  23.1k|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  46.2k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|  23.1k|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|  23.1k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  459|  23.1k|		    SCTP_M_AUTH_KY);
  460|  23.1k|	if (new_key == NULL) {
  ------------------
  |  Branch (460:6): [True: 0, False: 23.1k]
  ------------------
  461|       |		/* out of memory */
  462|      0|		return (NULL);
  463|      0|	}
  464|  23.1k|	new_key->keyid = 0;
  465|  23.1k|	new_key->key = NULL;
  466|  23.1k|	new_key->refcount = 1;
  467|  23.1k|	new_key->deactivated = 0;
  468|  23.1k|	return (new_key);
  469|  23.1k|}
sctp_free_sharedkey:
  473|  23.1k|{
  474|  23.1k|	if (skey == NULL)
  ------------------
  |  Branch (474:6): [True: 0, False: 23.1k]
  ------------------
  475|      0|		return;
  476|       |
  477|  23.1k|	if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&skey->refcount)) {
  ------------------
  |  |  115|  23.1k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  ------------------
  |  |  |  |  103|  23.1k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  ------------------
  |  |  |  Branch (115:49): [True: 23.1k, False: 0]
  |  |  ------------------
  ------------------
  478|  23.1k|		if (skey->key != NULL)
  ------------------
  |  Branch (478:7): [True: 0, False: 23.1k]
  ------------------
  479|      0|			sctp_free_key(skey->key);
  480|  23.1k|		SCTP_FREE(skey, SCTP_M_AUTH_KY);
  ------------------
  |  |  673|  23.1k|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|  23.1k|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  481|  23.1k|	}
  482|  23.1k|}
sctp_find_sharedkey:
  486|  1.22k|{
  487|  1.22k|	sctp_sharedkey_t *skey;
  488|       |
  489|  1.22k|	LIST_FOREACH(skey, shared_keys, next) {
  490|  1.22k|		if (skey->keyid == key_id)
  ------------------
  |  Branch (490:7): [True: 1.22k, False: 0]
  ------------------
  491|  1.22k|			return (skey);
  492|  1.22k|	}
  493|      0|	return (NULL);
  494|  1.22k|}
sctp_insert_sharedkey:
  499|  23.1k|{
  500|  23.1k|	sctp_sharedkey_t *skey;
  501|       |
  502|  23.1k|	if ((shared_keys == NULL) || (new_skey == NULL))
  ------------------
  |  Branch (502:6): [True: 0, False: 23.1k]
  |  Branch (502:31): [True: 0, False: 23.1k]
  ------------------
  503|      0|		return (EINVAL);
  504|       |
  505|       |	/* insert into an empty list? */
  506|  23.1k|	if (LIST_EMPTY(shared_keys)) {
  507|  23.1k|		LIST_INSERT_HEAD(shared_keys, new_skey, next);
  508|  23.1k|		return (0);
  509|  23.1k|	}
  510|       |	/* insert into the existing list, ordered by key id */
  511|      0|	LIST_FOREACH(skey, shared_keys, next) {
  512|      0|		if (new_skey->keyid < skey->keyid) {
  ------------------
  |  Branch (512:7): [True: 0, False: 0]
  ------------------
  513|       |			/* insert it before here */
  514|      0|			LIST_INSERT_BEFORE(skey, new_skey, next);
  515|      0|			return (0);
  516|      0|		} else if (new_skey->keyid == skey->keyid) {
  ------------------
  |  Branch (516:14): [True: 0, False: 0]
  ------------------
  517|       |			/* replace the existing key */
  518|       |			/* verify this key *can* be replaced */
  519|      0|			if ((skey->deactivated) || (skey->refcount > 1)) {
  ------------------
  |  Branch (519:8): [True: 0, False: 0]
  |  Branch (519:31): [True: 0, False: 0]
  ------------------
  520|      0|				SCTPDBG(SCTP_DEBUG_AUTH1,
  521|      0|					"can't replace shared key id %u\n",
  522|      0|					new_skey->keyid);
  523|      0|				return (EBUSY);
  524|      0|			}
  525|      0|			SCTPDBG(SCTP_DEBUG_AUTH1,
  526|      0|				"replacing shared key id %u\n",
  527|      0|				new_skey->keyid);
  528|      0|			LIST_INSERT_BEFORE(skey, new_skey, next);
  529|      0|			LIST_REMOVE(skey, next);
  530|      0|			sctp_free_sharedkey(skey);
  531|      0|			return (0);
  532|      0|		}
  533|      0|		if (LIST_NEXT(skey, next) == NULL) {
  ------------------
  |  Branch (533:7): [True: 0, False: 0]
  ------------------
  534|       |			/* belongs at the end of the list */
  535|      0|			LIST_INSERT_AFTER(skey, new_skey, next);
  536|      0|			return (0);
  537|      0|		}
  538|      0|	}
  539|       |	/* shouldn't reach here */
  540|      0|	return (EINVAL);
  541|      0|}
sctp_copy_skeylist:
  607|  11.5k|{
  608|  11.5k|	sctp_sharedkey_t *skey, *new_skey;
  609|  11.5k|	int count = 0;
  610|       |
  611|  11.5k|	if ((src == NULL) || (dest == NULL))
  ------------------
  |  Branch (611:6): [True: 0, False: 11.5k]
  |  Branch (611:23): [True: 0, False: 11.5k]
  ------------------
  612|      0|		return (0);
  613|  11.5k|	LIST_FOREACH(skey, src, next) {
  614|  11.5k|		new_skey = sctp_copy_sharedkey(skey);
  615|  11.5k|		if (new_skey != NULL) {
  ------------------
  |  Branch (615:7): [True: 11.5k, False: 0]
  ------------------
  616|  11.5k|			if (sctp_insert_sharedkey(dest, new_skey)) {
  ------------------
  |  Branch (616:8): [True: 0, False: 11.5k]
  ------------------
  617|      0|				sctp_free_sharedkey(new_skey);
  618|  11.5k|			} else {
  619|  11.5k|				count++;
  620|  11.5k|			}
  621|  11.5k|		}
  622|  11.5k|	}
  623|  11.5k|	return (count);
  624|  11.5k|}
sctp_alloc_hmaclist:
  628|  31.5k|{
  629|  31.5k|	sctp_hmaclist_t *new_list;
  630|  31.5k|	int alloc_size;
  631|       |
  632|  31.5k|	alloc_size = sizeof(*new_list) + num_hmacs * sizeof(new_list->hmac[0]);
  633|  31.5k|	SCTP_MALLOC(new_list, sctp_hmaclist_t *, alloc_size,
  ------------------
  |  |  669|  31.5k|	do {								\
  |  |  670|  31.5k|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|  31.5k|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|  31.5k|    do {								\
  |  |  |  |  198|  31.5k|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  63.1k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|  31.5k|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|  31.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  634|  31.5k|		    SCTP_M_AUTH_HL);
  635|  31.5k|	if (new_list == NULL) {
  ------------------
  |  Branch (635:6): [True: 0, False: 31.5k]
  ------------------
  636|       |		/* out of memory */
  637|      0|		return (NULL);
  638|      0|	}
  639|  31.5k|	new_list->max_algo = num_hmacs;
  640|  31.5k|	new_list->num_algo = 0;
  641|  31.5k|	return (new_list);
  642|  31.5k|}
sctp_free_hmaclist:
  646|  31.5k|{
  647|  31.5k|	if (list != NULL) {
  ------------------
  |  Branch (647:6): [True: 31.5k, False: 0]
  ------------------
  648|  31.5k|		SCTP_FREE(list,SCTP_M_AUTH_HL);
  ------------------
  |  |  673|  31.5k|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|  31.5k|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  649|  31.5k|	}
  650|  31.5k|}
sctp_auth_add_hmacid:
  654|  32.1k|{
  655|  32.1k|	int i;
  656|  32.1k|	if (list == NULL)
  ------------------
  |  Branch (656:6): [True: 0, False: 32.1k]
  ------------------
  657|      0|		return (-1);
  658|  32.1k|	if (list->num_algo == list->max_algo) {
  ------------------
  |  Branch (658:6): [True: 0, False: 32.1k]
  ------------------
  659|      0|		SCTPDBG(SCTP_DEBUG_AUTH1,
  660|      0|			"SCTP: HMAC id list full, ignoring add %u\n", hmac_id);
  661|      0|		return (-1);
  662|      0|	}
  663|       |#if defined(SCTP_SUPPORT_HMAC_SHA256)
  664|       |	if ((hmac_id != SCTP_AUTH_HMAC_ID_SHA1) &&
  665|       |	    (hmac_id != SCTP_AUTH_HMAC_ID_SHA256)) {
  666|       |#else
  667|  32.1k|	if (hmac_id != SCTP_AUTH_HMAC_ID_SHA1) {
  ------------------
  |  |  691|  32.1k|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  ------------------
  |  Branch (667:6): [True: 12.0k, False: 20.1k]
  ------------------
  668|  12.0k|#endif
  669|  12.0k|		return (-1);
  670|  12.0k|	}
  671|       |	/* Now is it already in the list */
  672|  20.1k|	for (i = 0; i < list->num_algo; i++) {
  ------------------
  |  Branch (672:14): [True: 98, False: 20.0k]
  ------------------
  673|     98|		if (list->hmac[i] == hmac_id) {
  ------------------
  |  Branch (673:7): [True: 98, False: 0]
  ------------------
  674|       |			/* already in list */
  675|     98|			return (-1);
  676|     98|		}
  677|     98|	}
  678|  20.0k|	SCTPDBG(SCTP_DEBUG_AUTH1, "SCTP: add HMAC id %u to list\n", hmac_id);
  679|  20.0k|	list->hmac[list->num_algo++] = hmac_id;
  680|  20.0k|	return (0);
  681|  20.1k|}
sctp_copy_hmaclist:
  685|  11.5k|{
  686|  11.5k|	sctp_hmaclist_t *new_list;
  687|  11.5k|	int i;
  688|       |
  689|  11.5k|	if (list == NULL)
  ------------------
  |  Branch (689:6): [True: 0, False: 11.5k]
  ------------------
  690|      0|		return (NULL);
  691|       |	/* get a new list */
  692|  11.5k|	new_list = sctp_alloc_hmaclist(list->max_algo);
  693|  11.5k|	if (new_list == NULL)
  ------------------
  |  Branch (693:6): [True: 0, False: 11.5k]
  ------------------
  694|      0|		return (NULL);
  695|       |	/* copy it */
  696|  11.5k|	new_list->max_algo = list->max_algo;
  697|  11.5k|	new_list->num_algo = list->num_algo;
  698|  23.1k|	for (i = 0; i < list->num_algo; i++)
  ------------------
  |  Branch (698:14): [True: 11.5k, False: 11.5k]
  ------------------
  699|  11.5k|		new_list->hmac[i] = list->hmac[i];
  700|  11.5k|	return (new_list);
  701|  11.5k|}
sctp_default_supported_hmaclist:
  705|  11.5k|{
  706|  11.5k|	sctp_hmaclist_t *new_list;
  707|       |
  708|       |#if defined(SCTP_SUPPORT_HMAC_SHA256)
  709|       |	new_list = sctp_alloc_hmaclist(2);
  710|       |#else
  711|  11.5k|	new_list = sctp_alloc_hmaclist(1);
  712|  11.5k|#endif
  713|  11.5k|	if (new_list == NULL)
  ------------------
  |  Branch (713:6): [True: 0, False: 11.5k]
  ------------------
  714|      0|		return (NULL);
  715|       |#if defined(SCTP_SUPPORT_HMAC_SHA256)
  716|       |	/* We prefer SHA256, so list it first */
  717|       |	(void)sctp_auth_add_hmacid(new_list, SCTP_AUTH_HMAC_ID_SHA256);
  718|       |#endif
  719|  11.5k|	(void)sctp_auth_add_hmacid(new_list, SCTP_AUTH_HMAC_ID_SHA1);
  ------------------
  |  |  691|  11.5k|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  ------------------
  720|  11.5k|	return (new_list);
  721|  11.5k|}
sctp_negotiate_hmacid:
  729|  9.06k|{
  730|  9.06k|	int i, j;
  731|       |
  732|  9.06k|	if ((local == NULL) || (peer == NULL))
  ------------------
  |  Branch (732:6): [True: 0, False: 9.06k]
  |  Branch (732:25): [True: 603, False: 8.46k]
  ------------------
  733|    603|		return (SCTP_AUTH_HMAC_ID_RSVD);
  ------------------
  |  |  690|    603|#define SCTP_AUTH_HMAC_ID_RSVD		0x0000
  ------------------
  734|       |
  735|  8.46k|	for (i = 0; i < peer->num_algo; i++) {
  ------------------
  |  Branch (735:14): [True: 8.46k, False: 0]
  ------------------
  736|  8.46k|		for (j = 0; j < local->num_algo; j++) {
  ------------------
  |  Branch (736:15): [True: 8.46k, False: 0]
  ------------------
  737|  8.46k|			if (peer->hmac[i] == local->hmac[j]) {
  ------------------
  |  Branch (737:8): [True: 8.46k, False: 0]
  ------------------
  738|       |				/* found the "best" one */
  739|  8.46k|				SCTPDBG(SCTP_DEBUG_AUTH1,
  740|  8.46k|					"SCTP: negotiated peer HMAC id %u\n",
  741|  8.46k|					peer->hmac[i]);
  742|  8.46k|				return (peer->hmac[i]);
  743|  8.46k|			}
  744|  8.46k|		}
  745|  8.46k|	}
  746|       |	/* didn't find one! */
  747|      0|	return (SCTP_AUTH_HMAC_ID_RSVD);
  ------------------
  |  |  690|      0|#define SCTP_AUTH_HMAC_ID_RSVD		0x0000
  ------------------
  748|  8.46k|}
sctp_serialize_hmaclist:
  756|  31.7k|{
  757|  31.7k|	int i;
  758|  31.7k|	uint16_t hmac_id;
  759|       |
  760|  31.7k|	if (list == NULL)
  ------------------
  |  Branch (760:6): [True: 0, False: 31.7k]
  ------------------
  761|      0|		return (0);
  762|       |
  763|  63.4k|	for (i = 0; i < list->num_algo; i++) {
  ------------------
  |  Branch (763:14): [True: 31.7k, False: 31.7k]
  ------------------
  764|  31.7k|		hmac_id = htons(list->hmac[i]);
  765|  31.7k|		memcpy(ptr, &hmac_id, sizeof(hmac_id));
  766|  31.7k|		ptr += sizeof(hmac_id);
  767|  31.7k|	}
  768|  31.7k|	return (list->num_algo * sizeof(hmac_id));
  769|  31.7k|}
sctp_verify_hmac_param:
  773|  8.50k|{
  774|  8.50k|	uint32_t i;
  775|       |
  776|  17.8k|	for (i = 0; i < num_hmacs; i++) {
  ------------------
  |  Branch (776:14): [True: 17.8k, False: 26]
  ------------------
  777|  17.8k|		if (ntohs(hmacs->hmac_ids[i]) == SCTP_AUTH_HMAC_ID_SHA1) {
  ------------------
  |  |  691|  17.8k|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  ------------------
  |  Branch (777:7): [True: 8.47k, False: 9.38k]
  ------------------
  778|  8.47k|			return (0);
  779|  8.47k|		}
  780|  17.8k|	}
  781|     26|	return (-1);
  782|  8.50k|}
sctp_free_authinfo:
  802|  11.5k|{
  803|  11.5k|	if (authinfo == NULL)
  ------------------
  |  Branch (803:6): [True: 0, False: 11.5k]
  ------------------
  804|      0|		return;
  805|       |
  806|  11.5k|	if (authinfo->random != NULL)
  ------------------
  |  Branch (806:6): [True: 11.5k, False: 0]
  ------------------
  807|  11.5k|		sctp_free_key(authinfo->random);
  808|  11.5k|	if (authinfo->peer_random != NULL)
  ------------------
  |  Branch (808:6): [True: 9.06k, False: 2.49k]
  ------------------
  809|  9.06k|		sctp_free_key(authinfo->peer_random);
  810|  11.5k|	if (authinfo->assoc_key != NULL)
  ------------------
  |  Branch (810:6): [True: 1.22k, False: 10.3k]
  ------------------
  811|  1.22k|		sctp_free_key(authinfo->assoc_key);
  812|  11.5k|	if (authinfo->recv_key != NULL)
  ------------------
  |  Branch (812:6): [True: 0, False: 11.5k]
  ------------------
  813|      0|		sctp_free_key(authinfo->recv_key);
  814|       |
  815|       |	/* We are NOT dynamically allocating authinfo's right now... */
  816|       |	/* SCTP_FREE(authinfo, SCTP_M_AUTH_??); */
  817|  11.5k|}
sctp_get_auth_chunk_len:
  821|  1.35k|{
  822|  1.35k|	int size;
  823|       |
  824|  1.35k|	size = sizeof(struct sctp_auth_chunk) + sctp_get_hmac_digest_len(hmac_algo);
  825|  1.35k|	return (SCTP_SIZE32(size));
  ------------------
  |  |  383|  1.35k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  826|  1.35k|}
sctp_get_hmac_digest_len:
  830|  6.31k|{
  831|  6.31k|	switch (hmac_algo) {
  832|  6.24k|	case SCTP_AUTH_HMAC_ID_SHA1:
  ------------------
  |  |  691|  6.24k|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  ------------------
  |  Branch (832:2): [True: 6.24k, False: 66]
  ------------------
  833|  6.24k|		return (SCTP_AUTH_DIGEST_LEN_SHA1);
  ------------------
  |  |   41|  6.24k|#define SCTP_AUTH_DIGEST_LEN_SHA1	20
  ------------------
  834|       |#if defined(SCTP_SUPPORT_HMAC_SHA256)
  835|       |	case SCTP_AUTH_HMAC_ID_SHA256:
  836|       |		return (SCTP_AUTH_DIGEST_LEN_SHA256);
  837|       |#endif
  838|     66|	default:
  ------------------
  |  Branch (838:2): [True: 66, False: 6.24k]
  ------------------
  839|       |		/* unknown HMAC algorithm: can't do anything */
  840|     66|		return (0);
  841|  6.31k|	} /* end switch */
  842|  6.31k|}
sctp_hmac_m:
  996|  1.23k|{
  997|  1.23k|	uint32_t digestlen;
  998|  1.23k|	uint32_t blocklen;
  999|  1.23k|	sctp_hash_context_t ctx;
 1000|  1.23k|	uint8_t ipad[128], opad[128];	/* keyed hash inner/outer pads */
 1001|  1.23k|	uint8_t temp[SCTP_AUTH_DIGEST_LEN_MAX];
 1002|  1.23k|	uint32_t i;
 1003|  1.23k|	struct mbuf *m_tmp;
 1004|       |
 1005|       |	/* sanity check the material and length */
 1006|  1.23k|	if ((key == NULL) || (keylen == 0) || (m == NULL) || (digest == NULL)) {
  ------------------
  |  Branch (1006:6): [True: 0, False: 1.23k]
  |  Branch (1006:23): [True: 0, False: 1.23k]
  |  Branch (1006:40): [True: 0, False: 1.23k]
  |  Branch (1006:55): [True: 0, False: 1.23k]
  ------------------
 1007|       |		/* can't do HMAC with empty key or text or digest store */
 1008|      0|		return (0);
 1009|      0|	}
 1010|       |	/* validate the hmac algo and get the digest length */
 1011|  1.23k|	digestlen = sctp_get_hmac_digest_len(hmac_algo);
 1012|  1.23k|	if (digestlen == 0)
  ------------------
  |  Branch (1012:6): [True: 0, False: 1.23k]
  ------------------
 1013|      0|		return (0);
 1014|       |
 1015|       |	/* hash the key if it is longer than the hash block size */
 1016|  1.23k|	blocklen = sctp_get_hmac_block_len(hmac_algo);
 1017|  1.23k|	if (keylen > blocklen) {
  ------------------
  |  Branch (1017:6): [True: 0, False: 1.23k]
  ------------------
 1018|      0|		sctp_hmac_init(hmac_algo, &ctx);
 1019|      0|		sctp_hmac_update(hmac_algo, &ctx, key, keylen);
 1020|      0|		sctp_hmac_final(hmac_algo, &ctx, temp);
 1021|       |		/* set the hashed key as the key */
 1022|      0|		keylen = digestlen;
 1023|      0|		key = temp;
 1024|      0|	}
 1025|       |	/* initialize the inner/outer pads with the key and "append" zeroes */
 1026|  1.23k|	memset(ipad, 0, blocklen);
 1027|  1.23k|	memset(opad, 0, blocklen);
 1028|  1.23k|	memcpy(ipad, key, keylen);
 1029|  1.23k|	memcpy(opad, key, keylen);
 1030|       |
 1031|       |	/* XOR the key with ipad and opad values */
 1032|  80.4k|	for (i = 0; i < blocklen; i++) {
  ------------------
  |  Branch (1032:14): [True: 79.2k, False: 1.23k]
  ------------------
 1033|  79.2k|		ipad[i] ^= 0x36;
 1034|  79.2k|		opad[i] ^= 0x5c;
 1035|  79.2k|	}
 1036|       |
 1037|       |	/* perform inner hash */
 1038|  1.23k|	sctp_hmac_init(hmac_algo, &ctx);
 1039|  1.23k|	sctp_hmac_update(hmac_algo, &ctx, ipad, blocklen);
 1040|       |	/* find the correct starting mbuf and offset (get start of text) */
 1041|  1.23k|	m_tmp = m;
 1042|  1.71k|	while ((m_tmp != NULL) && (m_offset >= (uint32_t) SCTP_BUF_LEN(m_tmp))) {
  ------------------
  |  |  795|  1.71k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  1.71k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (1042:9): [True: 1.71k, False: 0]
  |  Branch (1042:28): [True: 476, False: 1.23k]
  ------------------
 1043|    476|		m_offset -= SCTP_BUF_LEN(m_tmp);
  ------------------
  |  |  795|    476|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    476|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 1044|    476|		m_tmp = SCTP_BUF_NEXT(m_tmp);
  ------------------
  |  |  796|    476|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    476|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 1045|    476|	}
 1046|       |	/* now use the rest of the mbuf chain for the text */
 1047|  18.6k|	while (m_tmp != NULL) {
  ------------------
  |  Branch (1047:9): [True: 17.4k, False: 1.23k]
  ------------------
 1048|  17.4k|		if ((SCTP_BUF_NEXT(m_tmp) == NULL) && trailer) {
  ------------------
  |  |  796|  17.4k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  17.4k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (1048:7): [True: 1.23k, False: 16.1k]
  |  Branch (1048:41): [True: 0, False: 1.23k]
  ------------------
 1049|      0|			sctp_hmac_update(hmac_algo, &ctx, mtod(m_tmp, uint8_t *) + m_offset,
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 1050|      0|					 SCTP_BUF_LEN(m_tmp) - (trailer+m_offset));
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 1051|  17.4k|		} else {
 1052|  17.4k|			sctp_hmac_update(hmac_algo, &ctx, mtod(m_tmp, uint8_t *) + m_offset,
  ------------------
  |  |   96|  17.4k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  17.4k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 1053|  17.4k|					 SCTP_BUF_LEN(m_tmp) - m_offset);
  ------------------
  |  |  795|  17.4k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  17.4k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 1054|  17.4k|		}
 1055|       |
 1056|       |		/* clear the offset since it's only for the first mbuf */
 1057|  17.4k|		m_offset = 0;
 1058|  17.4k|		m_tmp = SCTP_BUF_NEXT(m_tmp);
  ------------------
  |  |  796|  17.4k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  17.4k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 1059|  17.4k|	}
 1060|  1.23k|	sctp_hmac_final(hmac_algo, &ctx, temp);
 1061|       |
 1062|       |	/* perform outer hash */
 1063|  1.23k|	sctp_hmac_init(hmac_algo, &ctx);
 1064|  1.23k|	sctp_hmac_update(hmac_algo, &ctx, opad, blocklen);
 1065|  1.23k|	sctp_hmac_update(hmac_algo, &ctx, temp, digestlen);
 1066|  1.23k|	sctp_hmac_final(hmac_algo, &ctx, digest);
 1067|       |
 1068|  1.23k|	return (digestlen);
 1069|  1.23k|}
sctp_compute_hmac_m:
 1113|  1.23k|{
 1114|  1.23k|	uint32_t digestlen;
 1115|  1.23k|	uint32_t blocklen;
 1116|  1.23k|	sctp_hash_context_t ctx;
 1117|  1.23k|	uint8_t temp[SCTP_AUTH_DIGEST_LEN_MAX];
 1118|       |
 1119|       |	/* sanity check */
 1120|  1.23k|	if ((key == NULL) || (m == NULL) || (digest == NULL)) {
  ------------------
  |  Branch (1120:6): [True: 0, False: 1.23k]
  |  Branch (1120:23): [True: 0, False: 1.23k]
  |  Branch (1120:38): [True: 0, False: 1.23k]
  ------------------
 1121|       |		/* can't do HMAC with empty key or text or digest store */
 1122|      0|		return (0);
 1123|      0|	}
 1124|       |	/* validate the hmac algo and get the digest length */
 1125|  1.23k|	digestlen = sctp_get_hmac_digest_len(hmac_algo);
 1126|  1.23k|	if (digestlen == 0)
  ------------------
  |  Branch (1126:6): [True: 0, False: 1.23k]
  ------------------
 1127|      0|		return (0);
 1128|       |
 1129|       |	/* hash the key if it is longer than the hash block size */
 1130|  1.23k|	blocklen = sctp_get_hmac_block_len(hmac_algo);
 1131|  1.23k|	if (key->keylen > blocklen) {
  ------------------
  |  Branch (1131:6): [True: 1.22k, False: 12]
  ------------------
 1132|  1.22k|		sctp_hmac_init(hmac_algo, &ctx);
 1133|  1.22k|		sctp_hmac_update(hmac_algo, &ctx, key->key, key->keylen);
 1134|  1.22k|		sctp_hmac_final(hmac_algo, &ctx, temp);
 1135|       |		/* save the hashed key as the new key */
 1136|  1.22k|		key->keylen = digestlen;
 1137|  1.22k|		memcpy(key->key, temp, key->keylen);
 1138|  1.22k|	}
 1139|  1.23k|	return (sctp_hmac_m(hmac_algo, key->key, key->keylen, m, m_offset, digest, 0));
 1140|  1.23k|}
sctp_clear_cachedkeys:
 1165|  18.1k|{
 1166|  18.1k|	if (stcb == NULL)
  ------------------
  |  Branch (1166:6): [True: 0, False: 18.1k]
  ------------------
 1167|      0|		return;
 1168|       |
 1169|  18.1k|	if (keyid == stcb->asoc.authinfo.assoc_keyid) {
  ------------------
  |  Branch (1169:6): [True: 18.1k, False: 0]
  ------------------
 1170|  18.1k|		sctp_free_key(stcb->asoc.authinfo.assoc_key);
 1171|  18.1k|		stcb->asoc.authinfo.assoc_key = NULL;
 1172|  18.1k|	}
 1173|  18.1k|	if (keyid == stcb->asoc.authinfo.recv_keyid) {
  ------------------
  |  Branch (1173:6): [True: 18.1k, False: 0]
  ------------------
 1174|  18.1k|		sctp_free_key(stcb->asoc.authinfo.recv_key);
 1175|  18.1k|		stcb->asoc.authinfo.recv_key = NULL;
 1176|  18.1k|	}
 1177|  18.1k|}
sctp_fill_hmac_digest_m:
 1523|  1.23k|{
 1524|  1.23k|	uint32_t digestlen;
 1525|  1.23k|	sctp_sharedkey_t *skey;
 1526|  1.23k|	sctp_key_t *key;
 1527|       |
 1528|  1.23k|	if ((stcb == NULL) || (auth == NULL))
  ------------------
  |  Branch (1528:6): [True: 0, False: 1.23k]
  |  Branch (1528:24): [True: 0, False: 1.23k]
  ------------------
 1529|      0|		return;
 1530|       |
 1531|       |	/* zero the digest + chunk padding */
 1532|  1.23k|	digestlen = sctp_get_hmac_digest_len(stcb->asoc.peer_hmac_id);
 1533|  1.23k|	memset(auth->hmac, 0, SCTP_SIZE32(digestlen));
  ------------------
  |  |  383|  1.23k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 1534|       |
 1535|       |	/* is the desired key cached? */
 1536|  1.23k|	if ((keyid != stcb->asoc.authinfo.assoc_keyid) ||
  ------------------
  |  Branch (1536:6): [True: 0, False: 1.23k]
  ------------------
 1537|  1.23k|	    (stcb->asoc.authinfo.assoc_key == NULL)) {
  ------------------
  |  Branch (1537:6): [True: 1.22k, False: 12]
  ------------------
 1538|  1.22k|		if (stcb->asoc.authinfo.assoc_key != NULL) {
  ------------------
  |  Branch (1538:7): [True: 0, False: 1.22k]
  ------------------
 1539|       |			/* free the old cached key */
 1540|      0|			sctp_free_key(stcb->asoc.authinfo.assoc_key);
 1541|      0|		}
 1542|  1.22k|		skey = sctp_find_sharedkey(&stcb->asoc.shared_keys, keyid);
 1543|       |		/* the only way skey is NULL is if null key id 0 is used */
 1544|  1.22k|		if (skey != NULL)
  ------------------
  |  Branch (1544:7): [True: 1.22k, False: 0]
  ------------------
 1545|  1.22k|			key = skey->key;
 1546|      0|		else
 1547|      0|			key = NULL;
 1548|       |		/* compute a new assoc key and cache it */
 1549|  1.22k|		stcb->asoc.authinfo.assoc_key =
 1550|  1.22k|		    sctp_compute_hashkey(stcb->asoc.authinfo.random,
 1551|  1.22k|					 stcb->asoc.authinfo.peer_random, key);
 1552|  1.22k|		stcb->asoc.authinfo.assoc_keyid = keyid;
 1553|  1.22k|		SCTPDBG(SCTP_DEBUG_AUTH1, "caching key id %u\n",
 1554|  1.22k|			stcb->asoc.authinfo.assoc_keyid);
 1555|       |#ifdef SCTP_DEBUG
 1556|       |		if (SCTP_AUTH_DEBUG)
 1557|       |			sctp_print_key(stcb->asoc.authinfo.assoc_key,
 1558|       |				       "Assoc Key");
 1559|       |#endif
 1560|  1.22k|	}
 1561|       |
 1562|       |	/* set in the active key id */
 1563|  1.23k|	auth->shared_key_id = htons(keyid);
 1564|       |
 1565|       |	/* compute and fill in the digest */
 1566|  1.23k|	(void)sctp_compute_hmac_m(stcb->asoc.peer_hmac_id, stcb->asoc.authinfo.assoc_key,
 1567|  1.23k|				  m, auth_offset, auth->hmac);
 1568|  1.23k|}
sctp_handle_auth:
 1611|  2.49k|{
 1612|  2.49k|	uint16_t chunklen;
 1613|  2.49k|	uint16_t shared_key_id;
 1614|  2.49k|	uint16_t hmac_id;
 1615|  2.49k|	sctp_sharedkey_t *skey;
 1616|  2.49k|	uint32_t digestlen;
 1617|  2.49k|	uint8_t digest[SCTP_AUTH_DIGEST_LEN_MAX];
 1618|  2.49k|	uint8_t computed_digest[SCTP_AUTH_DIGEST_LEN_MAX];
 1619|       |
 1620|       |	/* auth is checked for NULL by caller */
 1621|  2.49k|	chunklen = ntohs(auth->ch.chunk_length);
 1622|  2.49k|	if (chunklen < sizeof(*auth)) {
  ------------------
  |  Branch (1622:6): [True: 0, False: 2.49k]
  ------------------
 1623|      0|		SCTP_STAT_INCR(sctps_recvauthfailed);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1624|      0|		return (-1);
 1625|      0|	}
 1626|  2.49k|	SCTP_STAT_INCR(sctps_recvauth);
  ------------------
  |  | 1112|  2.49k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  2.49k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  2.49k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1627|       |
 1628|       |	/* get the auth params */
 1629|  2.49k|	shared_key_id = ntohs(auth->shared_key_id);
 1630|  2.49k|	hmac_id = ntohs(auth->hmac_id);
 1631|  2.49k|	SCTPDBG(SCTP_DEBUG_AUTH1,
 1632|  2.49k|		"SCTP AUTH Chunk: shared key %u, HMAC id %u\n",
 1633|  2.49k|		shared_key_id, hmac_id);
 1634|       |
 1635|  2.49k|#if defined(__Userspace__) && defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
 1636|  2.49k|	return (0);
 1637|      0|#endif
 1638|       |	/* is the indicated HMAC supported? */
 1639|      0|	if (!sctp_auth_is_supported_hmac(stcb->asoc.local_hmacs, hmac_id)) {
  ------------------
  |  Branch (1639:6): [True: 0, False: 0]
  ------------------
 1640|      0|		struct mbuf *op_err;
 1641|      0|		struct sctp_error_auth_invalid_hmac *cause;
 1642|       |
 1643|      0|		SCTP_STAT_INCR(sctps_recvivalhmacid);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1644|      0|		SCTPDBG(SCTP_DEBUG_AUTH1,
 1645|      0|			"SCTP Auth: unsupported HMAC id %u\n",
 1646|      0|			hmac_id);
 1647|       |		/*
 1648|       |		 * report this in an Error Chunk: Unsupported HMAC
 1649|       |		 * Identifier
 1650|       |		 */
 1651|      0|		op_err = sctp_get_mbuf_for_msg(sizeof(struct sctp_error_auth_invalid_hmac),
 1652|      0|		                               0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		                               0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |  288|      0|#define	MT_HEADER	MT_DATA	/* packet header, use M_PKTHDR instead */
  |  |  ------------------
  |  |  |  |  287|      0|#define	MT_DATA		1	/* dynamic (data) allocation */
  |  |  ------------------
  ------------------
 1653|      0|		if (op_err != NULL) {
  ------------------
  |  Branch (1653:7): [True: 0, False: 0]
  ------------------
 1654|       |			/* pre-reserve some space */
 1655|      0|			SCTP_BUF_RESV_UF(op_err, sizeof(struct sctp_chunkhdr));
  ------------------
  |  |  798|      0|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 1656|       |			/* fill in the error */
 1657|      0|			cause = mtod(op_err, struct sctp_error_auth_invalid_hmac *);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 1658|      0|			cause->cause.code = htons(SCTP_CAUSE_UNSUPPORTED_HMACID);
 1659|      0|			cause->cause.length = htons(sizeof(struct sctp_error_auth_invalid_hmac));
 1660|      0|			cause->hmac_id = ntohs(hmac_id);
 1661|      0|			SCTP_BUF_LEN(op_err) = sizeof(struct sctp_error_auth_invalid_hmac);
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 1662|       |			/* queue it */
 1663|      0|			sctp_queue_op_err(stcb, op_err);
 1664|      0|		}
 1665|      0|		return (-1);
 1666|      0|	}
 1667|       |	/* get the indicated shared key, if available */
 1668|      0|	if ((stcb->asoc.authinfo.recv_key == NULL) ||
  ------------------
  |  Branch (1668:6): [True: 0, False: 0]
  ------------------
 1669|      0|	    (stcb->asoc.authinfo.recv_keyid != shared_key_id)) {
  ------------------
  |  Branch (1669:6): [True: 0, False: 0]
  ------------------
 1670|       |		/* find the shared key on the assoc first */
 1671|      0|		skey = sctp_find_sharedkey(&stcb->asoc.shared_keys,
 1672|      0|					   shared_key_id);
 1673|       |		/* if the shared key isn't found, discard the chunk */
 1674|      0|		if (skey == NULL) {
  ------------------
  |  Branch (1674:7): [True: 0, False: 0]
  ------------------
 1675|      0|			SCTP_STAT_INCR(sctps_recvivalkeyid);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1676|      0|			SCTPDBG(SCTP_DEBUG_AUTH1,
 1677|      0|				"SCTP Auth: unknown key id %u\n",
 1678|      0|				shared_key_id);
 1679|      0|			return (-1);
 1680|      0|		}
 1681|       |		/* generate a notification if this is a new key id */
 1682|      0|		if (stcb->asoc.authinfo.recv_keyid != shared_key_id) {
  ------------------
  |  Branch (1682:7): [True: 0, False: 0]
  ------------------
 1683|      0|			sctp_ulp_notify(SCTP_NOTIFY_AUTH_NEW_KEY, stcb, 0,
  ------------------
  |  |  727|      0|#define SCTP_NOTIFY_AUTH_NEW_KEY                25
  ------------------
 1684|      0|			                &shared_key_id, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1685|      0|		}
 1686|       |		/* compute a new recv assoc key and cache it */
 1687|      0|		if (stcb->asoc.authinfo.recv_key != NULL)
  ------------------
  |  Branch (1687:7): [True: 0, False: 0]
  ------------------
 1688|      0|			sctp_free_key(stcb->asoc.authinfo.recv_key);
 1689|      0|		stcb->asoc.authinfo.recv_key =
 1690|      0|		    sctp_compute_hashkey(stcb->asoc.authinfo.random,
 1691|      0|		    stcb->asoc.authinfo.peer_random, skey->key);
 1692|      0|		stcb->asoc.authinfo.recv_keyid = shared_key_id;
 1693|       |#ifdef SCTP_DEBUG
 1694|       |		if (SCTP_AUTH_DEBUG)
 1695|       |			sctp_print_key(stcb->asoc.authinfo.recv_key, "Recv Key");
 1696|       |#endif
 1697|      0|	}
 1698|       |	/* validate the digest length */
 1699|      0|	digestlen = sctp_get_hmac_digest_len(hmac_id);
 1700|      0|	if (chunklen < (sizeof(*auth) + digestlen)) {
  ------------------
  |  Branch (1700:6): [True: 0, False: 0]
  ------------------
 1701|       |		/* invalid digest length */
 1702|      0|		SCTP_STAT_INCR(sctps_recvauthfailed);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1703|      0|		SCTPDBG(SCTP_DEBUG_AUTH1,
 1704|      0|			"SCTP Auth: chunk too short for HMAC\n");
 1705|      0|		return (-1);
 1706|      0|	}
 1707|       |	/* save a copy of the digest, zero the pseudo header, and validate */
 1708|      0|	memcpy(digest, auth->hmac, digestlen);
 1709|      0|	sctp_zero_m(m, offset + sizeof(*auth), SCTP_SIZE32(digestlen));
  ------------------
  |  |  383|      0|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 1710|      0|	(void)sctp_compute_hmac_m(hmac_id, stcb->asoc.authinfo.recv_key,
 1711|      0|	    m, offset, computed_digest);
 1712|       |
 1713|       |	/* compare the computed digest with the one in the AUTH chunk */
 1714|      0|	if (timingsafe_bcmp(digest, computed_digest, digestlen) != 0) {
  ------------------
  |  Branch (1714:6): [True: 0, False: 0]
  ------------------
 1715|      0|		SCTP_STAT_INCR(sctps_recvauthfailed);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1716|      0|		SCTPDBG(SCTP_DEBUG_AUTH1,
 1717|      0|			"SCTP Auth: HMAC digest check failed\n");
 1718|      0|		return (-1);
 1719|      0|	}
 1720|      0|	return (0);
 1721|      0|}
sctp_initialize_auth_params:
 1934|  11.5k|{
 1935|  11.5k|	uint16_t chunks_len = 0;
 1936|  11.5k|	uint16_t hmacs_len = 0;
 1937|  11.5k|	uint16_t random_len = SCTP_AUTH_RANDOM_SIZE_DEFAULT;
  ------------------
  |  |   46|  11.5k|#define SCTP_AUTH_RANDOM_SIZE_DEFAULT	32
  ------------------
 1938|  11.5k|	sctp_key_t *new_key;
 1939|  11.5k|	uint16_t keylen;
 1940|       |
 1941|       |	/* initialize hmac list from endpoint */
 1942|  11.5k|	stcb->asoc.local_hmacs = sctp_copy_hmaclist(inp->sctp_ep.local_hmacs);
 1943|  11.5k|	if (stcb->asoc.local_hmacs != NULL) {
  ------------------
  |  Branch (1943:6): [True: 11.5k, False: 0]
  ------------------
 1944|  11.5k|		hmacs_len = stcb->asoc.local_hmacs->num_algo *
 1945|  11.5k|		    sizeof(stcb->asoc.local_hmacs->hmac[0]);
 1946|  11.5k|	}
 1947|       |	/* initialize auth chunks list from endpoint */
 1948|  11.5k|	stcb->asoc.local_auth_chunks =
 1949|  11.5k|	    sctp_copy_chunklist(inp->sctp_ep.local_auth_chunks);
 1950|  11.5k|	if (stcb->asoc.local_auth_chunks != NULL) {
  ------------------
  |  Branch (1950:6): [True: 11.5k, False: 0]
  ------------------
 1951|  11.5k|		int i;
 1952|  2.97M|		for (i = 0; i < 256; i++) {
  ------------------
  |  Branch (1952:15): [True: 2.95M, False: 11.5k]
  ------------------
 1953|  2.95M|			if (stcb->asoc.local_auth_chunks->chunks[i])
  ------------------
  |  Branch (1953:8): [True: 23.1k, False: 2.93M]
  ------------------
 1954|  23.1k|				chunks_len++;
 1955|  2.95M|		}
 1956|  11.5k|	}
 1957|       |	/* copy defaults from the endpoint */
 1958|  11.5k|	stcb->asoc.authinfo.active_keyid = inp->sctp_ep.default_keyid;
 1959|       |
 1960|       |	/* copy out the shared key list (by reference) from the endpoint */
 1961|  11.5k|	(void)sctp_copy_skeylist(&inp->sctp_ep.shared_keys,
 1962|  11.5k|				 &stcb->asoc.shared_keys);
 1963|       |
 1964|       |	/* now set the concatenated key (random + chunks + hmacs) */
 1965|       |	/* key includes parameter headers */
 1966|  11.5k|	keylen = (3 * sizeof(struct sctp_paramhdr)) + random_len + chunks_len +
 1967|  11.5k|	    hmacs_len;
 1968|  11.5k|	new_key = sctp_alloc_key(keylen);
 1969|  11.5k|	if (new_key != NULL) {
  ------------------
  |  Branch (1969:6): [True: 11.5k, False: 0]
  ------------------
 1970|  11.5k|		struct sctp_paramhdr *ph;
 1971|  11.5k|		int plen;
 1972|       |		/* generate and copy in the RANDOM */
 1973|  11.5k|		ph = (struct sctp_paramhdr *)new_key->key;
 1974|  11.5k|		ph->param_type = htons(SCTP_RANDOM);
 1975|  11.5k|		plen = sizeof(*ph) + random_len;
 1976|  11.5k|		ph->param_length = htons(plen);
 1977|  11.5k|		SCTP_READ_RANDOM(new_key->key + sizeof(*ph), random_len);
  ------------------
  |  |  980|  11.5k|#define SCTP_READ_RANDOM(buf, len)	read_random(buf, len)
  ------------------
 1978|  11.5k|		keylen = plen;
 1979|       |
 1980|       |		/* append in the AUTH chunks */
 1981|       |		/* NOTE: currently we always have chunks to list */
 1982|  11.5k|		ph = (struct sctp_paramhdr *)(new_key->key + keylen);
 1983|  11.5k|		ph->param_type = htons(SCTP_CHUNK_LIST);
 1984|  11.5k|		plen = sizeof(*ph) + chunks_len;
 1985|  11.5k|		ph->param_length = htons(plen);
 1986|  11.5k|		keylen += sizeof(*ph);
 1987|  11.5k|		if (stcb->asoc.local_auth_chunks) {
  ------------------
  |  Branch (1987:7): [True: 11.5k, False: 0]
  ------------------
 1988|  11.5k|			int i;
 1989|  2.97M|			for (i = 0; i < 256; i++) {
  ------------------
  |  Branch (1989:16): [True: 2.95M, False: 11.5k]
  ------------------
 1990|  2.95M|				if (stcb->asoc.local_auth_chunks->chunks[i])
  ------------------
  |  Branch (1990:9): [True: 23.1k, False: 2.93M]
  ------------------
 1991|  23.1k|					new_key->key[keylen++] = i;
 1992|  2.95M|			}
 1993|  11.5k|		}
 1994|       |
 1995|       |		/* append in the HMACs */
 1996|  11.5k|		ph = (struct sctp_paramhdr *)(new_key->key + keylen);
 1997|  11.5k|		ph->param_type = htons(SCTP_HMAC_LIST);
 1998|  11.5k|		plen = sizeof(*ph) + hmacs_len;
 1999|  11.5k|		ph->param_length = htons(plen);
 2000|  11.5k|		keylen += sizeof(*ph);
 2001|  11.5k|		(void)sctp_serialize_hmaclist(stcb->asoc.local_hmacs,
 2002|  11.5k|					new_key->key + keylen);
 2003|  11.5k|	}
 2004|  11.5k|	if (stcb->asoc.authinfo.random != NULL)
  ------------------
  |  Branch (2004:6): [True: 0, False: 11.5k]
  ------------------
 2005|      0|	    sctp_free_key(stcb->asoc.authinfo.random);
 2006|  11.5k|	stcb->asoc.authinfo.random = new_key;
 2007|  11.5k|	stcb->asoc.authinfo.random_len = random_len;
 2008|  11.5k|}
sctp_auth.c:sctp_get_keylen:
  302|  9.80k|{
  303|  9.80k|	if (key != NULL)
  ------------------
  |  Branch (303:6): [True: 7.35k, False: 2.45k]
  ------------------
  304|  7.35k|		return (key->keylen);
  305|  2.45k|	else
  306|  2.45k|		return (0);
  307|  9.80k|}
sctp_auth.c:sctp_compare_key:
  349|  1.22k|{
  350|  1.22k|	uint32_t maxlen;
  351|  1.22k|	uint32_t i;
  352|  1.22k|	uint32_t key1len, key2len;
  353|  1.22k|	uint8_t *key_1, *key_2;
  354|  1.22k|	uint8_t val1, val2;
  355|       |
  356|       |	/* sanity/length check */
  357|  1.22k|	key1len = sctp_get_keylen(key1);
  358|  1.22k|	key2len = sctp_get_keylen(key2);
  359|  1.22k|	if ((key1len == 0) && (key2len == 0))
  ------------------
  |  Branch (359:6): [True: 0, False: 1.22k]
  |  Branch (359:24): [True: 0, False: 0]
  ------------------
  360|      0|		return (0);
  361|  1.22k|	else if (key1len == 0)
  ------------------
  |  Branch (361:11): [True: 0, False: 1.22k]
  ------------------
  362|      0|		return (-1);
  363|  1.22k|	else if (key2len == 0)
  ------------------
  |  Branch (363:11): [True: 0, False: 1.22k]
  ------------------
  364|      0|		return (1);
  365|       |
  366|  1.22k|	if (key1len < key2len) {
  ------------------
  |  Branch (366:6): [True: 1.22k, False: 5]
  ------------------
  367|  1.22k|		maxlen = key2len;
  368|  1.22k|	} else {
  369|      5|		maxlen = key1len;
  370|      5|	}
  371|  1.22k|	key_1 = key1->key;
  372|  1.22k|	key_2 = key2->key;
  373|       |	/* check for numeric equality */
  374|  1.30k|	for (i = 0; i < maxlen; i++) {
  ------------------
  |  Branch (374:14): [True: 1.30k, False: 0]
  ------------------
  375|       |		/* left-pad with zeros */
  376|  1.30k|		val1 = (i < (maxlen - key1len)) ? 0 : *(key_1++);
  ------------------
  |  Branch (376:10): [True: 1.22k, False: 79]
  ------------------
  377|  1.30k|		val2 = (i < (maxlen - key2len)) ? 0 : *(key_2++);
  ------------------
  |  Branch (377:10): [True: 1, False: 1.29k]
  ------------------
  378|  1.30k|		if (val1 > val2) {
  ------------------
  |  Branch (378:7): [True: 5, False: 1.29k]
  ------------------
  379|      5|			return (1);
  380|  1.29k|		} else if (val1 < val2) {
  ------------------
  |  Branch (380:14): [True: 1.22k, False: 74]
  ------------------
  381|  1.22k|			return (-1);
  382|  1.22k|		}
  383|  1.30k|	}
  384|       |	/* keys are equal value, so check lengths */
  385|      0|	if (key1len == key2len)
  ------------------
  |  Branch (385:6): [True: 0, False: 0]
  ------------------
  386|      0|		return (0);
  387|      0|	else if (key1len < key2len)
  ------------------
  |  Branch (387:11): [True: 0, False: 0]
  ------------------
  388|      0|		return (-1);
  389|      0|	else
  390|      0|		return (1);
  391|      0|}
sctp_auth.c:sctp_copy_sharedkey:
  589|  11.5k|{
  590|  11.5k|	sctp_sharedkey_t *new_skey;
  591|       |
  592|  11.5k|	if (skey == NULL)
  ------------------
  |  Branch (592:6): [True: 0, False: 11.5k]
  ------------------
  593|      0|		return (NULL);
  594|  11.5k|	new_skey = sctp_alloc_sharedkey();
  595|  11.5k|	if (new_skey == NULL)
  ------------------
  |  Branch (595:6): [True: 0, False: 11.5k]
  ------------------
  596|      0|		return (NULL);
  597|  11.5k|	if (skey->key != NULL)
  ------------------
  |  Branch (597:6): [True: 0, False: 11.5k]
  ------------------
  598|      0|		new_skey->key = sctp_set_key(skey->key->key, skey->key->keylen);
  599|  11.5k|	else
  600|  11.5k|		new_skey->key = NULL;
  601|  11.5k|	new_skey->keyid = skey->keyid;
  602|  11.5k|	return (new_skey);
  603|  11.5k|}
sctp_auth.c:sctp_get_hmac_block_len:
  846|  2.47k|{
  847|  2.47k|	switch (hmac_algo) {
  848|  2.47k|	case SCTP_AUTH_HMAC_ID_SHA1:
  ------------------
  |  |  691|  2.47k|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  ------------------
  |  Branch (848:2): [True: 2.47k, False: 0]
  ------------------
  849|  2.47k|		return (64);
  850|       |#if defined(SCTP_SUPPORT_HMAC_SHA256)
  851|       |	case SCTP_AUTH_HMAC_ID_SHA256:
  852|       |		return (64);
  853|       |#endif
  854|      0|	case SCTP_AUTH_HMAC_ID_RSVD:
  ------------------
  |  |  690|      0|#define SCTP_AUTH_HMAC_ID_RSVD		0x0000
  ------------------
  |  Branch (854:2): [True: 0, False: 2.47k]
  ------------------
  855|      0|	default:
  ------------------
  |  Branch (855:2): [True: 0, False: 2.47k]
  ------------------
  856|       |		/* unknown HMAC algorithm: can't do anything */
  857|      0|		return (0);
  858|  2.47k|	} /* end switch */
  859|  2.47k|}
sctp_auth.c:sctp_hmac_init:
  866|  3.70k|{
  867|  3.70k|	switch (hmac_algo) {
  868|  3.70k|	case SCTP_AUTH_HMAC_ID_SHA1:
  ------------------
  |  |  691|  3.70k|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  ------------------
  |  Branch (868:2): [True: 3.70k, False: 0]
  ------------------
  869|  3.70k|		SCTP_SHA1_INIT(&ctx->sha1);
  ------------------
  |  |  983|  3.70k|#define SCTP_SHA1_INIT		sctp_sha1_init
  ------------------
  870|  3.70k|		break;
  871|       |#if defined(SCTP_SUPPORT_HMAC_SHA256)
  872|       |	case SCTP_AUTH_HMAC_ID_SHA256:
  873|       |		SCTP_SHA256_INIT(&ctx->sha256);
  874|       |		break;
  875|       |#endif
  876|      0|	case SCTP_AUTH_HMAC_ID_RSVD:
  ------------------
  |  |  690|      0|#define SCTP_AUTH_HMAC_ID_RSVD		0x0000
  ------------------
  |  Branch (876:2): [True: 0, False: 3.70k]
  ------------------
  877|      0|	default:
  ------------------
  |  Branch (877:2): [True: 0, False: 3.70k]
  ------------------
  878|       |		/* unknown HMAC algorithm: can't do anything */
  879|      0|		return;
  880|  3.70k|	} /* end switch */
  881|  3.70k|}
sctp_auth.c:sctp_hmac_update:
  886|  22.3k|{
  887|  22.3k|	switch (hmac_algo) {
  888|  22.3k|	case SCTP_AUTH_HMAC_ID_SHA1:
  ------------------
  |  |  691|  22.3k|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  ------------------
  |  Branch (888:2): [True: 22.3k, False: 0]
  ------------------
  889|  22.3k|		SCTP_SHA1_UPDATE(&ctx->sha1, text, textlen);
  ------------------
  |  |  984|  22.3k|#define SCTP_SHA1_UPDATE	sctp_sha1_update
  ------------------
  890|  22.3k|		break;
  891|       |#if defined(SCTP_SUPPORT_HMAC_SHA256)
  892|       |	case SCTP_AUTH_HMAC_ID_SHA256:
  893|       |		SCTP_SHA256_UPDATE(&ctx->sha256, text, textlen);
  894|       |		break;
  895|       |#endif
  896|      0|	case SCTP_AUTH_HMAC_ID_RSVD:
  ------------------
  |  |  690|      0|#define SCTP_AUTH_HMAC_ID_RSVD		0x0000
  ------------------
  |  Branch (896:2): [True: 0, False: 22.3k]
  ------------------
  897|      0|	default:
  ------------------
  |  Branch (897:2): [True: 0, False: 22.3k]
  ------------------
  898|       |		/* unknown HMAC algorithm: can't do anything */
  899|      0|		return;
  900|  22.3k|	} /* end switch */
  901|  22.3k|}
sctp_auth.c:sctp_hmac_final:
  906|  3.70k|{
  907|  3.70k|	switch (hmac_algo) {
  908|  3.70k|	case SCTP_AUTH_HMAC_ID_SHA1:
  ------------------
  |  |  691|  3.70k|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  ------------------
  |  Branch (908:2): [True: 3.70k, False: 0]
  ------------------
  909|  3.70k|		SCTP_SHA1_FINAL(digest, &ctx->sha1);
  ------------------
  |  |  985|  3.70k|#define SCTP_SHA1_FINAL(x,y)	sctp_sha1_final((unsigned char *)x, y)
  ------------------
  910|  3.70k|		break;
  911|       |#if defined(SCTP_SUPPORT_HMAC_SHA256)
  912|       |	case SCTP_AUTH_HMAC_ID_SHA256:
  913|       |		SCTP_SHA256_FINAL(digest, &ctx->sha256);
  914|       |		break;
  915|       |#endif
  916|      0|	case SCTP_AUTH_HMAC_ID_RSVD:
  ------------------
  |  |  690|      0|#define SCTP_AUTH_HMAC_ID_RSVD		0x0000
  ------------------
  |  Branch (916:2): [True: 0, False: 3.70k]
  ------------------
  917|      0|	default:
  ------------------
  |  Branch (917:2): [True: 0, False: 3.70k]
  ------------------
  918|       |		/* unknown HMAC algorithm: can't do anything */
  919|      0|		return;
  920|  3.70k|	} /* end switch */
  921|  3.70k|}

sctp_startup_iterator:
  174|      1|{
  175|      1|	if (sctp_it_ctl.thread_proc) {
  ------------------
  |  Branch (175:6): [True: 0, False: 1]
  ------------------
  176|       |		/* You only get one */
  177|      0|		return;
  178|      0|	}
  179|       |	/* Initialize global locks here, thus only once. */
  180|      1|	SCTP_ITERATOR_LOCK_INIT();
  ------------------
  |  |  619|      1|	(void)pthread_mutex_init(&sctp_it_ctl.it_mtx, &SCTP_BASE_VAR(mtx_attr))
  |  |  ------------------
  |  |  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  ------------------
  181|      1|	SCTP_IPI_ITERATOR_WQ_INIT();
  ------------------
  |  |  635|      1|	(void)pthread_mutex_init(&sctp_it_ctl.ipi_iterator_wq_mtx, &SCTP_BASE_VAR(mtx_attr))
  |  |  ------------------
  |  |  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  ------------------
  182|      1|	TAILQ_INIT(&sctp_it_ctl.iteratorhead);
  183|      1|#if defined(__Userspace__)
  184|      1|	if (sctp_userspace_thread_create(&sctp_it_ctl.thread_proc, &sctp_iterator_thread)) {
  ------------------
  |  Branch (184:6): [True: 0, False: 1]
  ------------------
  185|      0|		SCTP_PRINTF("ERROR: Creating sctp_iterator_thread failed.\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
  186|      1|	} else {
  187|      1|		SCTP_BASE_VAR(iterator_thread_started) = 1;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  188|      1|	}
  189|       |#elif defined(__FreeBSD__)
  190|       |	kproc_create(sctp_iterator_thread,
  191|       |	             (void *)NULL,
  192|       |	             &sctp_it_ctl.thread_proc,
  193|       |	             0,
  194|       |	             SCTP_KTHREAD_PAGES,
  195|       |	             SCTP_KTRHEAD_NAME);
  196|       |#elif defined(__APPLE__)
  197|       |	kernel_thread_start((thread_continue_t)sctp_iterator_thread, NULL, &sctp_it_ctl.thread_proc);
  198|       |#endif
  199|      1|}
sctp_init_vrf_list:
  637|      1|{
  638|      1|	if (vrfid > SCTP_MAX_VRF_ID)
  ------------------
  |  |  641|      1|#define SCTP_MAX_VRF_ID		0
  ------------------
  |  Branch (638:6): [True: 0, False: 1]
  ------------------
  639|       |		/* can't do that */
  640|      0|		return;
  641|       |
  642|       |	/* Don't care about return here */
  643|      1|	(void)sctp_allocate_vrf(vrfid);
  644|       |
  645|       |	/* Now we need to build all the ifn's
  646|       |	 * for this vrf and there addresses
  647|       |	 */
  648|      1|	sctp_init_ifns_for_vrf(vrfid);
  649|      1|}
sctp_get_mbuf_for_msg:
  768|  1.00M|{
  769|  1.00M|	struct mbuf *m = NULL;
  770|  1.00M|#if defined(__FreeBSD__) || defined(__Userspace__)
  771|  1.00M|#if defined(__Userspace__)
  772|  1.00M|	m = m_getm2(NULL, space_needed, how, type, want_header ? M_PKTHDR : 0, allonebuf);
  ------------------
  |  |  234|   106k|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (772:45): [True: 106k, False: 898k]
  ------------------
  773|       |#else
  774|       |	m = m_getm2(NULL, space_needed, how, type, want_header ? M_PKTHDR : 0);
  775|       |#endif
  776|  1.00M|	if (m == NULL) {
  ------------------
  |  Branch (776:6): [True: 0, False: 1.00M]
  ------------------
  777|       |		/* bad, no memory */
  778|      0|		return (m);
  779|      0|	}
  780|       |#if !defined(__Userspace__)
  781|       |	if (allonebuf) {
  782|       |		if (SCTP_BUF_SIZE(m) < space_needed) {
  783|       |			m_freem(m);
  784|       |			return (NULL);
  785|       |		}
  786|       |		KASSERT(SCTP_BUF_NEXT(m) == NULL, ("%s: no chain allowed", __func__));
  787|       |	}
  788|       |#endif
  789|       |#ifdef SCTP_MBUF_LOGGING
  790|       |	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MBUF_LOGGING_ENABLE) {
  791|       |		sctp_log_mb(m, SCTP_MBUF_IALLOC);
  792|       |	}
  793|       |#endif
  794|       |#else
  795|       |	int mbuf_threshold;
  796|       |	unsigned int size;
  797|       |
  798|       |	if (want_header) {
  799|       |		MGETHDR(m, how, type);
  800|       |		size = MHLEN;
  801|       |	} else {
  802|       |		MGET(m, how, type);
  803|       |		size = MLEN;
  804|       |	}
  805|       |	if (m == NULL) {
  806|       |		return (NULL);
  807|       |	}
  808|       |	if (allonebuf == 0) {
  809|       |		mbuf_threshold = SCTP_BASE_SYSCTL(sctp_mbuf_threshold_count);
  810|       |	} else {
  811|       |		mbuf_threshold = 1;
  812|       |	}
  813|       |
  814|       |	if (space_needed > (unsigned int)(((mbuf_threshold - 1) * MLEN) + MHLEN)) {
  815|       |		MCLGET(m, how);
  816|       |		if (m == NULL) {
  817|       |			return (NULL);
  818|       |		}
  819|       |		if (SCTP_BUF_IS_EXTENDED(m) == 0) {
  820|       |			sctp_m_freem(m);
  821|       |			return (NULL);
  822|       |		}
  823|       |		size = SCTP_BUF_EXTEND_SIZE(m);
  824|       |	}
  825|       |	if (allonebuf != 0 && size < space_needed) {
  826|       |		m_freem(m);
  827|       |		return (NULL);
  828|       |	}
  829|       |	SCTP_BUF_LEN(m) = 0;
  830|       |	SCTP_BUF_NEXT(m) = SCTP_BUF_NEXT_PKT(m) = NULL;
  831|       |#ifdef SCTP_MBUF_LOGGING
  832|       |	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MBUF_LOGGING_ENABLE) {
  833|       |		sctp_log_mb(m, SCTP_MBUF_IALLOC);
  834|       |	}
  835|       |#endif
  836|       |#endif
  837|  1.00M|	return (m);
  838|  1.00M|}
sctp_bsd_addr.c:sctp_iterator_thread:
  121|      1|{
  122|      1|#if defined(__Userspace__)
  123|      1|	sctp_userspace_set_threadname("SCTP iterator");
  124|      1|#endif
  125|      1|	SCTP_IPI_ITERATOR_WQ_LOCK();
  ------------------
  |  |  640|      1|	KASSERT(pthread_mutex_lock(&sctp_it_ctl.ipi_iterator_wq_mtx) == 0, ("%s:%d: ipi_iterator_wq_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      1|	do {                         \
  |  |  |  |  113|      1|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      1|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|       |	/* In FreeBSD this thread never terminates. */
  127|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  128|       |	for (;;) {
  129|       |#else
  130|      2|	while ((sctp_it_ctl.iterator_flags & SCTP_ITERATOR_MUST_EXIT) == 0) {
  ------------------
  |  |  233|      2|#define SCTP_ITERATOR_MUST_EXIT		0x00000001
  ------------------
  |  Branch (130:9): [True: 1, False: 1]
  ------------------
  131|      1|#endif
  132|       |#if !defined(__Userspace__)
  133|       |		msleep(&sctp_it_ctl.iterator_running,
  134|       |#if defined(__FreeBSD__)
  135|       |		       &sctp_it_ctl.ipi_iterator_wq_mtx,
  136|       |#elif defined(__APPLE__)
  137|       |		       sctp_it_ctl.ipi_iterator_wq_mtx,
  138|       |#endif
  139|       |		       0, "waiting_for_work", 0);
  140|       |#else
  141|       |#if defined(_WIN32)
  142|       |		SleepConditionVariableCS(&sctp_it_ctl.iterator_wakeup, &sctp_it_ctl.ipi_iterator_wq_mtx, INFINITE);
  143|       |#else
  144|      1|		pthread_cond_wait(&sctp_it_ctl.iterator_wakeup, &sctp_it_ctl.ipi_iterator_wq_mtx);
  145|      1|#endif
  146|      1|#endif
  147|      1|#if !(defined(__FreeBSD__) && !defined(__Userspace__))
  148|      1|		if (sctp_it_ctl.iterator_flags & SCTP_ITERATOR_MUST_EXIT) {
  ------------------
  |  |  233|      1|#define SCTP_ITERATOR_MUST_EXIT		0x00000001
  ------------------
  |  Branch (148:7): [True: 0, False: 1]
  ------------------
  149|      0|			break;
  150|      0|		}
  151|      1|#endif
  152|      1|		sctp_iterator_worker();
  153|      1|	}
  154|      1|#if !(defined(__FreeBSD__) && !defined(__Userspace__))
  155|       |	/* Now this thread needs to be terminated */
  156|      1|	sctp_cleanup_itqueue();
  157|      1|	sctp_it_ctl.iterator_flags |= SCTP_ITERATOR_EXITED;
  ------------------
  |  |  234|      1|#define SCTP_ITERATOR_EXITED		0x00000002
  ------------------
  158|      1|	SCTP_IPI_ITERATOR_WQ_UNLOCK();
  ------------------
  |  |  642|      1|	KASSERT(pthread_mutex_unlock(&sctp_it_ctl.ipi_iterator_wq_mtx) == 0, ("%s:%d: ipi_iterator_wq_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      1|	do {                         \
  |  |  |  |  113|      1|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      1|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  159|      1|#if defined(__Userspace__)
  160|      1|	sctp_wakeup_iterator();
  161|      1|	return (NULL);
  162|       |#else
  163|       |	wakeup(&sctp_it_ctl.iterator_flags);
  164|       |	thread_terminate(current_thread());
  165|       |#ifdef INVARIANTS
  166|       |	panic("Hmm. thread_terminate() continues...");
  167|       |#endif
  168|       |#endif
  169|      1|#endif
  170|      1|}
sctp_bsd_addr.c:sctp_init_ifns_for_vrf:
  412|      1|{
  413|      1|#if defined(INET) || defined(INET6)
  414|      1|	int rc;
  415|      1|	struct ifaddrs *ifa, *ifas;
  416|      1|	struct sctp_ifa *sctp_ifa;
  417|      1|	uint32_t ifa_flags;
  418|       |
  419|      1|	rc = getifaddrs(&ifas);
  420|      1|	if (rc != 0) {
  ------------------
  |  Branch (420:6): [True: 0, False: 1]
  ------------------
  421|      0|		return;
  422|      0|	}
  423|      5|	for (ifa = ifas; ifa; ifa = ifa->ifa_next) {
  ------------------
  |  Branch (423:19): [True: 4, False: 1]
  ------------------
  424|      4|		if (ifa->ifa_addr == NULL) {
  ------------------
  |  Branch (424:7): [True: 0, False: 4]
  ------------------
  425|      0|			continue;
  426|      0|		}
  427|       |#if !defined(INET)
  428|       |		if (ifa->ifa_addr->sa_family != AF_INET6) {
  429|       |			/* non inet6 skip */
  430|       |			continue;
  431|       |		}
  432|       |#elif !defined(INET6)
  433|       |		if (ifa->ifa_addr->sa_family != AF_INET) {
  434|       |			/* non inet skip */
  435|       |			continue;
  436|       |		}
  437|       |#else
  438|      4|		if ((ifa->ifa_addr->sa_family != AF_INET) && (ifa->ifa_addr->sa_family != AF_INET6)) {
  ------------------
  |  Branch (438:7): [True: 2, False: 2]
  |  Branch (438:48): [True: 2, False: 0]
  ------------------
  439|       |			/* non inet/inet6 skip */
  440|      2|			continue;
  441|      2|		}
  442|      2|#endif
  443|      2|#if defined(INET6)
  444|      2|		if ((ifa->ifa_addr->sa_family == AF_INET6) &&
  ------------------
  |  Branch (444:7): [True: 0, False: 2]
  ------------------
  445|      2|		    IN6_IS_ADDR_UNSPECIFIED(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) {
  446|       |			/* skip unspecified addresses */
  447|      0|			continue;
  448|      0|		}
  449|      2|#endif
  450|      2|#if defined(INET)
  451|      2|		if (ifa->ifa_addr->sa_family == AF_INET &&
  ------------------
  |  Branch (451:7): [True: 2, False: 0]
  ------------------
  452|      2|		    ((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr == 0) {
  ------------------
  |  Branch (452:7): [True: 0, False: 2]
  ------------------
  453|      0|			continue;
  454|      0|		}
  455|      2|#endif
  456|      2|		ifa_flags = 0;
  457|      2|		sctp_ifa = sctp_add_addr_to_vrf(vrfid,
  458|      2|		                                NULL,
  459|      2|		                                if_nametoindex(ifa->ifa_name),
  460|      2|		                                0,
  461|      2|		                                ifa->ifa_name,
  462|      2|		                                NULL,
  463|      2|		                                ifa->ifa_addr,
  464|      2|		                                ifa_flags,
  465|      2|		                                0);
  466|      2|		if (sctp_ifa) {
  ------------------
  |  Branch (466:7): [True: 2, False: 0]
  ------------------
  467|      2|			sctp_ifa->localifa_flags &= ~SCTP_ADDR_DEFER_USE;
  ------------------
  |  |   97|      2|#define SCTP_ADDR_DEFER_USE     0x00000004	/* Hold off using this one */
  ------------------
  468|      2|		}
  469|      2|	}
  470|      1|	freeifaddrs(ifas);
  471|      1|#endif
  472|      1|}

sctp_get_tick_count:
   68|   181k|uint32_t sctp_get_tick_count(void) {
   69|   181k|	uint32_t ret;
   70|       |
   71|   181k|	SCTP_TIMERQ_LOCK();
  ------------------
  |  |   58|   181k|#define SCTP_TIMERQ_LOCK()          KASSERT(pthread_mutex_lock(&SCTP_BASE_VAR(timer_mtx)) == 0, ("%s: timer_mtx already locked", __func__))
  |  |  ------------------
  |  |  |  |  112|   181k|	do {                         \
  |  |  |  |  113|   181k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 181k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   181k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   72|   181k|	ret = ticks;
   73|   181k|	SCTP_TIMERQ_UNLOCK();
  ------------------
  |  |   59|   181k|#define SCTP_TIMERQ_UNLOCK()        KASSERT(pthread_mutex_unlock(&SCTP_BASE_VAR(timer_mtx)) == 0, ("%s: timer_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|   181k|	do {                         \
  |  |  |  |  113|   181k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 181k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   181k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   74|   181k|	return ret;
   75|   181k|}
sctp_os_timer_init:
   86|   296k|{
   87|   296k|	memset(c, 0, sizeof(*c));
   88|   296k|}
sctp_os_timer_start:
   93|   181k|{
   94|   181k|	int ret = 0;
   95|       |
   96|       |	/* paranoia */
   97|   181k|	if ((c == NULL) || (ftn == NULL))
  ------------------
  |  Branch (97:6): [True: 0, False: 181k]
  |  Branch (97:21): [True: 0, False: 181k]
  ------------------
   98|      0|		return (ret);
   99|       |
  100|   181k|	SCTP_TIMERQ_LOCK();
  ------------------
  |  |   58|   181k|#define SCTP_TIMERQ_LOCK()          KASSERT(pthread_mutex_lock(&SCTP_BASE_VAR(timer_mtx)) == 0, ("%s: timer_mtx already locked", __func__))
  |  |  ------------------
  |  |  |  |  112|   181k|	do {                         \
  |  |  |  |  113|   181k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 181k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   181k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  101|       |	/* check to see if we're rescheduling a timer */
  102|   181k|	if (c->c_flags & SCTP_CALLOUT_PENDING) {
  ------------------
  |  |   83|   181k|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  ------------------
  |  Branch (102:6): [True: 0, False: 181k]
  ------------------
  103|      0|		ret = 1;
  104|      0|		if (c == sctp_os_timer_next) {
  ------------------
  |  Branch (104:7): [True: 0, False: 0]
  ------------------
  105|      0|			sctp_os_timer_next = TAILQ_NEXT(c, tqe);
  106|      0|		}
  107|      0|		TAILQ_REMOVE(&SCTP_BASE_INFO(callqueue), c, tqe);
  108|       |		/*
  109|       |		 * part of the normal "stop a pending callout" process
  110|       |		 * is to clear the CALLOUT_ACTIVE and CALLOUT_PENDING
  111|       |		 * flags.  We don't bother since we are setting these
  112|       |		 * below and we still hold the lock.
  113|       |		 */
  114|      0|	}
  115|       |
  116|       |	/*
  117|       |	 * We could unlock/splx here and lock/spl at the TAILQ_INSERT_TAIL,
  118|       |	 * but there's no point since doing this setup doesn't take much time.
  119|       |	 */
  120|   181k|	if (to_ticks == 0)
  ------------------
  |  Branch (120:6): [True: 0, False: 181k]
  ------------------
  121|      0|		to_ticks = 1;
  122|       |
  123|   181k|	c->c_arg = arg;
  124|   181k|	c->c_flags = (SCTP_CALLOUT_ACTIVE | SCTP_CALLOUT_PENDING);
  ------------------
  |  |   82|   181k|#define	SCTP_CALLOUT_ACTIVE	0x0002	/* callout is currently active */
  ------------------
              	c->c_flags = (SCTP_CALLOUT_ACTIVE | SCTP_CALLOUT_PENDING);
  ------------------
  |  |   83|   181k|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  ------------------
  125|   181k|	c->c_func = ftn;
  126|   181k|	c->c_time = ticks + to_ticks;
  127|   181k|	TAILQ_INSERT_TAIL(&SCTP_BASE_INFO(callqueue), c, tqe);
  128|   181k|	SCTP_TIMERQ_UNLOCK();
  ------------------
  |  |   59|   181k|#define SCTP_TIMERQ_UNLOCK()        KASSERT(pthread_mutex_unlock(&SCTP_BASE_VAR(timer_mtx)) == 0, ("%s: timer_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|   181k|	do {                         \
  |  |  |  |  113|   181k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 181k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   181k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  129|   181k|	return (ret);
  130|   181k|}
sctp_os_timer_stop:
  134|   449k|{
  135|   449k|	SCTP_TIMERQ_LOCK();
  ------------------
  |  |   58|   449k|#define SCTP_TIMERQ_LOCK()          KASSERT(pthread_mutex_lock(&SCTP_BASE_VAR(timer_mtx)) == 0, ("%s: timer_mtx already locked", __func__))
  |  |  ------------------
  |  |  |  |  112|   449k|	do {                         \
  |  |  |  |  113|   449k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 449k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   449k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  136|       |	/*
  137|       |	 * Don't attempt to delete a callout that's not on the queue.
  138|       |	 */
  139|   449k|	if ((c->c_flags & SCTP_CALLOUT_PENDING) == 0) {
  ------------------
  |  |   83|   449k|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  ------------------
  |  Branch (139:6): [True: 269k, False: 179k]
  ------------------
  140|   269k|		c->c_flags &= ~SCTP_CALLOUT_ACTIVE;
  ------------------
  |  |   82|   269k|#define	SCTP_CALLOUT_ACTIVE	0x0002	/* callout is currently active */
  ------------------
  141|   269k|		SCTP_TIMERQ_UNLOCK();
  ------------------
  |  |   59|   269k|#define SCTP_TIMERQ_UNLOCK()        KASSERT(pthread_mutex_unlock(&SCTP_BASE_VAR(timer_mtx)) == 0, ("%s: timer_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|   269k|	do {                         \
  |  |  |  |  113|   269k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 269k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   269k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  142|   269k|		return (0);
  143|   269k|	}
  144|   179k|	c->c_flags &= ~(SCTP_CALLOUT_ACTIVE | SCTP_CALLOUT_PENDING);
  ------------------
  |  |   82|   179k|#define	SCTP_CALLOUT_ACTIVE	0x0002	/* callout is currently active */
  ------------------
              	c->c_flags &= ~(SCTP_CALLOUT_ACTIVE | SCTP_CALLOUT_PENDING);
  ------------------
  |  |   83|   179k|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  ------------------
  145|   179k|	if (c == sctp_os_timer_next) {
  ------------------
  |  Branch (145:6): [True: 0, False: 179k]
  ------------------
  146|      0|		sctp_os_timer_next = TAILQ_NEXT(c, tqe);
  147|      0|	}
  148|   179k|	TAILQ_REMOVE(&SCTP_BASE_INFO(callqueue), c, tqe);
  149|   179k|	SCTP_TIMERQ_UNLOCK();
  ------------------
  |  |   59|   179k|#define SCTP_TIMERQ_UNLOCK()        KASSERT(pthread_mutex_unlock(&SCTP_BASE_VAR(timer_mtx)) == 0, ("%s: timer_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|   179k|	do {                         \
  |  |  |  |  113|   179k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 179k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   179k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  150|   179k|	return (1);
  151|   179k|}
sctp_handle_tick:
  155|  1.08k|{
  156|  1.08k|	sctp_os_timer_t *c;
  157|  1.08k|	void (*c_func)(void *);
  158|  1.08k|	void *c_arg;
  159|       |
  160|  1.08k|	SCTP_TIMERQ_LOCK();
  ------------------
  |  |   58|  1.08k|#define SCTP_TIMERQ_LOCK()          KASSERT(pthread_mutex_lock(&SCTP_BASE_VAR(timer_mtx)) == 0, ("%s: timer_mtx already locked", __func__))
  |  |  ------------------
  |  |  |  |  112|  1.08k|	do {                         \
  |  |  |  |  113|  1.08k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.08k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.08k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  161|       |	/* update our tick count */
  162|  1.08k|	ticks += elapsed_ticks;
  163|  1.08k|	c = TAILQ_FIRST(&SCTP_BASE_INFO(callqueue));
  164|  9.25k|	while (c) {
  ------------------
  |  Branch (164:9): [True: 8.17k, False: 1.08k]
  ------------------
  165|  8.17k|		if (SCTP_UINT32_GE(ticks, c->c_time)) {
  ------------------
  |  |  885|  8.17k|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  ------------------
  |  |  |  |  883|  16.3k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 6.03k, False: 2.14k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 6.03k]
  |  |  |  |  ------------------
  |  |  |  |  884|  16.3k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 8.17k]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (885:55): [True: 2.14k, False: 6.03k]
  |  |  ------------------
  ------------------
  166|  2.14k|			sctp_os_timer_next = TAILQ_NEXT(c, tqe);
  167|  2.14k|			TAILQ_REMOVE(&SCTP_BASE_INFO(callqueue), c, tqe);
  168|  2.14k|			c_func = c->c_func;
  169|  2.14k|			c_arg = c->c_arg;
  170|  2.14k|			c->c_flags &= ~SCTP_CALLOUT_PENDING;
  ------------------
  |  |   83|  2.14k|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  ------------------
  171|  2.14k|			SCTP_TIMERQ_UNLOCK();
  ------------------
  |  |   59|  2.14k|#define SCTP_TIMERQ_UNLOCK()        KASSERT(pthread_mutex_unlock(&SCTP_BASE_VAR(timer_mtx)) == 0, ("%s: timer_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|  2.14k|	do {                         \
  |  |  |  |  113|  2.14k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.14k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  2.14k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  172|  2.14k|			c_func(c_arg);
  173|  2.14k|			SCTP_TIMERQ_LOCK();
  ------------------
  |  |   58|  2.14k|#define SCTP_TIMERQ_LOCK()          KASSERT(pthread_mutex_lock(&SCTP_BASE_VAR(timer_mtx)) == 0, ("%s: timer_mtx already locked", __func__))
  |  |  ------------------
  |  |  |  |  112|  2.14k|	do {                         \
  |  |  |  |  113|  2.14k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.14k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  2.14k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  174|  2.14k|			c = sctp_os_timer_next;
  175|  6.03k|		} else {
  176|  6.03k|			c = TAILQ_NEXT(c, tqe);
  177|  6.03k|		}
  178|  8.17k|	}
  179|  1.08k|	sctp_os_timer_next = NULL;
  180|  1.08k|	SCTP_TIMERQ_UNLOCK();
  ------------------
  |  |   59|  1.08k|#define SCTP_TIMERQ_UNLOCK()        KASSERT(pthread_mutex_unlock(&SCTP_BASE_VAR(timer_mtx)) == 0, ("%s: timer_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|  1.08k|	do {                         \
  |  |  |  |  113|  1.08k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.08k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.08k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  181|  1.08k|}
user_sctp_timer_iterate:
  197|      1|{
  198|      1|	sctp_userspace_set_threadname("SCTP timer");
  199|  1.08k|	for (;;) {
  200|       |#if defined(_WIN32)
  201|       |		Sleep(TIMEOUT_INTERVAL);
  202|       |#else
  203|  1.08k|		struct timespec amount, remaining;
  204|       |
  205|  1.08k|		remaining.tv_sec = 0;
  206|  1.08k|		remaining.tv_nsec = TIMEOUT_INTERVAL * 1000 * 1000;
  ------------------
  |  |  193|  1.08k|#define TIMEOUT_INTERVAL 10
  ------------------
  207|  1.08k|		do {
  208|  1.08k|			amount = remaining;
  209|  1.08k|		} while (nanosleep(&amount, &remaining) == -1);
  ------------------
  |  Branch (209:12): [True: 0, False: 1.08k]
  ------------------
  210|  1.08k|#endif
  211|  1.08k|		if (atomic_cmpset_int(&SCTP_BASE_VAR(timer_thread_should_exit), 1, 1)) {
  ------------------
  |  |  113|  1.08k|#define atomic_cmpset_int(dst, exp, src) __sync_bool_compare_and_swap(dst, exp, src)
  |  |  ------------------
  |  |  |  Branch (113:42): [True: 0, False: 1.08k]
  |  |  ------------------
  ------------------
  212|      0|			break;
  213|      0|		}
  214|  1.08k|		sctp_handle_tick(sctp_msecs_to_ticks(TIMEOUT_INTERVAL));
  ------------------
  |  |  193|  1.08k|#define TIMEOUT_INTERVAL 10
  ------------------
  215|  1.08k|	}
  216|      1|	return (NULL);
  217|      1|}
sctp_start_timer_thread:
  221|      1|{
  222|       |	/*
  223|       |	 * No need to do SCTP_TIMERQ_LOCK_INIT();
  224|       |	 * here, it is being done in sctp_pcb_init()
  225|       |	 */
  226|      1|	int rc;
  227|       |
  228|      1|	rc = sctp_userspace_thread_create(&SCTP_BASE_VAR(timer_thread), user_sctp_timer_iterate);
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  229|      1|	if (rc) {
  ------------------
  |  Branch (229:6): [True: 0, False: 1]
  ------------------
  230|      0|		SCTP_PRINTF("ERROR; return code from sctp_thread_create() is %d\n", rc);
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
  231|      1|	} else {
  232|      1|		SCTP_BASE_VAR(timer_thread_started) = 1;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  233|      1|	}
  234|      1|}

sctp_cc_functions.c:sctp_set_initial_cc_param:
   77|  71.7k|{
   78|  71.7k|	struct sctp_association *assoc;
   79|  71.7k|	uint32_t cwnd_in_mtu;
   80|       |
   81|  71.7k|	assoc = &stcb->asoc;
   82|  71.7k|	cwnd_in_mtu = SCTP_BASE_SYSCTL(sctp_initial_cwnd);
  ------------------
  |  |  584|  71.7k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
   83|  71.7k|	if (cwnd_in_mtu == 0) {
  ------------------
  |  Branch (83:6): [True: 0, False: 71.7k]
  ------------------
   84|       |		/* Using 0 means that the value of RFC 4960 is used. */
   85|      0|		net->cwnd = min((net->mtu * 4), max((2 * net->mtu), SCTP_INITIAL_CWND));
  ------------------
  |  |   66|      0|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 0]
  |  |  |  Branch (66:25): [True: 0, False: 0]
  |  |  |  Branch (66:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|  71.7k|	} else {
   87|       |		/*
   88|       |		 * We take the minimum of the burst limit and the
   89|       |		 * initial congestion window.
   90|       |		 */
   91|  71.7k|		if ((assoc->max_burst > 0) && (cwnd_in_mtu > assoc->max_burst))
  ------------------
  |  Branch (91:7): [True: 71.7k, False: 0]
  |  Branch (91:33): [True: 0, False: 71.7k]
  ------------------
   92|      0|			cwnd_in_mtu = assoc->max_burst;
   93|  71.7k|		net->cwnd = (net->mtu - sizeof(struct sctphdr)) * cwnd_in_mtu;
   94|  71.7k|	}
   95|  71.7k|	if ((stcb->asoc.sctp_cmt_on_off == SCTP_CMT_RPV1) ||
  ------------------
  |  |  316|  71.7k|#define SCTP_CMT_RPV1           2
  ------------------
  |  Branch (95:6): [True: 0, False: 71.7k]
  ------------------
   96|  71.7k|	    (stcb->asoc.sctp_cmt_on_off == SCTP_CMT_RPV2)) {
  ------------------
  |  |  317|  71.7k|#define SCTP_CMT_RPV2           3
  ------------------
  |  Branch (96:6): [True: 0, False: 71.7k]
  ------------------
   97|       |		/* In case of resource pooling initialize appropriately */
   98|      0|		net->cwnd /= assoc->numnets;
   99|      0|		if (net->cwnd < (net->mtu - sizeof(struct sctphdr))) {
  ------------------
  |  Branch (99:7): [True: 0, False: 0]
  ------------------
  100|      0|			net->cwnd = net->mtu - sizeof(struct sctphdr);
  101|      0|		}
  102|      0|	}
  103|  71.7k|	sctp_enforce_cwnd_limit(assoc, net);
  104|  71.7k|	net->ssthresh = assoc->peers_rwnd;
  105|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  106|       |	SDT_PROBE5(sctp, cwnd, net, init,
  107|       |	           stcb->asoc.my_vtag, ((stcb->sctp_ep->sctp_lport << 16) | (stcb->rport)), net,
  108|       |	           0, net->cwnd);
  109|       |#endif
  110|  71.7k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) &
  ------------------
  |  |  584|  71.7k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (110:6): [True: 0, False: 71.7k]
  ------------------
  111|  71.7k|	    (SCTP_CWND_MONITOR_ENABLE|SCTP_CWND_LOGGING_ENABLE)) {
  ------------------
  |  |  647|  71.7k|#define SCTP_CWND_MONITOR_ENABLE			0x00000002
  ------------------
              	    (SCTP_CWND_MONITOR_ENABLE|SCTP_CWND_LOGGING_ENABLE)) {
  ------------------
  |  |  648|  71.7k|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  112|      0|		sctp_log_cwnd(stcb, net, 0, SCTP_CWND_INITIALIZATION);
  ------------------
  |  |  166|      0|#define SCTP_CWND_INITIALIZATION    62
  ------------------
  113|      0|	}
  114|  71.7k|}
sctp_cc_functions.c:sctp_enforce_cwnd_limit:
   64|  71.7k|{
   65|  71.7k|	if ((assoc->max_cwnd > 0) &&
  ------------------
  |  Branch (65:6): [True: 0, False: 71.7k]
  ------------------
   66|  71.7k|	    (net->cwnd > assoc->max_cwnd) &&
  ------------------
  |  Branch (66:6): [True: 0, False: 0]
  ------------------
   67|  71.7k|	    (net->cwnd > (net->mtu - sizeof(struct sctphdr)))) {
  ------------------
  |  Branch (67:6): [True: 0, False: 0]
  ------------------
   68|      0|		net->cwnd = assoc->max_cwnd;
   69|      0|		if (net->cwnd < (net->mtu - sizeof(struct sctphdr))) {
  ------------------
  |  Branch (69:7): [True: 0, False: 0]
  ------------------
   70|      0|			net->cwnd = net->mtu - sizeof(struct sctphdr);
   71|      0|		}
   72|      0|	}
   73|  71.7k|}

sctp_set_rwnd:
   74|  17.8k|{
   75|  17.8k|	asoc->my_rwnd = sctp_calc_rwnd(stcb, asoc);
   76|  17.8k|}
sctp_calc_rwnd:
   81|  23.8k|{
   82|  23.8k|	uint32_t calc = 0;
   83|       |
   84|       |	/*
   85|       |	 * This is really set wrong with respect to a 1-2-m socket. Since
   86|       |	 * the sb_cc is the count that everyone as put up. When we re-write
   87|       |	 * sctp_soreceive then we will fix this so that ONLY this
   88|       |	 * associations data is taken into account.
   89|       |	 */
   90|  23.8k|	if (stcb->sctp_socket == NULL) {
  ------------------
  |  Branch (90:6): [True: 0, False: 23.8k]
  ------------------
   91|      0|		return (calc);
   92|      0|	}
   93|       |
   94|  23.8k|	KASSERT(asoc->cnt_on_reasm_queue > 0 || asoc->size_on_reasm_queue == 0,
  ------------------
  |  |  112|  23.8k|	do {                         \
  |  |  113|  45.2k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 2.41k, False: 21.4k]
  |  |  |  Branch (113:9): [True: 21.4k, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  23.8k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
   95|  23.8k|	        ("size_on_reasm_queue is %u", asoc->size_on_reasm_queue));
   96|  23.8k|	KASSERT(asoc->cnt_on_all_streams > 0 || asoc->size_on_all_streams == 0,
  ------------------
  |  |  112|  23.8k|	do {                         \
  |  |  113|  45.5k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 2.03k, False: 21.7k]
  |  |  |  Branch (113:9): [True: 21.7k, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  23.8k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
   97|  23.8k|	        ("size_on_all_streams is %u", asoc->size_on_all_streams));
   98|  23.8k|	if (stcb->asoc.sb_cc == 0 &&
  ------------------
  |  Branch (98:6): [True: 10.4k, False: 13.4k]
  ------------------
   99|  23.8k|	    asoc->cnt_on_reasm_queue == 0 &&
  ------------------
  |  Branch (99:6): [True: 9.95k, False: 444]
  ------------------
  100|  23.8k|	    asoc->cnt_on_all_streams == 0) {
  ------------------
  |  Branch (100:6): [True: 9.82k, False: 131]
  ------------------
  101|       |		/* Full rwnd granted */
  102|  9.82k|		calc = max(SCTP_SB_LIMIT_RCV(stcb->sctp_socket), SCTP_MINIMAL_RWND);
  ------------------
  |  |   67|  9.82k|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  ------------------
  |  |  |  Branch (67:19): [True: 9.82k, False: 0]
  |  |  ------------------
  ------------------
  103|  9.82k|		return (calc);
  104|  9.82k|	}
  105|       |	/* get actual space */
  106|  13.9k|	calc = (uint32_t) sctp_sbspace(&stcb->asoc, &stcb->sctp_socket->so_rcv);
  ------------------
  |  |   89|  13.9k|#define	sctp_sbspace(asoc, sb) ((long) ((sctp_maxspace(sb) > (asoc)->sb_cc) ? (sctp_maxspace(sb) - (asoc)->sb_cc) : 0))
  |  |  ------------------
  |  |  |  |   87|  13.9k|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|  13.9k|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 13.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define	sctp_sbspace(asoc, sb) ((long) ((sctp_maxspace(sb) > (asoc)->sb_cc) ? (sctp_maxspace(sb) - (asoc)->sb_cc) : 0))
  |  |  ------------------
  |  |  |  |   87|  13.1k|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|  13.1k|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 13.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (89:41): [True: 13.1k, False: 812]
  |  |  ------------------
  ------------------
  107|       |	/*
  108|       |	 * take out what has NOT been put on socket queue and we yet hold
  109|       |	 * for putting up.
  110|       |	 */
  111|  13.9k|	calc = sctp_sbspace_sub(calc, (uint32_t)(asoc->size_on_reasm_queue +
  ------------------
  |  |   93|  13.9k|#define sctp_sbspace_sub(a,b) (((a) > (b)) ? ((a) - (b)) : 0)
  |  |  ------------------
  |  |  |  Branch (93:32): [True: 13.1k, False: 825]
  |  |  ------------------
  ------------------
  112|  13.9k|	                                         asoc->cnt_on_reasm_queue * MSIZE));
  113|  13.9k|	calc = sctp_sbspace_sub(calc, (uint32_t)(asoc->size_on_all_streams +
  ------------------
  |  |   93|  13.9k|#define sctp_sbspace_sub(a,b) (((a) > (b)) ? ((a) - (b)) : 0)
  |  |  ------------------
  |  |  |  Branch (93:32): [True: 13.1k, False: 839]
  |  |  ------------------
  ------------------
  114|  13.9k|	                                         asoc->cnt_on_all_streams * MSIZE));
  115|  13.9k|	if (calc == 0) {
  ------------------
  |  Branch (115:6): [True: 839, False: 13.1k]
  ------------------
  116|       |		/* out of space */
  117|    839|		return (calc);
  118|    839|	}
  119|       |
  120|       |	/* what is the overhead of all these rwnd's */
  121|  13.1k|	calc = sctp_sbspace_sub(calc, stcb->asoc.my_rwnd_control_len);
  ------------------
  |  |   93|  13.1k|#define sctp_sbspace_sub(a,b) (((a) > (b)) ? ((a) - (b)) : 0)
  |  |  ------------------
  |  |  |  Branch (93:32): [True: 8.91k, False: 4.22k]
  |  |  ------------------
  ------------------
  122|       |	/* If the window gets too small due to ctrl-stuff, reduce it
  123|       |	 * to 1, even it is 0. SWS engaged
  124|       |	 */
  125|  13.1k|	if (calc < stcb->asoc.my_rwnd_control_len) {
  ------------------
  |  Branch (125:6): [True: 5.24k, False: 7.90k]
  ------------------
  126|  5.24k|		calc = 1;
  127|  5.24k|	}
  128|  13.1k|	return (calc);
  129|  13.9k|}
sctp_build_readq_entry:
  141|   473k|{
  142|   473k|	struct sctp_queued_to_read *read_queue_e = NULL;
  143|       |
  144|   473k|	sctp_alloc_a_readq(stcb, read_queue_e);
  ------------------
  |  |  118|   473k|#define sctp_alloc_a_readq(_stcb, _readq) { \
  |  |  119|   473k|	(_readq) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_readq), struct sctp_queued_to_read); \
  |  |  ------------------
  |  |  |  |  697|   473k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  120|   473k|	if ((_readq)) { \
  |  |  ------------------
  |  |  |  Branch (120:6): [True: 473k, False: 0]
  |  |  ------------------
  |  |  121|   473k|	     SCTP_INCR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  682|   473k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|   473k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  122|   473k|	} \
  |  |  123|   473k|}
  ------------------
  145|   473k|	if (read_queue_e == NULL) {
  ------------------
  |  Branch (145:6): [True: 0, False: 473k]
  ------------------
  146|      0|		goto failed_build;
  147|      0|	}
  148|   473k|	memset(read_queue_e, 0, sizeof(struct sctp_queued_to_read));
  149|   473k|	read_queue_e->sinfo_stream = sid;
  150|   473k|	read_queue_e->sinfo_flags = (flags << 8);
  151|   473k|	read_queue_e->sinfo_ppid = ppid;
  152|   473k|	read_queue_e->sinfo_context = context;
  153|   473k|	read_queue_e->sinfo_tsn = tsn;
  154|   473k|	read_queue_e->sinfo_cumtsn = tsn;
  155|   473k|	read_queue_e->sinfo_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|   473k|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
  156|   473k|	read_queue_e->mid = mid;
  157|   473k|	read_queue_e->top_fsn = read_queue_e->fsn_included = 0xffffffff;
  158|   473k|	TAILQ_INIT(&read_queue_e->reasm);
  159|   473k|	read_queue_e->whoFrom = net;
  160|   473k|	atomic_add_int(&net->ref_count, 1);
  ------------------
  |  |   94|   473k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  161|   473k|	read_queue_e->data = dm;
  162|   473k|	read_queue_e->stcb = stcb;
  163|   473k|	read_queue_e->port_from = stcb->rport;
  164|   473k|	if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|   473k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (164:6): [True: 0, False: 473k]
  ------------------
  165|      0|		read_queue_e->do_not_ref_stcb = 1;
  166|      0|	}
  167|   473k|failed_build:
  168|   473k|	return (read_queue_e);
  169|   473k|}
sctp_slide_mapping_arrays:
 2414|  19.2k|{
 2415|       |	/*
 2416|       |	 * Now we also need to check the mapping array in a couple of ways.
 2417|       |	 * 1) Did we move the cum-ack point?
 2418|       |	 *
 2419|       |	 * When you first glance at this you might think
 2420|       |	 * that all entries that make up the position
 2421|       |	 * of the cum-ack would be in the nr-mapping array
 2422|       |	 * only.. i.e. things up to the cum-ack are always
 2423|       |	 * deliverable. Thats true with one exception, when
 2424|       |	 * its a fragmented message we may not deliver the data
 2425|       |	 * until some threshold (or all of it) is in place. So
 2426|       |	 * we must OR the nr_mapping_array and mapping_array to
 2427|       |	 * get a true picture of the cum-ack.
 2428|       |	 */
 2429|  19.2k|	struct sctp_association *asoc;
 2430|  19.2k|	int at;
 2431|  19.2k|	uint8_t val;
 2432|  19.2k|	int slide_from, slide_end, lgap, distance;
 2433|  19.2k|	uint32_t old_cumack, old_base, old_highest, highest_tsn;
 2434|       |
 2435|  19.2k|	asoc = &stcb->asoc;
 2436|       |
 2437|  19.2k|	old_cumack = asoc->cumulative_tsn;
 2438|  19.2k|	old_base = asoc->mapping_array_base_tsn;
 2439|  19.2k|	old_highest = asoc->highest_tsn_inside_map;
 2440|       |	/*
 2441|       |	 * We could probably improve this a small bit by calculating the
 2442|       |	 * offset of the current cum-ack as the starting point.
 2443|       |	 */
 2444|  19.2k|	at = 0;
 2445|  20.4k|	for (slide_from = 0; slide_from < stcb->asoc.mapping_array_size; slide_from++) {
  ------------------
  |  Branch (2445:23): [True: 20.4k, False: 7]
  ------------------
 2446|  20.4k|		val = asoc->nr_mapping_array[slide_from] | asoc->mapping_array[slide_from];
 2447|  20.4k|		if (val == 0xff) {
  ------------------
  |  Branch (2447:7): [True: 1.26k, False: 19.1k]
  ------------------
 2448|  1.26k|			at += 8;
 2449|  19.1k|		} else {
 2450|       |			/* there is a 0 bit */
 2451|  19.1k|			at += sctp_map_lookup_tab[val];
 2452|  19.1k|			break;
 2453|  19.1k|		}
 2454|  20.4k|	}
 2455|  19.2k|	asoc->cumulative_tsn = asoc->mapping_array_base_tsn + (at-1);
 2456|       |
 2457|  19.2k|	if (SCTP_TSN_GT(asoc->cumulative_tsn, asoc->highest_tsn_inside_map) &&
  ------------------
  |  |  889|  19.2k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  38.4k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 2.93k, False: 16.2k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 2.93k]
  |  |  |  |  ------------------
  |  |  |  |  884|  38.4k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 2.34k, False: 16.8k]
  |  |  |  |  |  Branch (884:43): [True: 1.77k, False: 574]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2458|  19.2k|            SCTP_TSN_GT(asoc->cumulative_tsn, asoc->highest_tsn_inside_nr_map)) {
  ------------------
  |  |  889|  1.77k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  1.77k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 94, False: 1.68k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 94]
  |  |  |  |  ------------------
  |  |  |  |  884|  1.77k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 1.77k]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2459|      0|#ifdef INVARIANTS
 2460|      0|		panic("huh, cumack 0x%x greater than high-tsn 0x%x in map",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2461|      0|		      asoc->cumulative_tsn, asoc->highest_tsn_inside_map);
 2462|       |#else
 2463|       |		SCTP_PRINTF("huh, cumack 0x%x greater than high-tsn 0x%x in map - should panic?\n",
 2464|       |			    asoc->cumulative_tsn, asoc->highest_tsn_inside_map);
 2465|       |		sctp_print_mapping_array(asoc);
 2466|       |		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
 2467|       |			sctp_log_map(0, 6, asoc->highest_tsn_inside_map, SCTP_MAP_SLIDE_RESULT);
 2468|       |		}
 2469|       |		asoc->highest_tsn_inside_map = asoc->cumulative_tsn;
 2470|       |		asoc->highest_tsn_inside_nr_map = asoc->cumulative_tsn;
 2471|       |#endif
 2472|      0|	}
 2473|  19.2k|	if (SCTP_TSN_GT(asoc->highest_tsn_inside_nr_map, asoc->highest_tsn_inside_map)) {
  ------------------
  |  |  889|  19.2k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  19.2k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 2.27k, False: 16.9k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 2.27k]
  |  |  |  |  ------------------
  |  |  |  |  884|  19.2k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 3.55k, False: 15.6k]
  |  |  |  |  |  Branch (884:43): [True: 3.55k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2474|  3.55k|		highest_tsn = asoc->highest_tsn_inside_nr_map;
 2475|  15.6k|	} else {
 2476|  15.6k|		highest_tsn = asoc->highest_tsn_inside_map;
 2477|  15.6k|	}
 2478|  19.2k|	if ((asoc->cumulative_tsn == highest_tsn) && (at >= 8)) {
  ------------------
  |  Branch (2478:6): [True: 14.5k, False: 4.63k]
  |  Branch (2478:47): [True: 198, False: 14.3k]
  ------------------
 2479|       |		/* The complete array was completed by a single FR */
 2480|       |		/* highest becomes the cum-ack */
 2481|    198|		int clr;
 2482|    198|#ifdef INVARIANTS
 2483|    198|		unsigned int i;
 2484|    198|#endif
 2485|       |
 2486|       |		/* clear the array */
 2487|    198|		clr = ((at+7) >> 3);
 2488|    198|		if (clr > asoc->mapping_array_size) {
  ------------------
  |  Branch (2488:7): [True: 0, False: 198]
  ------------------
 2489|      0|			clr = asoc->mapping_array_size;
 2490|      0|		}
 2491|    198|		memset(asoc->mapping_array, 0, clr);
 2492|    198|		memset(asoc->nr_mapping_array, 0, clr);
 2493|    198|#ifdef INVARIANTS
 2494|  3.36k|		for (i = 0; i < asoc->mapping_array_size; i++) {
  ------------------
  |  Branch (2494:15): [True: 3.16k, False: 198]
  ------------------
 2495|  3.16k|			if ((asoc->mapping_array[i]) || (asoc->nr_mapping_array[i])) {
  ------------------
  |  Branch (2495:8): [True: 0, False: 3.16k]
  |  Branch (2495:36): [True: 0, False: 3.16k]
  ------------------
 2496|      0|				SCTP_PRINTF("Error Mapping array's not clean at clear\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 2497|      0|				sctp_print_mapping_array(asoc);
 2498|      0|			}
 2499|  3.16k|		}
 2500|    198|#endif
 2501|    198|		asoc->mapping_array_base_tsn = asoc->cumulative_tsn + 1;
 2502|    198|		asoc->highest_tsn_inside_nr_map = asoc->highest_tsn_inside_map = asoc->cumulative_tsn;
 2503|  19.0k|	} else if (at >= 8) {
  ------------------
  |  Branch (2503:13): [True: 46, False: 18.9k]
  ------------------
 2504|       |		/* we can slide the mapping array down */
 2505|       |		/* slide_from holds where we hit the first NON 0xff byte */
 2506|       |
 2507|       |		/*
 2508|       |		 * now calculate the ceiling of the move using our highest
 2509|       |		 * TSN value
 2510|       |		 */
 2511|     46|		SCTP_CALC_TSN_TO_GAP(lgap, highest_tsn, asoc->mapping_array_base_tsn);
  ------------------
  |  |  899|     46|#define SCTP_CALC_TSN_TO_GAP(gap, tsn, mapping_tsn) do { \
  |  |  900|     46|	                if (tsn >= mapping_tsn) { \
  |  |  ------------------
  |  |  |  Branch (900:22): [True: 46, False: 0]
  |  |  ------------------
  |  |  901|     46|						gap = tsn - mapping_tsn; \
  |  |  902|     46|					} else { \
  |  |  903|      0|						gap = (MAX_TSN - mapping_tsn) + tsn + 1; \
  |  |  ------------------
  |  |  |  |  310|      0|#define MAX_TSN	0xffffffff
  |  |  ------------------
  |  |  904|      0|					} \
  |  |  905|     46|                  } while (0)
  |  |  ------------------
  |  |  |  Branch (905:28): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2512|     46|		slide_end = (lgap >> 3);
 2513|     46|		if (slide_end < slide_from) {
  ------------------
  |  Branch (2513:7): [True: 0, False: 46]
  ------------------
 2514|      0|			sctp_print_mapping_array(asoc);
 2515|      0|#ifdef INVARIANTS
 2516|      0|			panic("impossible slide");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2517|       |#else
 2518|       |			SCTP_PRINTF("impossible slide lgap: %x slide_end: %x slide_from: %x? at: %d\n",
 2519|       |			            lgap, slide_end, slide_from, at);
 2520|       |			return;
 2521|       |#endif
 2522|      0|		}
 2523|     46|		if (slide_end > asoc->mapping_array_size) {
  ------------------
  |  Branch (2523:7): [True: 0, False: 46]
  ------------------
 2524|      0|#ifdef INVARIANTS
 2525|      0|			panic("would overrun buffer");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2526|       |#else
 2527|       |			SCTP_PRINTF("Gak, would have overrun map end: %d slide_end: %d\n",
 2528|       |			            asoc->mapping_array_size, slide_end);
 2529|       |			slide_end = asoc->mapping_array_size;
 2530|       |#endif
 2531|      0|		}
 2532|     46|		distance = (slide_end - slide_from) + 1;
 2533|     46|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  584|     46|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  652|     46|#define SCTP_MAP_LOGGING_ENABLE				0x00000100
  ------------------
  |  Branch (2533:7): [True: 0, False: 46]
  ------------------
 2534|      0|			sctp_log_map(old_base, old_cumack, old_highest,
 2535|      0|				     SCTP_MAP_PREPARE_SLIDE);
  ------------------
  |  |  126|      0|#define SCTP_MAP_PREPARE_SLIDE      21
  ------------------
 2536|      0|			sctp_log_map((uint32_t) slide_from, (uint32_t) slide_end,
 2537|      0|				     (uint32_t) lgap, SCTP_MAP_SLIDE_FROM);
  ------------------
  |  |  127|      0|#define SCTP_MAP_SLIDE_FROM         22
  ------------------
 2538|      0|		}
 2539|     46|		if (distance + slide_from > asoc->mapping_array_size ||
  ------------------
  |  Branch (2539:7): [True: 0, False: 46]
  ------------------
 2540|     46|		    distance < 0) {
  ------------------
  |  Branch (2540:7): [True: 0, False: 46]
  ------------------
 2541|       |			/*
 2542|       |			 * Here we do NOT slide forward the array so that
 2543|       |			 * hopefully when more data comes in to fill it up
 2544|       |			 * we will be able to slide it forward. Really I
 2545|       |			 * don't think this should happen :-0
 2546|       |			 */
 2547|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  652|      0|#define SCTP_MAP_LOGGING_ENABLE				0x00000100
  ------------------
  |  Branch (2547:8): [True: 0, False: 0]
  ------------------
 2548|      0|				sctp_log_map((uint32_t) distance, (uint32_t) slide_from,
 2549|      0|					     (uint32_t) asoc->mapping_array_size,
 2550|      0|					     SCTP_MAP_SLIDE_NONE);
  ------------------
  |  |  130|      0|#define SCTP_MAP_SLIDE_NONE         25
  ------------------
 2551|      0|			}
 2552|     46|		} else {
 2553|     46|			int ii;
 2554|       |
 2555|  10.0k|			for (ii = 0; ii < distance; ii++) {
  ------------------
  |  Branch (2555:17): [True: 9.95k, False: 46]
  ------------------
 2556|  9.95k|				asoc->mapping_array[ii] = asoc->mapping_array[slide_from + ii];
 2557|  9.95k|				asoc->nr_mapping_array[ii] = asoc->nr_mapping_array[slide_from + ii];
 2558|  9.95k|			}
 2559|  1.97k|			for (ii = distance; ii < asoc->mapping_array_size; ii++) {
  ------------------
  |  Branch (2559:24): [True: 1.92k, False: 46]
  ------------------
 2560|  1.92k|				asoc->mapping_array[ii] = 0;
 2561|  1.92k|				asoc->nr_mapping_array[ii] = 0;
 2562|  1.92k|			}
 2563|     46|			if (asoc->highest_tsn_inside_map + 1 == asoc->mapping_array_base_tsn) {
  ------------------
  |  Branch (2563:8): [True: 24, False: 22]
  ------------------
 2564|     24|				asoc->highest_tsn_inside_map += (slide_from << 3);
 2565|     24|			}
 2566|     46|			if (asoc->highest_tsn_inside_nr_map + 1 == asoc->mapping_array_base_tsn) {
  ------------------
  |  Branch (2566:8): [True: 1, False: 45]
  ------------------
 2567|      1|				asoc->highest_tsn_inside_nr_map += (slide_from << 3);
 2568|      1|			}
 2569|     46|			asoc->mapping_array_base_tsn += (slide_from << 3);
 2570|     46|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  584|     46|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  652|     46|#define SCTP_MAP_LOGGING_ENABLE				0x00000100
  ------------------
  |  Branch (2570:8): [True: 0, False: 46]
  ------------------
 2571|      0|				sctp_log_map(asoc->mapping_array_base_tsn,
 2572|      0|					     asoc->cumulative_tsn, asoc->highest_tsn_inside_map,
 2573|      0|					     SCTP_MAP_SLIDE_RESULT);
  ------------------
  |  |  128|      0|#define SCTP_MAP_SLIDE_RESULT       23
  ------------------
 2574|      0|			}
 2575|     46|		}
 2576|     46|	}
 2577|  19.2k|}
sctp_sack_check:
 2581|  5.74k|{
 2582|  5.74k|	struct sctp_association *asoc;
 2583|  5.74k|	uint32_t highest_tsn;
 2584|  5.74k|	int is_a_gap;
 2585|       |
 2586|  5.74k|	sctp_slide_mapping_arrays(stcb);
 2587|  5.74k|	asoc = &stcb->asoc;
 2588|  5.74k|	if (SCTP_TSN_GT(asoc->highest_tsn_inside_nr_map, asoc->highest_tsn_inside_map)) {
  ------------------
  |  |  889|  5.74k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  5.74k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 1.09k, False: 4.65k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 1.09k]
  |  |  |  |  ------------------
  |  |  |  |  884|  5.74k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 1.02k, False: 4.72k]
  |  |  |  |  |  Branch (884:43): [True: 1.02k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2589|  1.02k|		highest_tsn = asoc->highest_tsn_inside_nr_map;
 2590|  4.72k|	} else {
 2591|  4.72k|		highest_tsn = asoc->highest_tsn_inside_map;
 2592|  4.72k|	}
 2593|       |	/* Is there a gap now? */
 2594|  5.74k|	is_a_gap = SCTP_TSN_GT(highest_tsn, stcb->asoc.cumulative_tsn);
  ------------------
  |  |  889|  5.74k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  5.74k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 48, False: 5.69k]
  |  |  |  |  |  Branch (883:43): [True: 48, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|  5.74k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 1.86k, False: 3.83k]
  |  |  |  |  |  Branch (884:43): [True: 1.86k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2595|       |
 2596|       |	/*
 2597|       |	 * Now we need to see if we need to queue a sack or just start the
 2598|       |	 * timer (if allowed).
 2599|       |	 */
 2600|  5.74k|	if (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_SENT) {
  ------------------
  |  |  472|  5.74k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  5.74k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_SENT) {
  ------------------
  |  |  460|  5.74k|#define SCTP_STATE_SHUTDOWN_SENT	0x0010
  ------------------
  |  Branch (2600:6): [True: 0, False: 5.74k]
  ------------------
 2601|       |		/*
 2602|       |		 * Ok special case, in SHUTDOWN-SENT case. here we
 2603|       |		 * maker sure SACK timer is off and instead send a
 2604|       |		 * SHUTDOWN and a SACK
 2605|       |		 */
 2606|      0|		if (SCTP_OS_TIMER_PENDING(&stcb->asoc.dack_timer.timer)) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  |  |  |  Branch (102:36): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2607|      0|			sctp_timer_stop(SCTP_TIMER_TYPE_RECV,
  ------------------
  |  |  534|      0|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
 2608|      0|			                stcb->sctp_ep, stcb, NULL,
 2609|      0|			                SCTP_FROM_SCTP_INDATA + SCTP_LOC_19);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              			                SCTP_FROM_SCTP_INDATA + SCTP_LOC_19);
  ------------------
  |  |  787|      0|#define SCTP_LOC_19 0x00000013
  ------------------
 2610|      0|		}
 2611|      0|		sctp_send_shutdown(stcb,
 2612|      0|		                   ((stcb->asoc.alternate) ? stcb->asoc.alternate : stcb->asoc.primary_destination));
  ------------------
  |  Branch (2612:23): [True: 0, False: 0]
  ------------------
 2613|      0|		if (is_a_gap) {
  ------------------
  |  Branch (2613:7): [True: 0, False: 0]
  ------------------
 2614|      0|			sctp_send_sack(stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2615|      0|		}
 2616|  5.74k|	} else {
 2617|       |		/*
 2618|       |		 * CMT DAC algorithm: increase number of packets
 2619|       |		 * received since last ack
 2620|       |		 */
 2621|  5.74k|		stcb->asoc.cmt_dac_pkts_rcvd++;
 2622|       |
 2623|  5.74k|		if ((stcb->asoc.send_sack == 1) ||      /* We need to send a SACK */
  ------------------
  |  Branch (2623:7): [True: 5.41k, False: 336]
  ------------------
 2624|  5.74k|		    ((was_a_gap) && (is_a_gap == 0)) ||	/* was a gap, but no
  ------------------
  |  Branch (2624:8): [True: 0, False: 336]
  |  Branch (2624:23): [True: 0, False: 0]
  ------------------
 2625|       |		                                         * longer is one */
 2626|  5.74k|		    (stcb->asoc.numduptsns) ||          /* we have dup's */
  ------------------
  |  Branch (2626:7): [True: 0, False: 336]
  ------------------
 2627|  5.74k|		    (is_a_gap) ||                       /* is still a gap */
  ------------------
  |  Branch (2627:7): [True: 211, False: 125]
  ------------------
 2628|  5.74k|		    (stcb->asoc.delayed_ack == 0) ||    /* Delayed sack disabled */
  ------------------
  |  Branch (2628:7): [True: 0, False: 125]
  ------------------
 2629|  5.74k|		    (stcb->asoc.data_pkts_seen >= stcb->asoc.sack_freq)) {	/* hit limit of pkts */
  ------------------
  |  Branch (2629:7): [True: 0, False: 125]
  ------------------
 2630|  5.62k|			if ((stcb->asoc.sctp_cmt_on_off > 0) &&
  ------------------
  |  Branch (2630:8): [True: 0, False: 5.62k]
  ------------------
 2631|  5.62k|			    (SCTP_BASE_SYSCTL(sctp_cmt_use_dac)) &&
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (2631:8): [True: 0, False: 0]
  ------------------
 2632|  5.62k|			    (stcb->asoc.send_sack == 0) &&
  ------------------
  |  Branch (2632:8): [True: 0, False: 0]
  ------------------
 2633|  5.62k|			    (stcb->asoc.numduptsns == 0) &&
  ------------------
  |  Branch (2633:8): [True: 0, False: 0]
  ------------------
 2634|  5.62k|			    (stcb->asoc.delayed_ack) &&
  ------------------
  |  Branch (2634:8): [True: 0, False: 0]
  ------------------
 2635|  5.62k|			    (!SCTP_OS_TIMER_PENDING(&stcb->asoc.dack_timer.timer))) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  ------------------
  |  Branch (2635:8): [True: 0, False: 0]
  ------------------
 2636|       |				/*
 2637|       |				 * CMT DAC algorithm: With CMT,
 2638|       |				 * delay acks even in the face of
 2639|       |				 * reordering. Therefore, if acks
 2640|       |				 * that do not have to be sent
 2641|       |				 * because of the above reasons,
 2642|       |				 * will be delayed. That is, acks
 2643|       |				 * that would have been sent due to
 2644|       |				 * gap reports will be delayed with
 2645|       |				 * DAC. Start the delayed ack timer.
 2646|       |				 */
 2647|      0|				sctp_timer_start(SCTP_TIMER_TYPE_RECV,
  ------------------
  |  |  534|      0|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
 2648|      0|				                 stcb->sctp_ep, stcb, NULL);
 2649|  5.62k|			} else {
 2650|       |				/*
 2651|       |				 * Ok we must build a SACK since the
 2652|       |				 * timer is pending, we got our
 2653|       |				 * first packet OR there are gaps or
 2654|       |				 * duplicates.
 2655|       |				 */
 2656|  5.62k|				sctp_timer_stop(SCTP_TIMER_TYPE_RECV, stcb->sctp_ep, stcb, NULL,
  ------------------
  |  |  534|  5.62k|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
 2657|  5.62k|				                SCTP_FROM_SCTP_INDATA + SCTP_LOC_20);
  ------------------
  |  |  757|  5.62k|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              				                SCTP_FROM_SCTP_INDATA + SCTP_LOC_20);
  ------------------
  |  |  788|  5.62k|#define SCTP_LOC_20 0x00000014
  ------------------
 2658|  5.62k|				sctp_send_sack(stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  5.62k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2659|  5.62k|			}
 2660|  5.62k|		} else {
 2661|    125|			if (!SCTP_OS_TIMER_PENDING(&stcb->asoc.dack_timer.timer)) {
  ------------------
  |  |  102|    125|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|    125|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  ------------------
  |  Branch (2661:8): [True: 125, False: 0]
  ------------------
 2662|    125|				sctp_timer_start(SCTP_TIMER_TYPE_RECV,
  ------------------
  |  |  534|    125|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
 2663|    125|				                 stcb->sctp_ep, stcb, NULL);
 2664|    125|			}
 2665|    125|		}
 2666|  5.74k|	}
 2667|  5.74k|}
sctp_process_data:
 2673|  5.66k|{
 2674|  5.66k|	struct sctp_chunkhdr *ch, chunk_buf;
 2675|  5.66k|	struct sctp_association *asoc;
 2676|  5.66k|	int num_chunks = 0;	/* number of control chunks processed */
 2677|  5.66k|	int stop_proc = 0;
 2678|  5.66k|	int break_flag, last_chunk;
 2679|  5.66k|	int abort_flag = 0, was_a_gap;
 2680|  5.66k|	struct mbuf *m;
 2681|  5.66k|	uint32_t highest_tsn;
 2682|  5.66k|	uint16_t chk_length;
 2683|       |
 2684|       |	/* set the rwnd */
 2685|  5.66k|	sctp_set_rwnd(stcb, &stcb->asoc);
 2686|       |
 2687|  5.66k|	m = *mm;
 2688|  5.66k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  5.66k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  5.66k|	do {                         \
  |  |  |  |  113|  5.66k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 5.66k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  5.66k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2689|  5.66k|	asoc = &stcb->asoc;
 2690|  5.66k|	if (SCTP_TSN_GT(asoc->highest_tsn_inside_nr_map, asoc->highest_tsn_inside_map)) {
  ------------------
  |  |  889|  5.66k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  5.66k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 5.66k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|  5.66k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 103, False: 5.56k]
  |  |  |  |  |  Branch (884:43): [True: 103, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2691|    103|		highest_tsn = asoc->highest_tsn_inside_nr_map;
 2692|  5.56k|	} else {
 2693|  5.56k|		highest_tsn = asoc->highest_tsn_inside_map;
 2694|  5.56k|	}
 2695|  5.66k|	was_a_gap = SCTP_TSN_GT(highest_tsn, stcb->asoc.cumulative_tsn);
  ------------------
  |  |  889|  5.66k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  5.66k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 5.66k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|  5.66k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 5.66k]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2696|       |	/*
 2697|       |	 * setup where we got the last DATA packet from for any SACK that
 2698|       |	 * may need to go out. Don't bump the net. This is done ONLY when a
 2699|       |	 * chunk is assigned.
 2700|       |	 */
 2701|  5.66k|	asoc->last_data_chunk_from = net;
 2702|       |
 2703|       |	/*-
 2704|       |	 * Now before we proceed we must figure out if this is a wasted
 2705|       |	 * cluster... i.e. it is a small packet sent in and yet the driver
 2706|       |	 * underneath allocated a full cluster for it. If so we must copy it
 2707|       |	 * to a smaller mbuf and free up the cluster mbuf. This will help
 2708|       |	 * with cluster starvation.
 2709|       |	 */
 2710|  5.66k|	if (SCTP_BUF_LEN(m) < (long)MLEN && SCTP_BUF_NEXT(m) == NULL) {
  ------------------
  |  |  795|  5.66k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  5.66k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
              	if (SCTP_BUF_LEN(m) < (long)MLEN && SCTP_BUF_NEXT(m) == NULL) {
  ------------------
  |  |  138|  11.3k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  ------------------
  |  |  |  |   47|  5.66k|#define MSIZE 256
  |  |  ------------------
  ------------------
              	if (SCTP_BUF_LEN(m) < (long)MLEN && SCTP_BUF_NEXT(m) == NULL) {
  ------------------
  |  |  796|  5.25k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  5.25k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (2710:6): [True: 5.25k, False: 416]
  |  Branch (2710:38): [True: 2.32k, False: 2.92k]
  ------------------
 2711|       |		/* we only handle mbufs that are singletons.. not chains */
 2712|  2.32k|		m = sctp_get_mbuf_for_msg(SCTP_BUF_LEN(m), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  795|  2.32k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.32k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
              		m = sctp_get_mbuf_for_msg(SCTP_BUF_LEN(m), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  2.32k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		m = sctp_get_mbuf_for_msg(SCTP_BUF_LEN(m), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  2.32k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 2713|  2.32k|		if (m) {
  ------------------
  |  Branch (2713:7): [True: 2.32k, False: 0]
  ------------------
 2714|       |			/* ok lets see if we can copy the data up */
 2715|  2.32k|			caddr_t *from, *to;
 2716|       |			/* get the pointers and copy */
 2717|  2.32k|			to = mtod(m, caddr_t *);
  ------------------
  |  |   96|  2.32k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  2.32k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 2718|  2.32k|			from = mtod((*mm), caddr_t *);
  ------------------
  |  |   96|  2.32k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  2.32k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 2719|  2.32k|			memcpy(to, from, SCTP_BUF_LEN((*mm)));
  ------------------
  |  |  795|  2.32k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.32k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 2720|       |			/* copy the length and free up the old */
 2721|  2.32k|			SCTP_BUF_LEN(m) = SCTP_BUF_LEN((*mm));
  ------------------
  |  |  795|  2.32k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.32k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
              			SCTP_BUF_LEN(m) = SCTP_BUF_LEN((*mm));
  ------------------
  |  |  795|  2.32k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.32k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 2722|  2.32k|			sctp_m_freem(*mm);
  ------------------
  |  |   52|  2.32k|#define sctp_m_freem m_freem
  ------------------
 2723|       |			/* success, back copy */
 2724|  2.32k|			*mm = m;
 2725|  2.32k|		} else {
 2726|       |			/* We are in trouble in the mbuf world .. yikes */
 2727|      0|			m = *mm;
 2728|      0|		}
 2729|  2.32k|	}
 2730|       |	/* get pointer to the first chunk header */
 2731|  5.66k|	ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, *offset,
 2732|  5.66k|	                                           sizeof(struct sctp_chunkhdr),
 2733|  5.66k|	                                           (uint8_t *)&chunk_buf);
 2734|  5.66k|	if (ch == NULL) {
  ------------------
  |  Branch (2734:6): [True: 0, False: 5.66k]
  ------------------
 2735|      0|		return (1);
 2736|      0|	}
 2737|       |	/*
 2738|       |	 * process all DATA chunks...
 2739|       |	 */
 2740|  5.66k|	*high_tsn = asoc->cumulative_tsn;
 2741|  5.66k|	break_flag = 0;
 2742|  5.66k|	asoc->data_pkts_seen++;
 2743|  21.5k|	while (stop_proc == 0) {
  ------------------
  |  Branch (2743:9): [True: 16.6k, False: 4.90k]
  ------------------
 2744|       |		/* validate chunk length */
 2745|  16.6k|		chk_length = ntohs(ch->chunk_length);
 2746|  16.6k|		if (length - *offset < chk_length) {
  ------------------
  |  Branch (2746:7): [True: 424, False: 16.1k]
  ------------------
 2747|       |			/* all done, mutulated chunk */
 2748|    424|			stop_proc = 1;
 2749|    424|			continue;
 2750|    424|		}
 2751|  16.1k|		if ((asoc->idata_supported == 1) &&
  ------------------
  |  Branch (2751:7): [True: 5.22k, False: 10.9k]
  ------------------
 2752|  16.1k|		    (ch->chunk_type == SCTP_DATA)) {
  ------------------
  |  |  457|  5.22k|#define SCTP_DATA		0x00
  ------------------
  |  Branch (2752:7): [True: 183, False: 5.03k]
  ------------------
 2753|    183|			struct mbuf *op_err;
 2754|    183|			char msg[SCTP_DIAG_INFO_LEN];
 2755|       |
 2756|    183|			SCTP_SNPRINTF(msg, sizeof(msg), "%s", "DATA chunk received when I-DATA was negotiated");
  ------------------
  |  |  814|    183|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 183]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 2757|    183|			op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|    183|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 2758|    183|			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_21;
  ------------------
  |  |  757|    183|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_21;
  ------------------
  |  |  789|    183|#define SCTP_LOC_21 0x00000015
  ------------------
 2759|    183|			sctp_abort_an_association(inp, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    183|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2760|    183|			return (2);
 2761|    183|		}
 2762|  15.9k|		if ((asoc->idata_supported == 0) &&
  ------------------
  |  Branch (2762:7): [True: 10.9k, False: 5.03k]
  ------------------
 2763|  15.9k|		    (ch->chunk_type == SCTP_IDATA)) {
  ------------------
  |  |  477|  10.9k|#define SCTP_IDATA		0x40
  ------------------
  |  Branch (2763:7): [True: 7, False: 10.9k]
  ------------------
 2764|      7|			struct mbuf *op_err;
 2765|      7|			char msg[SCTP_DIAG_INFO_LEN];
 2766|       |
 2767|      7|			SCTP_SNPRINTF(msg, sizeof(msg), "%s", "I-DATA chunk received when DATA was negotiated");
  ------------------
  |  |  814|      7|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 7]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 2768|      7|			op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|      7|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 2769|      7|			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_22;
  ------------------
  |  |  757|      7|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_22;
  ------------------
  |  |  790|      7|#define SCTP_LOC_22 0x00000016
  ------------------
 2770|      7|			sctp_abort_an_association(inp, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      7|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2771|      7|			return (2);
 2772|      7|		}
 2773|  15.9k|		if ((ch->chunk_type == SCTP_DATA) ||
  ------------------
  |  |  457|  15.9k|#define SCTP_DATA		0x00
  ------------------
  |  Branch (2773:7): [True: 9.56k, False: 6.42k]
  ------------------
 2774|  15.9k|		    (ch->chunk_type == SCTP_IDATA)) {
  ------------------
  |  |  477|  6.42k|#define SCTP_IDATA		0x40
  ------------------
  |  Branch (2774:7): [True: 4.37k, False: 2.04k]
  ------------------
 2775|  13.9k|			uint16_t clen;
 2776|       |
 2777|  13.9k|			if (ch->chunk_type == SCTP_DATA) {
  ------------------
  |  |  457|  13.9k|#define SCTP_DATA		0x00
  ------------------
  |  Branch (2777:8): [True: 9.56k, False: 4.37k]
  ------------------
 2778|  9.56k|				clen = sizeof(struct sctp_data_chunk);
 2779|  9.56k|			} else {
 2780|  4.37k|				clen = sizeof(struct sctp_idata_chunk);
 2781|  4.37k|			}
 2782|  13.9k|			if (chk_length < clen) {
  ------------------
  |  Branch (2782:8): [True: 72, False: 13.8k]
  ------------------
 2783|       |				/*
 2784|       |				 * Need to send an abort since we had a
 2785|       |				 * invalid data chunk.
 2786|       |				 */
 2787|     72|				struct mbuf *op_err;
 2788|     72|				char msg[SCTP_DIAG_INFO_LEN];
 2789|       |
 2790|     72|				SCTP_SNPRINTF(msg, sizeof(msg), "%s chunk of length %u",
  ------------------
  |  |  814|    144|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 72]
  |  |  |  Branch (814:21): [True: 53, False: 19]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 2791|     72|				              ch->chunk_type == SCTP_DATA ? "DATA" : "I-DATA",
 2792|     72|				              chk_length);
 2793|     72|				op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|     72|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 2794|     72|				stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_23;
  ------------------
  |  |  757|     72|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              				stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_23;
  ------------------
  |  |  791|     72|#define SCTP_LOC_23 0x00000017
  ------------------
 2795|     72|				sctp_abort_an_association(inp, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     72|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2796|     72|				return (2);
 2797|     72|			}
 2798|       |#ifdef SCTP_AUDITING_ENABLED
 2799|       |			sctp_audit_log(0xB1, 0);
 2800|       |#endif
 2801|  13.8k|			if (SCTP_SIZE32(chk_length) == (length - *offset)) {
  ------------------
  |  |  383|  13.8k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  |  Branch (2801:8): [True: 2.58k, False: 11.2k]
  ------------------
 2802|  2.58k|				last_chunk = 1;
 2803|  11.2k|			} else {
 2804|  11.2k|				last_chunk = 0;
 2805|  11.2k|			}
 2806|  13.8k|			if (sctp_process_a_data_chunk(stcb, asoc, mm, *offset,
  ------------------
  |  Branch (2806:8): [True: 6.84k, False: 7.02k]
  ------------------
 2807|  13.8k|						      chk_length, net, high_tsn, &abort_flag, &break_flag,
 2808|  13.8k|						      last_chunk, ch->chunk_type)) {
 2809|  6.84k|				num_chunks++;
 2810|  6.84k|			}
 2811|  13.8k|			if (abort_flag)
  ------------------
  |  Branch (2811:8): [True: 425, False: 13.4k]
  ------------------
 2812|    425|				return (2);
 2813|       |
 2814|  13.4k|			if (break_flag) {
  ------------------
  |  Branch (2814:8): [True: 26, False: 13.4k]
  ------------------
 2815|       |				/*
 2816|       |				 * Set because of out of rwnd space and no
 2817|       |				 * drop rep space left.
 2818|       |				 */
 2819|     26|				stop_proc = 1;
 2820|     26|				continue;
 2821|     26|			}
 2822|  13.4k|		} else {
 2823|       |			/* not a data chunk in the data region */
 2824|  2.04k|			switch (ch->chunk_type) {
 2825|      4|			case SCTP_INITIATION:
  ------------------
  |  |  458|      4|#define SCTP_INITIATION		0x01
  ------------------
  |  Branch (2825:4): [True: 4, False: 2.04k]
  ------------------
 2826|      5|			case SCTP_INITIATION_ACK:
  ------------------
  |  |  459|      5|#define SCTP_INITIATION_ACK	0x02
  ------------------
  |  Branch (2826:4): [True: 1, False: 2.04k]
  ------------------
 2827|      7|			case SCTP_SELECTIVE_ACK:
  ------------------
  |  |  460|      7|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (2827:4): [True: 2, False: 2.04k]
  ------------------
 2828|     11|			case SCTP_NR_SELECTIVE_ACK:
  ------------------
  |  |  475|     11|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
  |  Branch (2828:4): [True: 4, False: 2.04k]
  ------------------
 2829|     19|			case SCTP_HEARTBEAT_REQUEST:
  ------------------
  |  |  461|     19|#define SCTP_HEARTBEAT_REQUEST	0x04
  ------------------
  |  Branch (2829:4): [True: 8, False: 2.03k]
  ------------------
 2830|     22|			case SCTP_HEARTBEAT_ACK:
  ------------------
  |  |  462|     22|#define SCTP_HEARTBEAT_ACK	0x05
  ------------------
  |  Branch (2830:4): [True: 3, False: 2.04k]
  ------------------
 2831|     23|			case SCTP_ABORT_ASSOCIATION:
  ------------------
  |  |  463|     23|#define SCTP_ABORT_ASSOCIATION	0x06
  ------------------
  |  Branch (2831:4): [True: 1, False: 2.04k]
  ------------------
 2832|     25|			case SCTP_SHUTDOWN:
  ------------------
  |  |  464|     25|#define SCTP_SHUTDOWN		0x07
  ------------------
  |  Branch (2832:4): [True: 2, False: 2.04k]
  ------------------
 2833|     26|			case SCTP_SHUTDOWN_ACK:
  ------------------
  |  |  465|     26|#define SCTP_SHUTDOWN_ACK	0x08
  ------------------
  |  Branch (2833:4): [True: 1, False: 2.04k]
  ------------------
 2834|     36|			case SCTP_OPERATION_ERROR:
  ------------------
  |  |  466|     36|#define SCTP_OPERATION_ERROR	0x09
  ------------------
  |  Branch (2834:4): [True: 10, False: 2.03k]
  ------------------
 2835|     37|			case SCTP_COOKIE_ECHO:
  ------------------
  |  |  467|     37|#define SCTP_COOKIE_ECHO	0x0a
  ------------------
  |  Branch (2835:4): [True: 1, False: 2.04k]
  ------------------
 2836|     38|			case SCTP_COOKIE_ACK:
  ------------------
  |  |  468|     38|#define SCTP_COOKIE_ACK		0x0b
  ------------------
  |  Branch (2836:4): [True: 1, False: 2.04k]
  ------------------
 2837|     39|			case SCTP_ECN_ECHO:
  ------------------
  |  |  469|     39|#define SCTP_ECN_ECHO		0x0c
  ------------------
  |  Branch (2837:4): [True: 1, False: 2.04k]
  ------------------
 2838|     40|			case SCTP_ECN_CWR:
  ------------------
  |  |  470|     40|#define SCTP_ECN_CWR		0x0d
  ------------------
  |  Branch (2838:4): [True: 1, False: 2.04k]
  ------------------
 2839|     41|			case SCTP_SHUTDOWN_COMPLETE:
  ------------------
  |  |  471|     41|#define SCTP_SHUTDOWN_COMPLETE	0x0e
  ------------------
  |  Branch (2839:4): [True: 1, False: 2.04k]
  ------------------
 2840|     42|			case SCTP_AUTHENTICATION:
  ------------------
  |  |  473|     42|#define SCTP_AUTHENTICATION     0x0f
  ------------------
  |  Branch (2840:4): [True: 1, False: 2.04k]
  ------------------
 2841|     43|			case SCTP_ASCONF_ACK:
  ------------------
  |  |  480|     43|#define	SCTP_ASCONF_ACK		0x80
  ------------------
  |  Branch (2841:4): [True: 1, False: 2.04k]
  ------------------
 2842|     44|			case SCTP_PACKET_DROPPED:
  ------------------
  |  |  482|     44|#define SCTP_PACKET_DROPPED	0x81
  ------------------
  |  Branch (2842:4): [True: 1, False: 2.04k]
  ------------------
 2843|     45|			case SCTP_STREAM_RESET:
  ------------------
  |  |  484|     45|#define SCTP_STREAM_RESET       0x82
  ------------------
  |  Branch (2843:4): [True: 1, False: 2.04k]
  ------------------
 2844|     48|			case SCTP_FORWARD_CUM_TSN:
  ------------------
  |  |  490|     48|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
  |  Branch (2844:4): [True: 3, False: 2.04k]
  ------------------
 2845|     49|			case SCTP_ASCONF:
  ------------------
  |  |  492|     49|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (2845:4): [True: 1, False: 2.04k]
  ------------------
 2846|     49|			{
 2847|       |				/*
 2848|       |				 * Now, what do we do with KNOWN chunks that
 2849|       |				 * are NOT in the right place?
 2850|       |				 *
 2851|       |				 * For now, I do nothing but ignore them. We
 2852|       |				 * may later want to add sysctl stuff to
 2853|       |				 * switch out and do either an ABORT() or
 2854|       |				 * possibly process them.
 2855|       |				 */
 2856|     49|				struct mbuf *op_err;
 2857|     49|				char msg[SCTP_DIAG_INFO_LEN];
 2858|       |
 2859|     49|				SCTP_SNPRINTF(msg, sizeof(msg), "DATA chunk followed by chunk of type %2.2x",
  ------------------
  |  |  814|     49|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 49]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 2860|     49|				              ch->chunk_type);
 2861|     49|				op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|     49|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 2862|     49|				sctp_abort_an_association(inp, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     49|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2863|     49|				return (2);
 2864|     48|			}
 2865|  1.99k|			default:
  ------------------
  |  Branch (2865:4): [True: 1.99k, False: 49]
  ------------------
 2866|       |				/*
 2867|       |				 * Unknown chunk type: use bit rules after
 2868|       |				 * checking length
 2869|       |				 */
 2870|  1.99k|				if (chk_length < sizeof(struct sctp_chunkhdr)) {
  ------------------
  |  Branch (2870:9): [True: 25, False: 1.97k]
  ------------------
 2871|       |					/*
 2872|       |					 * Need to send an abort since we had a
 2873|       |					 * invalid chunk.
 2874|       |					 */
 2875|     25|					struct mbuf *op_err;
 2876|     25|					char msg[SCTP_DIAG_INFO_LEN];
 2877|       |
 2878|     25|					SCTP_SNPRINTF(msg, sizeof(msg), "Chunk of length %u", chk_length);
  ------------------
  |  |  814|     25|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 25]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 2879|     25|					op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|     25|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 2880|     25|					stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_24;
  ------------------
  |  |  757|     25|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              					stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_24;
  ------------------
  |  |  792|     25|#define SCTP_LOC_24 0x00000018
  ------------------
 2881|     25|					sctp_abort_an_association(inp, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     25|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2882|     25|					return (2);
 2883|     25|				}
 2884|  1.97k|				if (ch->chunk_type & 0x40) {
  ------------------
  |  Branch (2884:9): [True: 1.75k, False: 214]
  ------------------
 2885|       |					/* Add a error report to the queue */
 2886|  1.75k|					struct mbuf *op_err;
 2887|  1.75k|					struct sctp_gen_error_cause *cause;
 2888|       |
 2889|  1.75k|					op_err = sctp_get_mbuf_for_msg(sizeof(struct sctp_gen_error_cause),
 2890|  1.75k|					                               0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  1.75k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              					                               0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  1.75k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 2891|  1.75k|					if (op_err != NULL) {
  ------------------
  |  Branch (2891:10): [True: 1.75k, False: 0]
  ------------------
 2892|  1.75k|						cause  = mtod(op_err, struct sctp_gen_error_cause *);
  ------------------
  |  |   96|  1.75k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  1.75k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 2893|  1.75k|						cause->code = htons(SCTP_CAUSE_UNRECOG_CHUNK);
 2894|  1.75k|						cause->length = htons((uint16_t)(chk_length + sizeof(struct sctp_gen_error_cause)));
 2895|  1.75k|						SCTP_BUF_LEN(op_err) = sizeof(struct sctp_gen_error_cause);
  ------------------
  |  |  795|  1.75k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  1.75k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 2896|  1.75k|						SCTP_BUF_NEXT(op_err) = SCTP_M_COPYM(m, *offset, chk_length, M_NOWAIT);
  ------------------
  |  |  796|  1.75k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  1.75k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
              						SCTP_BUF_NEXT(op_err) = SCTP_M_COPYM(m, *offset, chk_length, M_NOWAIT);
  ------------------
  |  |  764|  1.75k|#define SCTP_M_COPYM	m_copym
  ------------------
              						SCTP_BUF_NEXT(op_err) = SCTP_M_COPYM(m, *offset, chk_length, M_NOWAIT);
  ------------------
  |  |   60|  1.75k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 2897|  1.75k|						if (SCTP_BUF_NEXT(op_err) != NULL) {
  ------------------
  |  |  796|  1.75k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  1.75k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (2897:11): [True: 1.75k, False: 0]
  ------------------
 2898|  1.75k|							sctp_queue_op_err(stcb, op_err);
 2899|  1.75k|						} else {
 2900|      0|							sctp_m_freem(op_err);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 2901|      0|						}
 2902|  1.75k|					}
 2903|  1.75k|				}
 2904|  1.97k|				if ((ch->chunk_type & 0x80) == 0) {
  ------------------
  |  Branch (2904:9): [True: 12, False: 1.96k]
  ------------------
 2905|       |					/* discard the rest of this packet */
 2906|     12|					stop_proc = 1;
 2907|     12|				}	/* else skip this bad chunk and
 2908|       |					 * continue... */
 2909|  1.97k|				break;
 2910|  2.04k|			}	/* switch of chunk type */
 2911|  2.04k|		}
 2912|  15.3k|		*offset += SCTP_SIZE32(chk_length);
  ------------------
  |  |  383|  15.3k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 2913|  15.3k|		if ((*offset >= length) || stop_proc) {
  ------------------
  |  Branch (2913:7): [True: 4.40k, False: 10.9k]
  |  Branch (2913:30): [True: 9, False: 10.9k]
  ------------------
 2914|       |			/* no more data left in the mbuf chain */
 2915|  4.41k|			stop_proc = 1;
 2916|  4.41k|			continue;
 2917|  4.41k|		}
 2918|  10.9k|		ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, *offset,
 2919|  10.9k|		                                           sizeof(struct sctp_chunkhdr),
 2920|  10.9k|		                                           (uint8_t *)&chunk_buf);
 2921|  10.9k|		if (ch == NULL) {
  ------------------
  |  Branch (2921:7): [True: 45, False: 10.9k]
  ------------------
 2922|     45|			*offset = length;
 2923|     45|			stop_proc = 1;
 2924|     45|			continue;
 2925|     45|		}
 2926|  10.9k|	}
 2927|  4.90k|	if (break_flag) {
  ------------------
  |  Branch (2927:6): [True: 26, False: 4.87k]
  ------------------
 2928|       |		/*
 2929|       |		 * we need to report rwnd overrun drops.
 2930|       |		 */
 2931|     26|		sctp_send_packet_dropped(stcb, net, *mm, length, iphlen, 0);
 2932|     26|	}
 2933|  4.90k|	if (num_chunks) {
  ------------------
  |  Branch (2933:6): [True: 1.86k, False: 3.03k]
  ------------------
 2934|       |		/*
 2935|       |		 * Did we get data, if so update the time for auto-close and
 2936|       |		 * give peer credit for being alive.
 2937|       |		 */
 2938|  1.86k|		SCTP_STAT_INCR(sctps_recvpktwithdata);
  ------------------
  |  | 1112|  1.86k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  1.86k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  1.86k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2939|  1.86k|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  584|  1.86k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  669|  1.86k|#define SCTP_THRESHOLD_LOGGING				0x02000000
  ------------------
  |  Branch (2939:7): [True: 0, False: 1.86k]
  ------------------
 2940|      0|			sctp_misc_ints(SCTP_THRESHOLD_CLEAR,
  ------------------
  |  |  224|      0|#define SCTP_THRESHOLD_CLEAR       120
  ------------------
 2941|      0|				       stcb->asoc.overall_error_count,
 2942|      0|				       0,
 2943|      0|				       SCTP_FROM_SCTP_INDATA,
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
 2944|      0|				       __LINE__);
 2945|      0|		}
 2946|  1.86k|		stcb->asoc.overall_error_count = 0;
 2947|  1.86k|		(void)SCTP_GETTIME_TIMEVAL(&stcb->asoc.time_last_rcvd);
  ------------------
  |  |  991|  1.86k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 2948|  1.86k|	}
 2949|       |	/* now service all of the reassm queue if needed */
 2950|  4.90k|	if (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_SENT) {
  ------------------
  |  |  472|  4.90k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  4.90k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_SENT) {
  ------------------
  |  |  460|  4.90k|#define SCTP_STATE_SHUTDOWN_SENT	0x0010
  ------------------
  |  Branch (2950:6): [True: 0, False: 4.90k]
  ------------------
 2951|       |		/* Assure that we ack right away */
 2952|      0|		stcb->asoc.send_sack = 1;
 2953|      0|	}
 2954|       |	/* Start a sack timer or QUEUE a SACK for sending */
 2955|  4.90k|	sctp_sack_check(stcb, was_a_gap);
 2956|  4.90k|	return (0);
 2957|  5.66k|}
sctp_express_handle_sack:
 3924|  1.34k|{
 3925|  1.34k|	struct sctp_nets *net;
 3926|  1.34k|	struct sctp_association *asoc;
 3927|  1.34k|	struct sctp_tmit_chunk *tp1, *tp2;
 3928|  1.34k|	uint32_t old_rwnd;
 3929|  1.34k|	int win_probe_recovery = 0;
 3930|  1.34k|	int win_probe_recovered = 0;
 3931|  1.34k|	int j, done_once = 0;
 3932|  1.34k|	int rto_ok = 1;
 3933|  1.34k|	uint32_t send_s;
 3934|       |
 3935|  1.34k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_SACK_ARRIVALS_ENABLE) {
  ------------------
  |  |  584|  1.34k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_SACK_ARRIVALS_ENABLE) {
  ------------------
  |  |  665|  1.34k|#define SCTP_LOG_SACK_ARRIVALS_ENABLE			0x00200000
  ------------------
  |  Branch (3935:6): [True: 0, False: 1.34k]
  ------------------
 3936|      0|		sctp_misc_ints(SCTP_SACK_LOG_EXPRESS, cumack,
  ------------------
  |  |  222|      0|#define SCTP_SACK_LOG_EXPRESS	   118
  ------------------
 3937|      0|		               rwnd, stcb->asoc.last_acked_seq, stcb->asoc.peers_rwnd);
 3938|      0|	}
 3939|  1.34k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  1.34k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.34k|	do {                         \
  |  |  |  |  113|  1.34k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.34k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.34k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3940|       |#ifdef SCTP_ASOCLOG_OF_TSNS
 3941|       |	stcb->asoc.cumack_log[stcb->asoc.cumack_log_at] = cumack;
 3942|       |	stcb->asoc.cumack_log_at++;
 3943|       |	if (stcb->asoc.cumack_log_at > SCTP_TSN_LOG_SIZE) {
 3944|       |		stcb->asoc.cumack_log_at = 0;
 3945|       |	}
 3946|       |#endif
 3947|  1.34k|	asoc = &stcb->asoc;
 3948|  1.34k|	old_rwnd = asoc->peers_rwnd;
 3949|  1.34k|	if (SCTP_TSN_GT(asoc->last_acked_seq, cumack)) {
  ------------------
  |  |  889|  1.34k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  1.34k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 448, False: 896]
  |  |  |  |  |  Branch (883:43): [True: 341, False: 107]
  |  |  |  |  ------------------
  |  |  |  |  884|  1.34k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 896, False: 107]
  |  |  |  |  |  Branch (884:43): [True: 856, False: 40]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3950|       |		/* old ack */
 3951|  1.19k|		return;
 3952|  1.19k|	} else if (asoc->last_acked_seq == cumack) {
  ------------------
  |  Branch (3952:13): [True: 0, False: 147]
  ------------------
 3953|       |		/* Window update sack */
 3954|      0|		asoc->peers_rwnd = sctp_sbspace_sub(rwnd,
  ------------------
  |  |   93|      0|#define sctp_sbspace_sub(a,b) (((a) > (b)) ? ((a) - (b)) : 0)
  |  |  ------------------
  |  |  |  Branch (93:32): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3955|      0|						    (uint32_t) (asoc->total_flight + (asoc->total_flight_count * SCTP_BASE_SYSCTL(sctp_peer_chunk_oh))));
 3956|      0|		if (asoc->peers_rwnd < stcb->sctp_ep->sctp_ep.sctp_sws_sender) {
  ------------------
  |  Branch (3956:7): [True: 0, False: 0]
  ------------------
 3957|       |			/* SWS sender side engages */
 3958|      0|			asoc->peers_rwnd = 0;
 3959|      0|		}
 3960|      0|		if (asoc->peers_rwnd > old_rwnd) {
  ------------------
  |  Branch (3960:7): [True: 0, False: 0]
  ------------------
 3961|      0|			goto again;
 3962|      0|		}
 3963|      0|		return;
 3964|      0|	}
 3965|       |
 3966|       |	/* First setup for CC stuff */
 3967|    353|	TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 3968|    353|		if (SCTP_TSN_GT(cumack, net->cwr_window_tsn)) {
  ------------------
  |  |  889|    353|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    353|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 103, False: 250]
  |  |  |  |  |  Branch (883:43): [True: 103, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|    353|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 250, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 250, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3969|       |			/* Drag along the window_tsn for cwr's */
 3970|    353|			net->cwr_window_tsn = cumack;
 3971|    353|		}
 3972|    353|		net->prev_cwnd = net->cwnd;
 3973|    353|		net->net_ack = 0;
 3974|    353|		net->net_ack2 = 0;
 3975|       |
 3976|       |		/*
 3977|       |		 * CMT: Reset CUC and Fast recovery algo variables before
 3978|       |		 * SACK processing
 3979|       |		 */
 3980|    353|		net->new_pseudo_cumack = 0;
 3981|    353|		net->will_exit_fast_recovery = 0;
 3982|    353|		if (stcb->asoc.cc_functions.sctp_cwnd_prepare_net_for_sack) {
  ------------------
  |  Branch (3982:7): [True: 0, False: 353]
  ------------------
 3983|      0|			(*stcb->asoc.cc_functions.sctp_cwnd_prepare_net_for_sack)(stcb, net);
 3984|      0|		}
 3985|    353|	}
 3986|    147|	if (!TAILQ_EMPTY(&asoc->sent_queue)) {
  ------------------
  |  Branch (3986:6): [True: 68, False: 79]
  ------------------
 3987|     68|		tp1 = TAILQ_LAST(&asoc->sent_queue,
 3988|     68|				 sctpchunk_listhead);
 3989|     68|		send_s = tp1->rec.data.tsn + 1;
 3990|     79|	} else {
 3991|     79|		send_s = asoc->sending_seq;
 3992|     79|	}
 3993|    147|	if (SCTP_TSN_GE(cumack, send_s)) {
  ------------------
  |  |  890|    147|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|    147|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|    294|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 40, False: 107]
  |  |  |  |  |  |  |  Branch (883:43): [True: 40, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|    294|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 107, False: 0]
  |  |  |  |  |  |  |  Branch (884:43): [True: 107, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3994|    147|		struct mbuf *op_err;
 3995|    147|		char msg[SCTP_DIAG_INFO_LEN];
 3996|       |
 3997|    147|		*abort_now = 1;
 3998|       |		/* XXX */
 3999|    147|		SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|    147|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 147]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 4000|    147|		              "Cum ack %8.8x greater or equal than TSN %8.8x",
 4001|    147|		              cumack, send_s);
 4002|    147|		op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|    147|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 4003|    147|		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_25;
  ------------------
  |  |  757|    147|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_25;
  ------------------
  |  |  793|    147|#define SCTP_LOC_25 0x00000019
  ------------------
 4004|    147|		sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    147|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 4005|    147|		return;
 4006|    147|	}
 4007|      0|	asoc->this_sack_highest_gap = cumack;
 4008|      0|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  669|      0|#define SCTP_THRESHOLD_LOGGING				0x02000000
  ------------------
  |  Branch (4008:6): [True: 0, False: 0]
  ------------------
 4009|      0|		sctp_misc_ints(SCTP_THRESHOLD_CLEAR,
  ------------------
  |  |  224|      0|#define SCTP_THRESHOLD_CLEAR       120
  ------------------
 4010|      0|			       stcb->asoc.overall_error_count,
 4011|      0|			       0,
 4012|      0|			       SCTP_FROM_SCTP_INDATA,
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
 4013|      0|			       __LINE__);
 4014|      0|	}
 4015|      0|	stcb->asoc.overall_error_count = 0;
 4016|      0|	if (SCTP_TSN_GT(cumack, asoc->last_acked_seq)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4017|       |		/* process the new consecutive TSN first */
 4018|      0|		TAILQ_FOREACH_SAFE(tp1, &asoc->sent_queue, sctp_next, tp2) {
  ------------------
  |  | 1123|      0|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|      0|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 0]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|      0|              (var) = (tvar))
  ------------------
 4019|      0|			if (SCTP_TSN_GE(cumack, tp1->rec.data.tsn)) {
  ------------------
  |  |  890|      0|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|      0|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4020|      0|				if (tp1->sent == SCTP_DATAGRAM_UNSENT) {
  ------------------
  |  |  348|      0|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
  |  Branch (4020:9): [True: 0, False: 0]
  ------------------
 4021|      0|					SCTP_PRINTF("Warning, an unsent is now acked?\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 4022|      0|				}
 4023|      0|				if (tp1->sent < SCTP_DATAGRAM_ACKED) {
  ------------------
  |  |  355|      0|#define SCTP_DATAGRAM_ACKED		10010
  ------------------
  |  Branch (4023:9): [True: 0, False: 0]
  ------------------
 4024|       |					/*
 4025|       |					 * If it is less than ACKED, it is
 4026|       |					 * now no-longer in flight. Higher
 4027|       |					 * values may occur during marking
 4028|       |					 */
 4029|      0|					if (tp1->sent < SCTP_DATAGRAM_RESEND) {
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (4029:10): [True: 0, False: 0]
  ------------------
 4030|      0|						if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FLIGHT_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              						if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FLIGHT_LOGGING_ENABLE) {
  ------------------
  |  |  649|      0|#define SCTP_FLIGHT_LOGGING_ENABLE			0x00000020
  ------------------
  |  Branch (4030:11): [True: 0, False: 0]
  ------------------
 4031|      0|							sctp_misc_ints(SCTP_FLIGHT_LOG_DOWN_CA,
  ------------------
  |  |  211|      0|#define SCTP_FLIGHT_LOG_DOWN_CA    107
  ------------------
 4032|      0|								       tp1->whoTo->flight_size,
 4033|      0|								       tp1->book_size,
 4034|      0|								       (uint32_t)(uintptr_t)tp1->whoTo,
 4035|      0|								       tp1->rec.data.tsn);
 4036|      0|						}
 4037|      0|						sctp_flight_size_decrease(tp1);
  ------------------
  |  |  289|      0|#define sctp_flight_size_decrease(tp1) do { \
  |  |  290|      0|	if (tp1->whoTo->flight_size >= tp1->book_size) \
  |  |  ------------------
  |  |  |  Branch (290:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  291|      0|		tp1->whoTo->flight_size -= tp1->book_size; \
  |  |  292|      0|	else \
  |  |  293|      0|		tp1->whoTo->flight_size = 0; \
  |  |  294|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (294:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4038|      0|						if (stcb->asoc.cc_functions.sctp_cwnd_update_tsn_acknowledged) {
  ------------------
  |  Branch (4038:11): [True: 0, False: 0]
  ------------------
 4039|      0|							(*stcb->asoc.cc_functions.sctp_cwnd_update_tsn_acknowledged)(tp1->whoTo,
 4040|      0|														     tp1);
 4041|      0|						}
 4042|       |						/* sa_ignore NO_NULL_CHK */
 4043|      0|						sctp_total_flight_decrease(stcb, tp1);
  ------------------
  |  |  338|      0|#define sctp_total_flight_decrease(stcb, tp1) do { \
  |  |  339|      0|	tp1->window_probe = 0; \
  |  |  340|      0|	if (stcb->asoc.total_flight >= tp1->book_size) { \
  |  |  ------------------
  |  |  |  Branch (340:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  341|      0|		stcb->asoc.total_flight -= tp1->book_size; \
  |  |  342|      0|		if (stcb->asoc.total_flight_count > 0) \
  |  |  ------------------
  |  |  |  Branch (342:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  343|      0|			stcb->asoc.total_flight_count--; \
  |  |  344|      0|	} else { \
  |  |  345|      0|		stcb->asoc.total_flight = 0; \
  |  |  346|      0|		stcb->asoc.total_flight_count = 0; \
  |  |  347|      0|	} \
  |  |  348|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (348:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4044|      0|					}
 4045|      0|					tp1->whoTo->net_ack += tp1->send_size;
 4046|      0|					if (tp1->snd_count < 2) {
  ------------------
  |  Branch (4046:10): [True: 0, False: 0]
  ------------------
 4047|       |						/*
 4048|       |						 * True non-retransmitted
 4049|       |						 * chunk
 4050|       |						 */
 4051|      0|						tp1->whoTo->net_ack2 +=
 4052|      0|							tp1->send_size;
 4053|       |
 4054|       |						/* update RTO too? */
 4055|      0|						if (tp1->do_rtt) {
  ------------------
  |  Branch (4055:11): [True: 0, False: 0]
  ------------------
 4056|      0|							if (rto_ok &&
  ------------------
  |  Branch (4056:12): [True: 0, False: 0]
  ------------------
 4057|      0|							    sctp_calculate_rto(stcb,
  ------------------
  |  Branch (4057:12): [True: 0, False: 0]
  ------------------
 4058|      0|									       &stcb->asoc,
 4059|      0|									       tp1->whoTo,
 4060|      0|									       &tp1->sent_rcv_time,
 4061|      0|									       SCTP_RTT_FROM_DATA)) {
  ------------------
  |  |  341|      0|#define SCTP_RTT_FROM_DATA     1
  ------------------
 4062|      0|								rto_ok = 0;
 4063|      0|							}
 4064|      0|							if (tp1->whoTo->rto_needed == 0) {
  ------------------
  |  Branch (4064:12): [True: 0, False: 0]
  ------------------
 4065|      0|								tp1->whoTo->rto_needed = 1;
 4066|      0|							}
 4067|      0|							tp1->do_rtt = 0;
 4068|      0|						}
 4069|      0|					}
 4070|       |					/*
 4071|       |					 * CMT: CUCv2 algorithm. From the
 4072|       |					 * cumack'd TSNs, for each TSN being
 4073|       |					 * acked for the first time, set the
 4074|       |					 * following variables for the
 4075|       |					 * corresp destination.
 4076|       |					 * new_pseudo_cumack will trigger a
 4077|       |					 * cwnd update.
 4078|       |					 * find_(rtx_)pseudo_cumack will
 4079|       |					 * trigger search for the next
 4080|       |					 * expected (rtx-)pseudo-cumack.
 4081|       |					 */
 4082|      0|					tp1->whoTo->new_pseudo_cumack = 1;
 4083|      0|					tp1->whoTo->find_pseudo_cumack = 1;
 4084|      0|					tp1->whoTo->find_rtx_pseudo_cumack = 1;
 4085|      0|					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  648|      0|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  |  Branch (4085:10): [True: 0, False: 0]
  ------------------
 4086|       |						/* sa_ignore NO_NULL_CHK */
 4087|      0|						sctp_log_cwnd(stcb, tp1->whoTo, tp1->rec.data.tsn, SCTP_CWND_LOG_FROM_SACK);
  ------------------
  |  |  168|      0|#define SCTP_CWND_LOG_FROM_SACK     64
  ------------------
 4088|      0|					}
 4089|      0|				}
 4090|      0|				if (tp1->sent == SCTP_DATAGRAM_RESEND) {
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (4090:9): [True: 0, False: 0]
  ------------------
 4091|      0|					sctp_ucount_decr(asoc->sent_queue_retran_cnt);
  ------------------
  |  |  270|      0|#define sctp_ucount_decr(val) { \
  |  |  271|      0|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|		val--; \
  |  |  273|      0|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|      0|}
  ------------------
 4092|      0|				}
 4093|      0|				if (tp1->rec.data.chunk_was_revoked) {
  ------------------
  |  Branch (4093:9): [True: 0, False: 0]
  ------------------
 4094|       |					/* deflate the cwnd */
 4095|      0|					tp1->whoTo->cwnd -= tp1->book_size;
 4096|      0|					tp1->rec.data.chunk_was_revoked = 0;
 4097|      0|				}
 4098|      0|				if (tp1->sent != SCTP_DATAGRAM_NR_ACKED) {
  ------------------
  |  |  358|      0|#define SCTP_DATAGRAM_NR_ACKED		40010
  ------------------
  |  Branch (4098:9): [True: 0, False: 0]
  ------------------
 4099|      0|					if (asoc->strmout[tp1->rec.data.sid].chunks_on_queues > 0) {
  ------------------
  |  Branch (4099:10): [True: 0, False: 0]
  ------------------
 4100|      0|						asoc->strmout[tp1->rec.data.sid].chunks_on_queues--;
 4101|      0|#ifdef INVARIANTS
 4102|      0|					} else {
 4103|      0|						panic("No chunks on the queues for sid %u.", tp1->rec.data.sid);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4104|      0|#endif
 4105|      0|					}
 4106|      0|				}
 4107|      0|				if ((asoc->strmout[tp1->rec.data.sid].chunks_on_queues == 0) &&
  ------------------
  |  Branch (4107:9): [True: 0, False: 0]
  ------------------
 4108|      0|				    (asoc->strmout[tp1->rec.data.sid].state == SCTP_STREAM_RESET_PENDING) &&
  ------------------
  |  |  671|      0|#define SCTP_STREAM_RESET_PENDING    0x03
  ------------------
  |  Branch (4108:9): [True: 0, False: 0]
  ------------------
 4109|      0|				    TAILQ_EMPTY(&asoc->strmout[tp1->rec.data.sid].outqueue)) {
 4110|      0|					asoc->trigger_reset = 1;
 4111|      0|				}
 4112|      0|				TAILQ_REMOVE(&asoc->sent_queue, tp1, sctp_next);
 4113|      0|				if (tp1->data) {
  ------------------
  |  Branch (4113:9): [True: 0, False: 0]
  ------------------
 4114|       |					/* sa_ignore NO_NULL_CHK */
 4115|      0|					sctp_free_bufspace(stcb, asoc, tp1, 1);
 4116|      0|					sctp_m_freem(tp1->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4117|      0|					tp1->data = NULL;
 4118|      0|				}
 4119|      0|				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_LOGGING_ENABLE) {
  ------------------
  |  |  658|      0|#define SCTP_SACK_LOGGING_ENABLE			0x00004000
  ------------------
  |  Branch (4119:9): [True: 0, False: 0]
  ------------------
 4120|      0|					sctp_log_sack(asoc->last_acked_seq,
 4121|      0|						      cumack,
 4122|      0|						      tp1->rec.data.tsn,
 4123|      0|						      0,
 4124|      0|						      0,
 4125|      0|						      SCTP_LOG_FREE_SENT);
  ------------------
  |  |  175|      0|#define SCTP_LOG_FREE_SENT             71
  ------------------
 4126|      0|				}
 4127|      0|				asoc->sent_queue_cnt--;
 4128|      0|				sctp_free_a_chunk(stcb, tp1, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
 4129|      0|			} else {
 4130|      0|				break;
 4131|      0|			}
 4132|      0|		}
 4133|      0|	}
 4134|      0|#if defined(__Userspace__)
 4135|      0|	if (stcb->sctp_ep->recv_callback) {
  ------------------
  |  Branch (4135:6): [True: 0, False: 0]
  ------------------
 4136|      0|		if (stcb->sctp_socket) {
  ------------------
  |  Branch (4136:7): [True: 0, False: 0]
  ------------------
 4137|      0|			uint32_t inqueue_bytes, sb_free_now;
 4138|      0|			struct sctp_inpcb *inp;
 4139|       |
 4140|      0|			inp = stcb->sctp_ep;
 4141|      0|			inqueue_bytes = stcb->asoc.total_output_queue_size - (stcb->asoc.chunks_on_out_queue * sizeof(struct sctp_data_chunk));
 4142|      0|			sb_free_now = SCTP_SB_LIMIT_SND(stcb->sctp_socket) - (inqueue_bytes + stcb->asoc.sb_send_resv);
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
 4143|       |
 4144|       |			/* check if the amount free in the send socket buffer crossed the threshold */
 4145|      0|			if (inp->send_callback &&
  ------------------
  |  Branch (4145:8): [True: 0, False: 0]
  ------------------
 4146|      0|			    (((inp->send_sb_threshold > 0) &&
  ------------------
  |  Branch (4146:10): [True: 0, False: 0]
  ------------------
 4147|      0|			      (sb_free_now >= inp->send_sb_threshold) &&
  ------------------
  |  Branch (4147:10): [True: 0, False: 0]
  ------------------
 4148|      0|			      (stcb->asoc.chunks_on_out_queue <= SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue))) ||
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (4148:10): [True: 0, False: 0]
  ------------------
 4149|      0|			     (inp->send_sb_threshold == 0))) {
  ------------------
  |  Branch (4149:9): [True: 0, False: 0]
  ------------------
 4150|      0|				atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 4151|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4152|      0|				inp->send_callback(stcb->sctp_socket, sb_free_now, inp->ulp_info);
 4153|      0|				SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4154|      0|				atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 4155|      0|			}
 4156|      0|		}
 4157|      0|	} else if (stcb->sctp_socket) {
  ------------------
  |  Branch (4157:13): [True: 0, False: 0]
  ------------------
 4158|       |#else
 4159|       |	/* sa_ignore NO_NULL_CHK */
 4160|       |	if (stcb->sctp_socket) {
 4161|       |#endif
 4162|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4163|       |		struct socket *so;
 4164|       |
 4165|       |#endif
 4166|      0|		SOCKBUF_LOCK(&stcb->sctp_socket->so_snd);
  ------------------
  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4167|      0|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_WAKE_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_WAKE_LOGGING_ENABLE) {
  ------------------
  |  |  662|      0|#define SCTP_WAKE_LOGGING_ENABLE			0x00040000
  ------------------
  |  Branch (4167:7): [True: 0, False: 0]
  ------------------
 4168|       |			/* sa_ignore NO_NULL_CHK */
 4169|      0|			sctp_wakeup_log(stcb, 1, SCTP_WAKESND_FROM_SACK);
  ------------------
  |  |  178|      0|#define SCTP_WAKESND_FROM_SACK      74
  ------------------
 4170|      0|		}
 4171|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4172|       |		so = SCTP_INP_SO(stcb->sctp_ep);
 4173|       |		atomic_add_int(&stcb->asoc.refcnt, 1);
 4174|       |		SCTP_TCB_UNLOCK(stcb);
 4175|       |		SCTP_SOCKET_LOCK(so, 1);
 4176|       |		SCTP_TCB_LOCK(stcb);
 4177|       |		atomic_subtract_int(&stcb->asoc.refcnt, 1);
 4178|       |		if (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET) {
 4179|       |			/* assoc was freed while we were unlocked */
 4180|       |			SCTP_SOCKET_UNLOCK(so, 1);
 4181|       |			return;
 4182|       |		}
 4183|       |#endif
 4184|      0|		sctp_sowwakeup_locked(stcb->sctp_ep, stcb->sctp_socket);
  ------------------
  |  | 1011|      0|#define sctp_sowwakeup_locked(inp, so) \
  |  | 1012|      0|do { \
  |  | 1013|      0|	if (inp->sctp_flags & SCTP_PCB_FLAGS_DONT_WAKE) { \
  |  |  ------------------
  |  |  |  |  544|      0|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  |  |  ------------------
  |  |  |  Branch (1013:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 1014|      0|		sctp_pcb_add_flags(inp, SCTP_PCB_FLAGS_WAKEOUTPUT); \
  |  |  ------------------
  |  |  |  |  545|      0|#define SCTP_PCB_FLAGS_WAKEOUTPUT	0x01000000
  |  |  ------------------
  |  | 1015|      0|		SOCKBUF_UNLOCK(&((so)->so_snd)); \
  |  |  ------------------
  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1016|      0|	} else { \
  |  | 1017|      0|		sowwakeup_locked(so); \
  |  |  ------------------
  |  |  |  |  524|      0|#define	sowwakeup_locked(so) do {					\
  |  |  |  |  525|      0|	SOCKBUF_LOCK_ASSERT(&(so)->so_snd);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|      0|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  526|      0|	if (sb_notify(&(so)->so_snd))					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  499|      0|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  203|      0|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  204|      0|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  205|      0|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (499:23): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  500|      0|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  206|      0|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  208|      0|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  209|      0|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  527|      0|		sowakeup((so), &(so)->so_snd); 				\
  |  |  |  |  528|      0|	else								\
  |  |  |  |  529|      0|		SOCKBUF_UNLOCK(&(so)->so_snd);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  530|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (530:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1018|      0|	} \
  |  | 1019|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (1019:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4185|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4186|       |		SCTP_SOCKET_UNLOCK(so, 1);
 4187|       |#endif
 4188|      0|	} else {
 4189|      0|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_WAKE_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_WAKE_LOGGING_ENABLE) {
  ------------------
  |  |  662|      0|#define SCTP_WAKE_LOGGING_ENABLE			0x00040000
  ------------------
  |  Branch (4189:7): [True: 0, False: 0]
  ------------------
 4190|      0|			sctp_wakeup_log(stcb, 1, SCTP_NOWAKE_FROM_SACK);
  ------------------
  |  |  180|      0|#define SCTP_NOWAKE_FROM_SACK       76
  ------------------
 4191|      0|		}
 4192|      0|	}
 4193|       |
 4194|       |	/* JRS - Use the congestion control given in the CC module */
 4195|      0|	if ((asoc->last_acked_seq != cumack) && (ecne_seen == 0)) {
  ------------------
  |  Branch (4195:6): [True: 0, False: 0]
  |  Branch (4195:42): [True: 0, False: 0]
  ------------------
 4196|      0|		TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 4197|      0|			if (net->net_ack2 > 0) {
  ------------------
  |  Branch (4197:8): [True: 0, False: 0]
  ------------------
 4198|       |				/*
 4199|       |				 * Karn's rule applies to clearing error count, this
 4200|       |				 * is optional.
 4201|       |				 */
 4202|      0|				net->error_count = 0;
 4203|      0|				if ((net->dest_state & SCTP_ADDR_REACHABLE) == 0) {
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (4203:9): [True: 0, False: 0]
  ------------------
 4204|       |					/* addr came good */
 4205|      0|					net->dest_state |= SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 4206|      0|					sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_UP, stcb,
  ------------------
  |  |  706|      0|#define SCTP_NOTIFY_INTERFACE_UP                 4
  ------------------
 4207|      0|					                0, (void *)net, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 4208|      0|				}
 4209|      0|				if (net == stcb->asoc.primary_destination) {
  ------------------
  |  Branch (4209:9): [True: 0, False: 0]
  ------------------
 4210|      0|					if (stcb->asoc.alternate) {
  ------------------
  |  Branch (4210:10): [True: 0, False: 0]
  ------------------
 4211|       |						/* release the alternate, primary is good */
 4212|      0|						sctp_free_remote_addr(stcb->asoc.alternate);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 4213|      0|						stcb->asoc.alternate = NULL;
 4214|      0|					}
 4215|      0|				}
 4216|      0|				if (net->dest_state & SCTP_ADDR_PF) {
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (4216:9): [True: 0, False: 0]
  ------------------
 4217|      0|					net->dest_state &= ~SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
 4218|      0|					sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT,
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 4219|      0|					                stcb->sctp_ep, stcb, net,
 4220|      0|					                SCTP_FROM_SCTP_INDATA + SCTP_LOC_26);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              					                SCTP_FROM_SCTP_INDATA + SCTP_LOC_26);
  ------------------
  |  |  794|      0|#define SCTP_LOC_26 0x0000001a
  ------------------
 4221|      0|					sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep, stcb, net);
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 4222|      0|					asoc->cc_functions.sctp_cwnd_update_exit_pf(stcb, net);
 4223|       |					/* Done with this net */
 4224|      0|					net->net_ack = 0;
 4225|      0|				}
 4226|       |				/* restore any doubled timers */
 4227|      0|				net->RTO = (net->lastsa >> SCTP_RTT_SHIFT) + net->lastsv;
  ------------------
  |  |   40|      0|#define SCTP_RTT_SHIFT 3
  ------------------
 4228|      0|				if (net->RTO < stcb->asoc.minrto) {
  ------------------
  |  Branch (4228:9): [True: 0, False: 0]
  ------------------
 4229|      0|					net->RTO = stcb->asoc.minrto;
 4230|      0|				}
 4231|      0|				if (net->RTO > stcb->asoc.maxrto) {
  ------------------
  |  Branch (4231:9): [True: 0, False: 0]
  ------------------
 4232|      0|					net->RTO = stcb->asoc.maxrto;
 4233|      0|				}
 4234|      0|			}
 4235|      0|		}
 4236|      0|		asoc->cc_functions.sctp_cwnd_update_after_sack(stcb, asoc, 1, 0, 0);
 4237|      0|	}
 4238|      0|	asoc->last_acked_seq = cumack;
 4239|       |
 4240|      0|	if (TAILQ_EMPTY(&asoc->sent_queue)) {
 4241|       |		/* nothing left in-flight */
 4242|      0|		TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 4243|      0|			net->flight_size = 0;
 4244|      0|			net->partial_bytes_acked = 0;
 4245|      0|		}
 4246|      0|		asoc->total_flight = 0;
 4247|      0|		asoc->total_flight_count = 0;
 4248|      0|	}
 4249|       |
 4250|       |	/* RWND update */
 4251|      0|	asoc->peers_rwnd = sctp_sbspace_sub(rwnd,
  ------------------
  |  |   93|      0|#define sctp_sbspace_sub(a,b) (((a) > (b)) ? ((a) - (b)) : 0)
  |  |  ------------------
  |  |  |  Branch (93:32): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4252|      0|					    (uint32_t) (asoc->total_flight + (asoc->total_flight_count * SCTP_BASE_SYSCTL(sctp_peer_chunk_oh))));
 4253|      0|	if (asoc->peers_rwnd < stcb->sctp_ep->sctp_ep.sctp_sws_sender) {
  ------------------
  |  Branch (4253:6): [True: 0, False: 0]
  ------------------
 4254|       |		/* SWS sender side engages */
 4255|      0|		asoc->peers_rwnd = 0;
 4256|      0|	}
 4257|      0|	if (asoc->peers_rwnd > old_rwnd) {
  ------------------
  |  Branch (4257:6): [True: 0, False: 0]
  ------------------
 4258|      0|		win_probe_recovery = 1;
 4259|      0|	}
 4260|       |	/* Now assure a timer where data is queued at */
 4261|      0|again:
 4262|      0|	j = 0;
 4263|      0|	TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 4264|      0|		if (win_probe_recovery && (net->window_probe)) {
  ------------------
  |  Branch (4264:7): [True: 0, False: 0]
  |  Branch (4264:29): [True: 0, False: 0]
  ------------------
 4265|      0|			win_probe_recovered = 1;
 4266|       |			/*
 4267|       |			 * Find first chunk that was used with window probe
 4268|       |			 * and clear the sent
 4269|       |			 */
 4270|       |			/* sa_ignore FREED_MEMORY */
 4271|      0|			TAILQ_FOREACH(tp1, &asoc->sent_queue, sctp_next) {
 4272|      0|				if (tp1->window_probe) {
  ------------------
  |  Branch (4272:9): [True: 0, False: 0]
  ------------------
 4273|       |					/* move back to data send queue */
 4274|      0|					sctp_window_probe_recovery(stcb, asoc, tp1);
 4275|      0|					break;
 4276|      0|				}
 4277|      0|			}
 4278|      0|		}
 4279|      0|		if (net->flight_size) {
  ------------------
  |  Branch (4279:7): [True: 0, False: 0]
  ------------------
 4280|      0|			j++;
 4281|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep, stcb, net);
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 4282|      0|			if (net->window_probe) {
  ------------------
  |  Branch (4282:8): [True: 0, False: 0]
  ------------------
 4283|      0|				net->window_probe = 0;
 4284|      0|			}
 4285|      0|		} else {
 4286|      0|			if (net->window_probe) {
  ------------------
  |  Branch (4286:8): [True: 0, False: 0]
  ------------------
 4287|       |				/* In window probes we must assure a timer is still running there */
 4288|      0|				net->window_probe = 0;
 4289|      0|				if (!SCTP_OS_TIMER_PENDING(&net->rxt_timer.timer)) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  ------------------
  |  Branch (4289:9): [True: 0, False: 0]
  ------------------
 4290|      0|					sctp_timer_start(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep, stcb, net);
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 4291|      0|				}
 4292|      0|			} else if (SCTP_OS_TIMER_PENDING(&net->rxt_timer.timer)) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  |  |  |  Branch (102:36): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4293|      0|				sctp_timer_stop(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 4294|      0|				                stcb, net,
 4295|      0|				                SCTP_FROM_SCTP_INDATA + SCTP_LOC_27);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              				                SCTP_FROM_SCTP_INDATA + SCTP_LOC_27);
  ------------------
  |  |  795|      0|#define SCTP_LOC_27 0x0000001b
  ------------------
 4296|      0|			}
 4297|      0|		}
 4298|      0|	}
 4299|      0|	if ((j == 0) &&
  ------------------
  |  Branch (4299:6): [True: 0, False: 0]
  ------------------
 4300|      0|	    (!TAILQ_EMPTY(&asoc->sent_queue)) &&
  ------------------
  |  Branch (4300:6): [True: 0, False: 0]
  ------------------
 4301|      0|	    (asoc->sent_queue_retran_cnt == 0) &&
  ------------------
  |  Branch (4301:6): [True: 0, False: 0]
  ------------------
 4302|      0|	    (win_probe_recovered == 0) &&
  ------------------
  |  Branch (4302:6): [True: 0, False: 0]
  ------------------
 4303|      0|	    (done_once == 0)) {
  ------------------
  |  Branch (4303:6): [True: 0, False: 0]
  ------------------
 4304|       |		/* huh, this should not happen unless all packets
 4305|       |		 * are PR-SCTP and marked to skip of course.
 4306|       |		 */
 4307|      0|		if (sctp_fs_audit(asoc)) {
  ------------------
  |  Branch (4307:7): [True: 0, False: 0]
  ------------------
 4308|      0|			TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 4309|      0|				net->flight_size = 0;
 4310|      0|			}
 4311|      0|			asoc->total_flight = 0;
 4312|      0|			asoc->total_flight_count = 0;
 4313|      0|			asoc->sent_queue_retran_cnt = 0;
 4314|      0|			TAILQ_FOREACH(tp1, &asoc->sent_queue, sctp_next) {
 4315|      0|				if (tp1->sent < SCTP_DATAGRAM_RESEND) {
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (4315:9): [True: 0, False: 0]
  ------------------
 4316|      0|					sctp_flight_size_increase(tp1);
  ------------------
  |  |  296|      0|#define sctp_flight_size_increase(tp1) do { \
  |  |  297|      0|	(tp1)->whoTo->flight_size += (tp1)->book_size; \
  |  |  298|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (298:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4317|      0|					sctp_total_flight_increase(stcb, tp1);
  ------------------
  |  |  350|      0|#define sctp_total_flight_increase(stcb, tp1) do { \
  |  |  351|      0|	(stcb)->asoc.total_flight_count++; \
  |  |  352|      0|	(stcb)->asoc.total_flight += (tp1)->book_size; \
  |  |  353|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (353:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4318|      0|				} else if (tp1->sent == SCTP_DATAGRAM_RESEND) {
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (4318:16): [True: 0, False: 0]
  ------------------
 4319|      0|					sctp_ucount_incr(asoc->sent_queue_retran_cnt);
  ------------------
  |  |  266|      0|#define sctp_ucount_incr(val) { \
  |  |  267|      0|	val++; \
  |  |  268|      0|}
  ------------------
 4320|      0|				}
 4321|      0|			}
 4322|      0|		}
 4323|      0|		done_once = 1;
 4324|      0|		goto again;
 4325|      0|	}
 4326|       |	/**********************************/
 4327|       |	/* Now what about shutdown issues */
 4328|       |	/**********************************/
 4329|      0|	if (TAILQ_EMPTY(&asoc->send_queue) && TAILQ_EMPTY(&asoc->sent_queue)) {
 4330|       |		/* nothing left on sendqueue.. consider done */
 4331|       |		/* clean up */
 4332|      0|		if ((asoc->stream_queue_cnt == 1) &&
  ------------------
  |  Branch (4332:7): [True: 0, False: 0]
  ------------------
 4333|      0|		    ((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) ||
  ------------------
  |  |  463|      0|#define SCTP_STATE_SHUTDOWN_PENDING	0x0080
  ------------------
  |  Branch (4333:8): [True: 0, False: 0]
  ------------------
 4334|      0|		     (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		     (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) &&
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (4334:8): [True: 0, False: 0]
  ------------------
 4335|      0|		    ((*asoc->ss_functions.sctp_ss_is_user_msgs_incomplete)(stcb, asoc))) {
  ------------------
  |  Branch (4335:7): [True: 0, False: 0]
  ------------------
 4336|      0|			SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_PARTIAL_MSG_LEFT);
  ------------------
  |  |  478|      0|	sctp_add_substate(_stcb, _substate)
  ------------------
 4337|      0|		}
 4338|      0|		if (((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) ||
  ------------------
  |  |  463|      0|#define SCTP_STATE_SHUTDOWN_PENDING	0x0080
  ------------------
  |  Branch (4338:8): [True: 0, False: 0]
  ------------------
 4339|      0|		     (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		     (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) &&
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (4339:8): [True: 0, False: 0]
  ------------------
 4340|      0|		    (asoc->stream_queue_cnt == 1) &&
  ------------------
  |  Branch (4340:7): [True: 0, False: 0]
  ------------------
 4341|      0|		    (asoc->state & SCTP_STATE_PARTIAL_MSG_LEFT)) {
  ------------------
  |  |  466|      0|#define SCTP_STATE_PARTIAL_MSG_LEFT     0x0400
  ------------------
  |  Branch (4341:7): [True: 0, False: 0]
  ------------------
 4342|      0|			struct mbuf *op_err;
 4343|       |
 4344|      0|			*abort_now = 1;
 4345|       |			/* XXX */
 4346|      0|			op_err = sctp_generate_cause(SCTP_CAUSE_USER_INITIATED_ABT, "");
  ------------------
  |  |  380|      0|#define SCTP_CAUSE_USER_INITIATED_ABT	0x000c
  ------------------
 4347|      0|			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_28;
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_28;
  ------------------
  |  |  796|      0|#define SCTP_LOC_28 0x0000001c
  ------------------
 4348|      0|			sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 4349|      0|			return;
 4350|      0|		}
 4351|      0|		if ((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) &&
  ------------------
  |  |  463|      0|#define SCTP_STATE_SHUTDOWN_PENDING	0x0080
  ------------------
  |  Branch (4351:7): [True: 0, False: 0]
  ------------------
 4352|      0|		    (asoc->stream_queue_cnt == 0)) {
  ------------------
  |  Branch (4352:7): [True: 0, False: 0]
  ------------------
 4353|      0|			struct sctp_nets *netp;
 4354|       |
 4355|      0|			if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  459|      0|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (4355:8): [True: 0, False: 0]
  ------------------
 4356|      0|			    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (4356:8): [True: 0, False: 0]
  ------------------
 4357|      0|				SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|      0|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|      0|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|      0|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4358|      0|			}
 4359|      0|			SCTP_SET_STATE(stcb, SCTP_STATE_SHUTDOWN_SENT);
  ------------------
  |  |  474|      0|	sctp_set_state(_stcb, _state)
  ------------------
 4360|      0|			sctp_stop_timers_for_shutdown(stcb);
 4361|      0|			if (asoc->alternate) {
  ------------------
  |  Branch (4361:8): [True: 0, False: 0]
  ------------------
 4362|      0|				netp = asoc->alternate;
 4363|      0|			} else {
 4364|      0|				netp = asoc->primary_destination;
 4365|      0|			}
 4366|      0|			sctp_send_shutdown(stcb, netp);
 4367|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN,
  ------------------
  |  |  535|      0|#define SCTP_TIMER_TYPE_SHUTDOWN	4
  ------------------
 4368|      0|					 stcb->sctp_ep, stcb, netp);
 4369|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
  ------------------
  |  |  542|      0|#define SCTP_TIMER_TYPE_SHUTDOWNGUARD	11
  ------------------
 4370|      0|					 stcb->sctp_ep, stcb, NULL);
 4371|      0|		} else if ((SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		} else if ((SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED) &&
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (4371:14): [True: 0, False: 0]
  ------------------
 4372|      0|			   (asoc->stream_queue_cnt == 0)) {
  ------------------
  |  Branch (4372:7): [True: 0, False: 0]
  ------------------
 4373|      0|			struct sctp_nets *netp;
 4374|       |
 4375|      0|			SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|      0|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|      0|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|      0|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4376|      0|			SCTP_SET_STATE(stcb, SCTP_STATE_SHUTDOWN_ACK_SENT);
  ------------------
  |  |  474|      0|	sctp_set_state(_stcb, _state)
  ------------------
 4377|      0|			sctp_stop_timers_for_shutdown(stcb);
 4378|      0|			if (asoc->alternate) {
  ------------------
  |  Branch (4378:8): [True: 0, False: 0]
  ------------------
 4379|      0|				netp = asoc->alternate;
 4380|      0|			} else {
 4381|      0|				netp = asoc->primary_destination;
 4382|      0|			}
 4383|      0|			sctp_send_shutdown_ack(stcb, netp);
 4384|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNACK,
  ------------------
  |  |  540|      0|#define SCTP_TIMER_TYPE_SHUTDOWNACK	9
  ------------------
 4385|      0|					 stcb->sctp_ep, stcb, netp);
 4386|      0|		}
 4387|      0|	}
 4388|       |	/*********************************************/
 4389|       |	/* Here we perform PR-SCTP procedures        */
 4390|       |	/* (section 4.2)                             */
 4391|       |	/*********************************************/
 4392|       |	/* C1. update advancedPeerAckPoint */
 4393|      0|	if (SCTP_TSN_GT(cumack, asoc->advanced_peer_ack_point)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4394|      0|		asoc->advanced_peer_ack_point = cumack;
 4395|      0|	}
 4396|       |	/* PR-Sctp issues need to be addressed too */
 4397|      0|	if ((asoc->prsctp_supported) && (asoc->pr_sctp_cnt > 0)) {
  ------------------
  |  Branch (4397:6): [True: 0, False: 0]
  |  Branch (4397:34): [True: 0, False: 0]
  ------------------
 4398|      0|		struct sctp_tmit_chunk *lchk;
 4399|      0|		uint32_t old_adv_peer_ack_point;
 4400|       |
 4401|      0|		old_adv_peer_ack_point = asoc->advanced_peer_ack_point;
 4402|      0|		lchk = sctp_try_advance_peer_ack_point(stcb, asoc);
 4403|       |		/* C3. See if we need to send a Fwd-TSN */
 4404|      0|		if (SCTP_TSN_GT(asoc->advanced_peer_ack_point, cumack)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4405|       |			/*
 4406|       |			 * ISSUE with ECN, see FWD-TSN processing.
 4407|       |			 */
 4408|      0|			if (SCTP_TSN_GT(asoc->advanced_peer_ack_point, old_adv_peer_ack_point)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4409|      0|				send_forward_tsn(stcb, asoc);
 4410|      0|			} else if (lchk) {
  ------------------
  |  Branch (4410:15): [True: 0, False: 0]
  ------------------
 4411|       |				/* try to FR fwd-tsn's that get lost too */
 4412|      0|				if (lchk->rec.data.fwd_tsn_cnt >= 3) {
  ------------------
  |  Branch (4412:9): [True: 0, False: 0]
  ------------------
 4413|      0|					send_forward_tsn(stcb, asoc);
 4414|      0|				}
 4415|      0|			}
 4416|      0|		}
 4417|      0|		for (; lchk != NULL; lchk = TAILQ_NEXT(lchk, sctp_next)) {
  ------------------
  |  Branch (4417:10): [True: 0, False: 0]
  ------------------
 4418|      0|			if (lchk->whoTo != NULL) {
  ------------------
  |  Branch (4418:8): [True: 0, False: 0]
  ------------------
 4419|      0|				break;
 4420|      0|			}
 4421|      0|		}
 4422|      0|		if (lchk != NULL) {
  ------------------
  |  Branch (4422:7): [True: 0, False: 0]
  ------------------
 4423|       |			/* Assure a timer is up */
 4424|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SEND,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 4425|      0|			                 stcb->sctp_ep, stcb, lchk->whoTo);
 4426|      0|		}
 4427|      0|	}
 4428|      0|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_RWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_RWND_LOGGING_ENABLE) {
  ------------------
  |  |  659|      0|#define SCTP_SACK_RWND_LOGGING_ENABLE			0x00008000
  ------------------
  |  Branch (4428:6): [True: 0, False: 0]
  ------------------
 4429|      0|		sctp_misc_ints(SCTP_SACK_RWND_UPDATE,
  ------------------
  |  |  191|      0|#define SCTP_SACK_RWND_UPDATE       87
  ------------------
 4430|      0|			       rwnd,
 4431|      0|			       stcb->asoc.peers_rwnd,
 4432|      0|			       stcb->asoc.total_flight,
 4433|      0|			       stcb->asoc.total_output_queue_size);
 4434|      0|	}
 4435|      0|}
sctp_handle_sack:
 4443|  1.15k|{
 4444|  1.15k|	struct sctp_association *asoc;
 4445|  1.15k|	struct sctp_tmit_chunk *tp1, *tp2;
 4446|  1.15k|	uint32_t last_tsn, biggest_tsn_acked, biggest_tsn_newly_acked, this_sack_lowest_newack;
 4447|  1.15k|	uint16_t wake_him = 0;
 4448|  1.15k|	uint32_t send_s = 0;
 4449|  1.15k|	long j;
 4450|  1.15k|	int accum_moved = 0;
 4451|  1.15k|	int will_exit_fast_recovery = 0;
 4452|  1.15k|	uint32_t a_rwnd, old_rwnd;
 4453|  1.15k|	int win_probe_recovery = 0;
 4454|  1.15k|	int win_probe_recovered = 0;
 4455|  1.15k|	struct sctp_nets *net = NULL;
 4456|  1.15k|	int done_once;
 4457|  1.15k|	int rto_ok = 1;
 4458|  1.15k|	uint8_t reneged_all = 0;
 4459|  1.15k|	uint8_t cmt_dac_flag;
 4460|       |	/*
 4461|       |	 * we take any chance we can to service our queues since we cannot
 4462|       |	 * get awoken when the socket is read from :<
 4463|       |	 */
 4464|       |	/*
 4465|       |	 * Now perform the actual SACK handling: 1) Verify that it is not an
 4466|       |	 * old sack, if so discard. 2) If there is nothing left in the send
 4467|       |	 * queue (cum-ack is equal to last acked) then you have a duplicate
 4468|       |	 * too, update any rwnd change and verify no timers are running.
 4469|       |	 * then return. 3) Process any new consecutive data i.e. cum-ack
 4470|       |	 * moved process these first and note that it moved. 4) Process any
 4471|       |	 * sack blocks. 5) Drop any acked from the queue. 6) Check for any
 4472|       |	 * revoked blocks and mark. 7) Update the cwnd. 8) Nothing left,
 4473|       |	 * sync up flightsizes and things, stop all timers and also check
 4474|       |	 * for shutdown_pending state. If so then go ahead and send off the
 4475|       |	 * shutdown. If in shutdown recv, send off the shutdown-ack and
 4476|       |	 * start that timer, Ret. 9) Strike any non-acked things and do FR
 4477|       |	 * procedure if needed being sure to set the FR flag. 10) Do pr-sctp
 4478|       |	 * procedures. 11) Apply any FR penalties. 12) Assure we will SACK
 4479|       |	 * if in shutdown_recv state.
 4480|       |	 */
 4481|  1.15k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  1.15k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.15k|	do {                         \
  |  |  |  |  113|  1.15k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.15k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.15k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4482|       |	/* CMT DAC algo */
 4483|  1.15k|	this_sack_lowest_newack = 0;
 4484|  1.15k|	SCTP_STAT_INCR(sctps_slowpath_sack);
  ------------------
  |  | 1112|  1.15k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  1.15k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  1.15k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4485|  1.15k|	last_tsn = cum_ack;
 4486|  1.15k|	cmt_dac_flag = flags & SCTP_SACK_CMT_DAC;
  ------------------
  |  |  524|  1.15k|#define SCTP_SACK_CMT_DAC          0x80
  ------------------
 4487|       |#ifdef SCTP_ASOCLOG_OF_TSNS
 4488|       |	stcb->asoc.cumack_log[stcb->asoc.cumack_log_at] = cum_ack;
 4489|       |	stcb->asoc.cumack_log_at++;
 4490|       |	if (stcb->asoc.cumack_log_at > SCTP_TSN_LOG_SIZE) {
 4491|       |		stcb->asoc.cumack_log_at = 0;
 4492|       |	}
 4493|       |#endif
 4494|  1.15k|	a_rwnd = rwnd;
 4495|       |
 4496|  1.15k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_SACK_ARRIVALS_ENABLE) {
  ------------------
  |  |  584|  1.15k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_SACK_ARRIVALS_ENABLE) {
  ------------------
  |  |  665|  1.15k|#define SCTP_LOG_SACK_ARRIVALS_ENABLE			0x00200000
  ------------------
  |  Branch (4496:6): [True: 0, False: 1.15k]
  ------------------
 4497|      0|		sctp_misc_ints(SCTP_SACK_LOG_NORMAL, cum_ack,
  ------------------
  |  |  221|      0|#define SCTP_SACK_LOG_NORMAL	   117
  ------------------
 4498|      0|		               rwnd, stcb->asoc.last_acked_seq, stcb->asoc.peers_rwnd);
 4499|      0|	}
 4500|       |
 4501|  1.15k|	old_rwnd = stcb->asoc.peers_rwnd;
 4502|  1.15k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  584|  1.15k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  669|  1.15k|#define SCTP_THRESHOLD_LOGGING				0x02000000
  ------------------
  |  Branch (4502:6): [True: 0, False: 1.15k]
  ------------------
 4503|      0|		sctp_misc_ints(SCTP_THRESHOLD_CLEAR,
  ------------------
  |  |  224|      0|#define SCTP_THRESHOLD_CLEAR       120
  ------------------
 4504|      0|		               stcb->asoc.overall_error_count,
 4505|      0|		               0,
 4506|      0|		               SCTP_FROM_SCTP_INDATA,
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
 4507|      0|		               __LINE__);
 4508|      0|	}
 4509|  1.15k|	stcb->asoc.overall_error_count = 0;
 4510|  1.15k|	asoc = &stcb->asoc;
 4511|  1.15k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_LOGGING_ENABLE) {
  ------------------
  |  |  584|  1.15k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_LOGGING_ENABLE) {
  ------------------
  |  |  658|  1.15k|#define SCTP_SACK_LOGGING_ENABLE			0x00004000
  ------------------
  |  Branch (4511:6): [True: 0, False: 1.15k]
  ------------------
 4512|      0|		sctp_log_sack(asoc->last_acked_seq,
 4513|      0|		              cum_ack,
 4514|      0|		              0,
 4515|      0|		              num_seg,
 4516|      0|		              num_dup,
 4517|      0|		              SCTP_LOG_NEW_SACK);
  ------------------
  |  |  146|      0|#define SCTP_LOG_NEW_SACK           42
  ------------------
 4518|      0|	}
 4519|  1.15k|	if ((num_dup) && (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FR_LOGGING_ENABLE)) {
  ------------------
  |  |  584|    690|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if ((num_dup) && (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FR_LOGGING_ENABLE)) {
  ------------------
  |  |  650|    690|#define SCTP_FR_LOGGING_ENABLE				0x00000040
  ------------------
  |  Branch (4519:6): [True: 690, False: 468]
  |  Branch (4519:19): [True: 0, False: 690]
  ------------------
 4520|      0|		uint16_t i;
 4521|      0|		uint32_t *dupdata, dblock;
 4522|       |
 4523|      0|		for (i = 0; i < num_dup; i++) {
  ------------------
  |  Branch (4523:15): [True: 0, False: 0]
  ------------------
 4524|      0|			dupdata = (uint32_t *)sctp_m_getptr(m, offset_dup + i * sizeof(uint32_t),
 4525|      0|			                                    sizeof(uint32_t), (uint8_t *)&dblock);
 4526|      0|			if (dupdata == NULL) {
  ------------------
  |  Branch (4526:8): [True: 0, False: 0]
  ------------------
 4527|      0|				break;
 4528|      0|			}
 4529|      0|			sctp_log_fr(*dupdata, 0, 0, SCTP_FR_DUPED);
  ------------------
  |  |  160|      0|#define SCTP_FR_DUPED               56
  ------------------
 4530|      0|		}
 4531|      0|	}
 4532|       |	/* reality check */
 4533|  1.15k|	if (!TAILQ_EMPTY(&asoc->sent_queue)) {
  ------------------
  |  Branch (4533:6): [True: 667, False: 491]
  ------------------
 4534|    667|		tp1 = TAILQ_LAST(&asoc->sent_queue,
 4535|    667|				 sctpchunk_listhead);
 4536|    667|		send_s = tp1->rec.data.tsn + 1;
 4537|    667|	} else {
 4538|    491|		tp1 = NULL;
 4539|    491|		send_s = asoc->sending_seq;
 4540|    491|	}
 4541|  1.15k|	if (SCTP_TSN_GE(cum_ack, send_s)) {
  ------------------
  |  |  890|  1.15k|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|  1.15k|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|  2.31k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 277, False: 881]
  |  |  |  |  |  |  |  Branch (883:43): [True: 17, False: 260]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|  2.31k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 881, False: 260]
  |  |  |  |  |  |  |  Branch (884:43): [True: 25, False: 856]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 1.11k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4542|     42|		struct mbuf *op_err;
 4543|     42|		char msg[SCTP_DIAG_INFO_LEN];
 4544|       |
 4545|       |		/*
 4546|       |		 * no way, we have not even sent this TSN out yet.
 4547|       |		 * Peer is hopelessly messed up with us.
 4548|       |		 */
 4549|     42|		SCTP_PRINTF("NEW cum_ack:%x send_s:%x is smaller or equal\n",
  ------------------
  |  |  542|     42|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|     42|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 42]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 4550|     42|			    cum_ack, send_s);
 4551|     42|		if (tp1) {
  ------------------
  |  Branch (4551:7): [True: 1, False: 41]
  ------------------
 4552|      1|			SCTP_PRINTF("Got send_s from tsn:%x + 1 of tp1: %p\n",
  ------------------
  |  |  542|      1|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 4553|      1|				    tp1->rec.data.tsn, (void *)tp1);
 4554|      1|		}
 4555|     42|	hopeless_peer:
 4556|     42|		*abort_now = 1;
 4557|       |		/* XXX */
 4558|     42|		SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|     42|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 42]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 4559|     42|		              "Cum ack %8.8x greater or equal than TSN %8.8x",
 4560|     42|		              cum_ack, send_s);
 4561|     42|		op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|     42|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 4562|     42|		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_29;
  ------------------
  |  |  757|     42|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_29;
  ------------------
  |  |  797|     42|#define SCTP_LOC_29 0x0000001d
  ------------------
 4563|     42|		sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     42|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 4564|     42|		return;
 4565|     42|	}
 4566|       |	/**********************/
 4567|       |	/* 1) check the range */
 4568|       |	/**********************/
 4569|  1.11k|	if (SCTP_TSN_GT(asoc->last_acked_seq, last_tsn)) {
  ------------------
  |  |  889|  1.11k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  1.11k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 856, False: 260]
  |  |  |  |  |  Branch (883:43): [True: 856, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|  1.11k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 260, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 260, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4570|       |		/* acking something behind */
 4571|  1.11k|		return;
 4572|  1.11k|	}
 4573|       |
 4574|       |	/* update the Rwnd of the peer */
 4575|      0|	if (TAILQ_EMPTY(&asoc->sent_queue) &&
 4576|      0|	    TAILQ_EMPTY(&asoc->send_queue) &&
 4577|      0|	    (asoc->stream_queue_cnt == 0)) {
  ------------------
  |  Branch (4577:6): [True: 0, False: 0]
  ------------------
 4578|       |		/* nothing left on send/sent and strmq */
 4579|      0|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_RWND_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_RWND_ENABLE) {
  ------------------
  |  |  664|      0|#define SCTP_LOG_RWND_ENABLE    			0x00100000
  ------------------
  |  Branch (4579:7): [True: 0, False: 0]
  ------------------
 4580|      0|			sctp_log_rwnd_set(SCTP_SET_PEER_RWND_VIA_SACK,
  ------------------
  |  |  142|      0|#define SCTP_SET_PEER_RWND_VIA_SACK 38
  ------------------
 4581|      0|			                  asoc->peers_rwnd, 0, 0, a_rwnd);
 4582|      0|		}
 4583|      0|		asoc->peers_rwnd = a_rwnd;
 4584|      0|		if (asoc->sent_queue_retran_cnt) {
  ------------------
  |  Branch (4584:7): [True: 0, False: 0]
  ------------------
 4585|      0|			asoc->sent_queue_retran_cnt = 0;
 4586|      0|		}
 4587|      0|		if (asoc->peers_rwnd < stcb->sctp_ep->sctp_ep.sctp_sws_sender) {
  ------------------
  |  Branch (4587:7): [True: 0, False: 0]
  ------------------
 4588|       |			/* SWS sender side engages */
 4589|      0|			asoc->peers_rwnd = 0;
 4590|      0|		}
 4591|       |		/* stop any timers */
 4592|      0|		TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 4593|      0|			sctp_timer_stop(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 4594|      0|			                stcb, net, SCTP_FROM_SCTP_INDATA + SCTP_LOC_30);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              			                stcb, net, SCTP_FROM_SCTP_INDATA + SCTP_LOC_30);
  ------------------
  |  |  798|      0|#define SCTP_LOC_30 0x0000001e
  ------------------
 4595|      0|			net->partial_bytes_acked = 0;
 4596|      0|			net->flight_size = 0;
 4597|      0|		}
 4598|      0|		asoc->total_flight = 0;
 4599|      0|		asoc->total_flight_count = 0;
 4600|      0|		return;
 4601|      0|	}
 4602|       |	/*
 4603|       |	 * We init netAckSz and netAckSz2 to 0. These are used to track 2
 4604|       |	 * things. The total byte count acked is tracked in netAckSz AND
 4605|       |	 * netAck2 is used to track the total bytes acked that are un-
 4606|       |	 * ambiguous and were never retransmitted. We track these on a per
 4607|       |	 * destination address basis.
 4608|       |	 */
 4609|      0|	TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 4610|      0|		if (SCTP_TSN_GT(cum_ack, net->cwr_window_tsn)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4611|       |			/* Drag along the window_tsn for cwr's */
 4612|      0|			net->cwr_window_tsn = cum_ack;
 4613|      0|		}
 4614|      0|		net->prev_cwnd = net->cwnd;
 4615|      0|		net->net_ack = 0;
 4616|      0|		net->net_ack2 = 0;
 4617|       |
 4618|       |		/*
 4619|       |		 * CMT: Reset CUC and Fast recovery algo variables before
 4620|       |		 * SACK processing
 4621|       |		 */
 4622|      0|		net->new_pseudo_cumack = 0;
 4623|      0|		net->will_exit_fast_recovery = 0;
 4624|      0|		if (stcb->asoc.cc_functions.sctp_cwnd_prepare_net_for_sack) {
  ------------------
  |  Branch (4624:7): [True: 0, False: 0]
  ------------------
 4625|      0|			(*stcb->asoc.cc_functions.sctp_cwnd_prepare_net_for_sack)(stcb, net);
 4626|      0|		}
 4627|       |
 4628|       |		/*
 4629|       |		 * CMT: SFR algo (and HTNA) - this_sack_highest_newack has
 4630|       |		 * to be greater than the cumack. Also reset saw_newack to 0
 4631|       |		 * for all dests.
 4632|       |		 */
 4633|      0|		net->saw_newack = 0;
 4634|      0|		net->this_sack_highest_newack = last_tsn;
 4635|      0|	}
 4636|       |	/* process the new consecutive TSN first */
 4637|      0|	TAILQ_FOREACH(tp1, &asoc->sent_queue, sctp_next) {
 4638|      0|		if (SCTP_TSN_GE(last_tsn, tp1->rec.data.tsn)) {
  ------------------
  |  |  890|      0|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|      0|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4639|      0|			if (tp1->sent != SCTP_DATAGRAM_UNSENT) {
  ------------------
  |  |  348|      0|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
  |  Branch (4639:8): [True: 0, False: 0]
  ------------------
 4640|      0|				accum_moved = 1;
 4641|      0|				if (tp1->sent < SCTP_DATAGRAM_ACKED) {
  ------------------
  |  |  355|      0|#define SCTP_DATAGRAM_ACKED		10010
  ------------------
  |  Branch (4641:9): [True: 0, False: 0]
  ------------------
 4642|       |					/*
 4643|       |					 * If it is less than ACKED, it is
 4644|       |					 * now no-longer in flight. Higher
 4645|       |					 * values may occur during marking
 4646|       |					 */
 4647|      0|					if ((tp1->whoTo->dest_state &
  ------------------
  |  Branch (4647:10): [True: 0, False: 0]
  ------------------
 4648|      0|					     SCTP_ADDR_UNCONFIRMED) &&
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
 4649|      0|					    (tp1->snd_count < 2)) {
  ------------------
  |  Branch (4649:10): [True: 0, False: 0]
  ------------------
 4650|       |						/*
 4651|       |						 * If there was no retran
 4652|       |						 * and the address is
 4653|       |						 * un-confirmed and we sent
 4654|       |						 * there and are now
 4655|       |						 * sacked.. its confirmed,
 4656|       |						 * mark it so.
 4657|       |						 */
 4658|      0|						tp1->whoTo->dest_state &=
 4659|      0|							~SCTP_ADDR_UNCONFIRMED;
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
 4660|      0|					}
 4661|      0|					if (tp1->sent < SCTP_DATAGRAM_RESEND) {
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (4661:10): [True: 0, False: 0]
  ------------------
 4662|      0|						if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FLIGHT_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              						if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FLIGHT_LOGGING_ENABLE) {
  ------------------
  |  |  649|      0|#define SCTP_FLIGHT_LOGGING_ENABLE			0x00000020
  ------------------
  |  Branch (4662:11): [True: 0, False: 0]
  ------------------
 4663|      0|							sctp_misc_ints(SCTP_FLIGHT_LOG_DOWN_CA,
  ------------------
  |  |  211|      0|#define SCTP_FLIGHT_LOG_DOWN_CA    107
  ------------------
 4664|      0|							               tp1->whoTo->flight_size,
 4665|      0|							               tp1->book_size,
 4666|      0|							               (uint32_t)(uintptr_t)tp1->whoTo,
 4667|      0|							               tp1->rec.data.tsn);
 4668|      0|						}
 4669|      0|						sctp_flight_size_decrease(tp1);
  ------------------
  |  |  289|      0|#define sctp_flight_size_decrease(tp1) do { \
  |  |  290|      0|	if (tp1->whoTo->flight_size >= tp1->book_size) \
  |  |  ------------------
  |  |  |  Branch (290:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  291|      0|		tp1->whoTo->flight_size -= tp1->book_size; \
  |  |  292|      0|	else \
  |  |  293|      0|		tp1->whoTo->flight_size = 0; \
  |  |  294|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (294:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4670|      0|						sctp_total_flight_decrease(stcb, tp1);
  ------------------
  |  |  338|      0|#define sctp_total_flight_decrease(stcb, tp1) do { \
  |  |  339|      0|	tp1->window_probe = 0; \
  |  |  340|      0|	if (stcb->asoc.total_flight >= tp1->book_size) { \
  |  |  ------------------
  |  |  |  Branch (340:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  341|      0|		stcb->asoc.total_flight -= tp1->book_size; \
  |  |  342|      0|		if (stcb->asoc.total_flight_count > 0) \
  |  |  ------------------
  |  |  |  Branch (342:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  343|      0|			stcb->asoc.total_flight_count--; \
  |  |  344|      0|	} else { \
  |  |  345|      0|		stcb->asoc.total_flight = 0; \
  |  |  346|      0|		stcb->asoc.total_flight_count = 0; \
  |  |  347|      0|	} \
  |  |  348|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (348:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4671|      0|						if (stcb->asoc.cc_functions.sctp_cwnd_update_tsn_acknowledged) {
  ------------------
  |  Branch (4671:11): [True: 0, False: 0]
  ------------------
 4672|      0|							(*stcb->asoc.cc_functions.sctp_cwnd_update_tsn_acknowledged)(tp1->whoTo,
 4673|      0|														     tp1);
 4674|      0|						}
 4675|      0|					}
 4676|      0|					tp1->whoTo->net_ack += tp1->send_size;
 4677|       |
 4678|       |					/* CMT SFR and DAC algos */
 4679|      0|					this_sack_lowest_newack = tp1->rec.data.tsn;
 4680|      0|					tp1->whoTo->saw_newack = 1;
 4681|       |
 4682|      0|					if (tp1->snd_count < 2) {
  ------------------
  |  Branch (4682:10): [True: 0, False: 0]
  ------------------
 4683|       |						/*
 4684|       |						 * True non-retransmitted
 4685|       |						 * chunk
 4686|       |						 */
 4687|      0|						tp1->whoTo->net_ack2 +=
 4688|      0|							tp1->send_size;
 4689|       |
 4690|       |						/* update RTO too? */
 4691|      0|						if (tp1->do_rtt) {
  ------------------
  |  Branch (4691:11): [True: 0, False: 0]
  ------------------
 4692|      0|							if (rto_ok &&
  ------------------
  |  Branch (4692:12): [True: 0, False: 0]
  ------------------
 4693|      0|							    sctp_calculate_rto(stcb,
  ------------------
  |  Branch (4693:12): [True: 0, False: 0]
  ------------------
 4694|      0|									       &stcb->asoc,
 4695|      0|									       tp1->whoTo,
 4696|      0|									       &tp1->sent_rcv_time,
 4697|      0|									       SCTP_RTT_FROM_DATA)) {
  ------------------
  |  |  341|      0|#define SCTP_RTT_FROM_DATA     1
  ------------------
 4698|      0|								rto_ok = 0;
 4699|      0|							}
 4700|      0|							if (tp1->whoTo->rto_needed == 0) {
  ------------------
  |  Branch (4700:12): [True: 0, False: 0]
  ------------------
 4701|      0|								tp1->whoTo->rto_needed = 1;
 4702|      0|							}
 4703|      0|							tp1->do_rtt = 0;
 4704|      0|						}
 4705|      0|					}
 4706|       |					/*
 4707|       |					 * CMT: CUCv2 algorithm. From the
 4708|       |					 * cumack'd TSNs, for each TSN being
 4709|       |					 * acked for the first time, set the
 4710|       |					 * following variables for the
 4711|       |					 * corresp destination.
 4712|       |					 * new_pseudo_cumack will trigger a
 4713|       |					 * cwnd update.
 4714|       |					 * find_(rtx_)pseudo_cumack will
 4715|       |					 * trigger search for the next
 4716|       |					 * expected (rtx-)pseudo-cumack.
 4717|       |					 */
 4718|      0|					tp1->whoTo->new_pseudo_cumack = 1;
 4719|      0|					tp1->whoTo->find_pseudo_cumack = 1;
 4720|      0|					tp1->whoTo->find_rtx_pseudo_cumack = 1;
 4721|      0|					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_LOGGING_ENABLE) {
  ------------------
  |  |  658|      0|#define SCTP_SACK_LOGGING_ENABLE			0x00004000
  ------------------
  |  Branch (4721:10): [True: 0, False: 0]
  ------------------
 4722|      0|						sctp_log_sack(asoc->last_acked_seq,
 4723|      0|						              cum_ack,
 4724|      0|						              tp1->rec.data.tsn,
 4725|      0|						              0,
 4726|      0|						              0,
 4727|      0|						              SCTP_LOG_TSN_ACKED);
  ------------------
  |  |  147|      0|#define SCTP_LOG_TSN_ACKED          43
  ------------------
 4728|      0|					}
 4729|      0|					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  648|      0|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  |  Branch (4729:10): [True: 0, False: 0]
  ------------------
 4730|      0|						sctp_log_cwnd(stcb, tp1->whoTo, tp1->rec.data.tsn, SCTP_CWND_LOG_FROM_SACK);
  ------------------
  |  |  168|      0|#define SCTP_CWND_LOG_FROM_SACK     64
  ------------------
 4731|      0|					}
 4732|      0|				}
 4733|      0|				if (tp1->sent == SCTP_DATAGRAM_RESEND) {
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (4733:9): [True: 0, False: 0]
  ------------------
 4734|      0|					sctp_ucount_decr(asoc->sent_queue_retran_cnt);
  ------------------
  |  |  270|      0|#define sctp_ucount_decr(val) { \
  |  |  271|      0|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|		val--; \
  |  |  273|      0|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|      0|}
  ------------------
 4735|       |#ifdef SCTP_AUDITING_ENABLED
 4736|       |					sctp_audit_log(0xB3,
 4737|       |					               (asoc->sent_queue_retran_cnt & 0x000000ff));
 4738|       |#endif
 4739|      0|				}
 4740|      0|				if (tp1->rec.data.chunk_was_revoked) {
  ------------------
  |  Branch (4740:9): [True: 0, False: 0]
  ------------------
 4741|       |					/* deflate the cwnd */
 4742|      0|					tp1->whoTo->cwnd -= tp1->book_size;
 4743|      0|					tp1->rec.data.chunk_was_revoked = 0;
 4744|      0|				}
 4745|      0|				if (tp1->sent != SCTP_DATAGRAM_NR_ACKED) {
  ------------------
  |  |  358|      0|#define SCTP_DATAGRAM_NR_ACKED		40010
  ------------------
  |  Branch (4745:9): [True: 0, False: 0]
  ------------------
 4746|      0|					tp1->sent = SCTP_DATAGRAM_ACKED;
  ------------------
  |  |  355|      0|#define SCTP_DATAGRAM_ACKED		10010
  ------------------
 4747|      0|				}
 4748|      0|			}
 4749|      0|		} else {
 4750|      0|			break;
 4751|      0|		}
 4752|      0|	}
 4753|      0|	biggest_tsn_newly_acked = biggest_tsn_acked = last_tsn;
 4754|       |	/* always set this up to cum-ack */
 4755|      0|	asoc->this_sack_highest_gap = last_tsn;
 4756|       |
 4757|      0|	if ((num_seg > 0) || (num_nr_seg > 0)) {
  ------------------
  |  Branch (4757:6): [True: 0, False: 0]
  |  Branch (4757:23): [True: 0, False: 0]
  ------------------
 4758|       |		/*
 4759|       |		 * thisSackHighestGap will increase while handling NEW
 4760|       |		 * segments this_sack_highest_newack will increase while
 4761|       |		 * handling NEWLY ACKED chunks. this_sack_lowest_newack is
 4762|       |		 * used for CMT DAC algo. saw_newack will also change.
 4763|       |		 */
 4764|      0|		if (sctp_handle_segments(m, &offset_seg, stcb, asoc, last_tsn, &biggest_tsn_acked,
  ------------------
  |  Branch (4764:7): [True: 0, False: 0]
  ------------------
 4765|      0|			&biggest_tsn_newly_acked, &this_sack_lowest_newack,
 4766|      0|			num_seg, num_nr_seg, &rto_ok)) {
 4767|      0|			wake_him++;
 4768|      0|		}
 4769|       |		/*
 4770|       |		 * validate the biggest_tsn_acked in the gap acks if
 4771|       |		 * strict adherence is wanted.
 4772|       |		 */
 4773|      0|		if (SCTP_TSN_GE(biggest_tsn_acked, send_s)) {
  ------------------
  |  |  890|      0|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|      0|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4774|       |			/*
 4775|       |			 * peer is either confused or we are under
 4776|       |			 * attack. We must abort.
 4777|       |			 */
 4778|      0|			SCTP_PRINTF("Hopeless peer! biggest_tsn_acked:%x largest seq:%x\n",
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 4779|      0|				    biggest_tsn_acked, send_s);
 4780|      0|			goto hopeless_peer;
 4781|      0|		}
 4782|      0|	}
 4783|       |	/*******************************************/
 4784|       |	/* cancel ALL T3-send timer if accum moved */
 4785|       |	/*******************************************/
 4786|      0|	if (asoc->sctp_cmt_on_off > 0) {
  ------------------
  |  Branch (4786:6): [True: 0, False: 0]
  ------------------
 4787|      0|		TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 4788|      0|			if (net->new_pseudo_cumack)
  ------------------
  |  Branch (4788:8): [True: 0, False: 0]
  ------------------
 4789|      0|				sctp_timer_stop(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 4790|      0|				                stcb, net,
 4791|      0|				                SCTP_FROM_SCTP_INDATA + SCTP_LOC_31);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              				                SCTP_FROM_SCTP_INDATA + SCTP_LOC_31);
  ------------------
  |  |  799|      0|#define SCTP_LOC_31 0x0000001f
  ------------------
 4792|      0|		}
 4793|      0|	} else {
 4794|      0|		if (accum_moved) {
  ------------------
  |  Branch (4794:7): [True: 0, False: 0]
  ------------------
 4795|      0|			TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 4796|      0|				sctp_timer_stop(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 4797|      0|				                stcb, net, SCTP_FROM_SCTP_INDATA + SCTP_LOC_32);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              				                stcb, net, SCTP_FROM_SCTP_INDATA + SCTP_LOC_32);
  ------------------
  |  |  800|      0|#define SCTP_LOC_32 0x00000020
  ------------------
 4798|      0|			}
 4799|      0|		}
 4800|      0|	}
 4801|       |	/********************************************/
 4802|       |	/* drop the acked chunks from the sentqueue */
 4803|       |	/********************************************/
 4804|      0|	asoc->last_acked_seq = cum_ack;
 4805|       |
 4806|      0|	TAILQ_FOREACH_SAFE(tp1, &asoc->sent_queue, sctp_next, tp2) {
  ------------------
  |  | 1123|      0|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|      0|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 0]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|      0|              (var) = (tvar))
  ------------------
 4807|      0|		if (SCTP_TSN_GT(tp1->rec.data.tsn, cum_ack)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4808|      0|			break;
 4809|      0|		}
 4810|      0|		if (tp1->sent != SCTP_DATAGRAM_NR_ACKED) {
  ------------------
  |  |  358|      0|#define SCTP_DATAGRAM_NR_ACKED		40010
  ------------------
  |  Branch (4810:7): [True: 0, False: 0]
  ------------------
 4811|      0|			if (asoc->strmout[tp1->rec.data.sid].chunks_on_queues > 0) {
  ------------------
  |  Branch (4811:8): [True: 0, False: 0]
  ------------------
 4812|      0|				asoc->strmout[tp1->rec.data.sid].chunks_on_queues--;
 4813|      0|#ifdef INVARIANTS
 4814|      0|			} else {
 4815|      0|				panic("No chunks on the queues for sid %u.", tp1->rec.data.sid);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4816|      0|#endif
 4817|      0|			}
 4818|      0|		}
 4819|      0|		if ((asoc->strmout[tp1->rec.data.sid].chunks_on_queues == 0) &&
  ------------------
  |  Branch (4819:7): [True: 0, False: 0]
  ------------------
 4820|      0|		    (asoc->strmout[tp1->rec.data.sid].state == SCTP_STREAM_RESET_PENDING) &&
  ------------------
  |  |  671|      0|#define SCTP_STREAM_RESET_PENDING    0x03
  ------------------
  |  Branch (4820:7): [True: 0, False: 0]
  ------------------
 4821|      0|		    TAILQ_EMPTY(&asoc->strmout[tp1->rec.data.sid].outqueue)) {
 4822|      0|			asoc->trigger_reset = 1;
 4823|      0|		}
 4824|      0|		TAILQ_REMOVE(&asoc->sent_queue, tp1, sctp_next);
 4825|      0|		if (PR_SCTP_ENABLED(tp1->flags)) {
  ------------------
  |  |  281|      0|#define PR_SCTP_ENABLED(x)        ((PR_SCTP_POLICY(x) != SCTP_PR_SCTP_NONE) && \
  |  |  ------------------
  |  |  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  |  |  ------------------
  |  |               #define PR_SCTP_ENABLED(x)        ((PR_SCTP_POLICY(x) != SCTP_PR_SCTP_NONE) && \
  |  |  ------------------
  |  |  |  |  272|      0|#define SCTP_PR_SCTP_NONE 0x0000 /* Reliable transfer */
  |  |  ------------------
  |  |  |  Branch (281:36): [True: 0, False: 0]
  |  |  ------------------
  |  |  282|      0|                                   (PR_SCTP_POLICY(x) != SCTP_PR_SCTP_ALL))
  |  |  ------------------
  |  |  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  |  |  ------------------
  |  |                                                  (PR_SCTP_POLICY(x) != SCTP_PR_SCTP_ALL))
  |  |  ------------------
  |  |  |  |  278|      0|#define SCTP_PR_SCTP_ALL  0x000f /* Used for aggregated stats */
  |  |  ------------------
  |  |  |  Branch (282:36): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4826|      0|			if (asoc->pr_sctp_cnt != 0)
  ------------------
  |  Branch (4826:8): [True: 0, False: 0]
  ------------------
 4827|      0|				asoc->pr_sctp_cnt--;
 4828|      0|		}
 4829|      0|		asoc->sent_queue_cnt--;
 4830|      0|		if (tp1->data) {
  ------------------
  |  Branch (4830:7): [True: 0, False: 0]
  ------------------
 4831|       |			/* sa_ignore NO_NULL_CHK */
 4832|      0|			sctp_free_bufspace(stcb, asoc, tp1, 1);
 4833|      0|			sctp_m_freem(tp1->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4834|      0|			tp1->data = NULL;
 4835|      0|			if (asoc->prsctp_supported && PR_SCTP_BUF_ENABLED(tp1->flags)) {
  ------------------
  |  |  284|      0|#define PR_SCTP_BUF_ENABLED(x)    (PR_SCTP_POLICY(x) == SCTP_PR_SCTP_BUF)
  |  |  ------------------
  |  |  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  |  |  ------------------
  |  |               #define PR_SCTP_BUF_ENABLED(x)    (PR_SCTP_POLICY(x) == SCTP_PR_SCTP_BUF)
  |  |  ------------------
  |  |  |  |  275|      0|#define SCTP_PR_SCTP_BUF  SCTP_PR_SCTP_PRIO /* For backwards compatibility */
  |  |  |  |  ------------------
  |  |  |  |  |  |  274|      0|#define SCTP_PR_SCTP_PRIO 0x0002 /* Buffer based PR-SCTP */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (284:35): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (4835:8): [True: 0, False: 0]
  ------------------
 4836|      0|				asoc->sent_queue_cnt_removeable--;
 4837|      0|			}
 4838|      0|		}
 4839|      0|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_LOGGING_ENABLE) {
  ------------------
  |  |  658|      0|#define SCTP_SACK_LOGGING_ENABLE			0x00004000
  ------------------
  |  Branch (4839:7): [True: 0, False: 0]
  ------------------
 4840|      0|			sctp_log_sack(asoc->last_acked_seq,
 4841|      0|			              cum_ack,
 4842|      0|			              tp1->rec.data.tsn,
 4843|      0|			              0,
 4844|      0|			              0,
 4845|      0|			              SCTP_LOG_FREE_SENT);
  ------------------
  |  |  175|      0|#define SCTP_LOG_FREE_SENT             71
  ------------------
 4846|      0|		}
 4847|      0|		sctp_free_a_chunk(stcb, tp1, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
 4848|      0|		wake_him++;
 4849|      0|	}
 4850|      0|	if (TAILQ_EMPTY(&asoc->sent_queue) && (asoc->total_flight > 0)) {
  ------------------
  |  Branch (4850:40): [True: 0, False: 0]
  ------------------
 4851|      0|#ifdef INVARIANTS
 4852|      0|		panic("Warning flight size is positive and should be 0");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4853|       |#else
 4854|       |		SCTP_PRINTF("Warning flight size incorrect should be 0 is %d\n",
 4855|       |		            asoc->total_flight);
 4856|       |#endif
 4857|      0|		asoc->total_flight = 0;
 4858|      0|	}
 4859|       |
 4860|      0|#if defined(__Userspace__)
 4861|      0|	if (stcb->sctp_ep->recv_callback) {
  ------------------
  |  Branch (4861:6): [True: 0, False: 0]
  ------------------
 4862|      0|		if (stcb->sctp_socket) {
  ------------------
  |  Branch (4862:7): [True: 0, False: 0]
  ------------------
 4863|      0|			uint32_t inqueue_bytes, sb_free_now;
 4864|      0|			struct sctp_inpcb *inp;
 4865|       |
 4866|      0|			inp = stcb->sctp_ep;
 4867|      0|			inqueue_bytes = stcb->asoc.total_output_queue_size - (stcb->asoc.chunks_on_out_queue * sizeof(struct sctp_data_chunk));
 4868|      0|			sb_free_now = SCTP_SB_LIMIT_SND(stcb->sctp_socket) - (inqueue_bytes + stcb->asoc.sb_send_resv);
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
 4869|       |
 4870|       |			/* check if the amount free in the send socket buffer crossed the threshold */
 4871|      0|			if (inp->send_callback &&
  ------------------
  |  Branch (4871:8): [True: 0, False: 0]
  ------------------
 4872|      0|			   (((inp->send_sb_threshold > 0) && (sb_free_now >= inp->send_sb_threshold)) ||
  ------------------
  |  Branch (4872:9): [True: 0, False: 0]
  |  Branch (4872:41): [True: 0, False: 0]
  ------------------
 4873|      0|			    (inp->send_sb_threshold == 0))) {
  ------------------
  |  Branch (4873:8): [True: 0, False: 0]
  ------------------
 4874|      0|				atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 4875|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4876|      0|				inp->send_callback(stcb->sctp_socket, sb_free_now, inp->ulp_info);
 4877|      0|				SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4878|      0|				atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 4879|      0|			}
 4880|      0|		}
 4881|      0|	} else if ((wake_him) && (stcb->sctp_socket)) {
  ------------------
  |  Branch (4881:13): [True: 0, False: 0]
  |  Branch (4881:27): [True: 0, False: 0]
  ------------------
 4882|       |#else
 4883|       |	/* sa_ignore NO_NULL_CHK */
 4884|       |	if ((wake_him) && (stcb->sctp_socket)) {
 4885|       |#endif
 4886|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4887|       |		struct socket *so;
 4888|       |
 4889|       |#endif
 4890|      0|		SOCKBUF_LOCK(&stcb->sctp_socket->so_snd);
  ------------------
  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4891|      0|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_WAKE_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_WAKE_LOGGING_ENABLE) {
  ------------------
  |  |  662|      0|#define SCTP_WAKE_LOGGING_ENABLE			0x00040000
  ------------------
  |  Branch (4891:7): [True: 0, False: 0]
  ------------------
 4892|      0|			sctp_wakeup_log(stcb, wake_him, SCTP_WAKESND_FROM_SACK);
  ------------------
  |  |  178|      0|#define SCTP_WAKESND_FROM_SACK      74
  ------------------
 4893|      0|		}
 4894|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4895|       |		so = SCTP_INP_SO(stcb->sctp_ep);
 4896|       |		atomic_add_int(&stcb->asoc.refcnt, 1);
 4897|       |		SCTP_TCB_UNLOCK(stcb);
 4898|       |		SCTP_SOCKET_LOCK(so, 1);
 4899|       |		SCTP_TCB_LOCK(stcb);
 4900|       |		atomic_subtract_int(&stcb->asoc.refcnt, 1);
 4901|       |		if (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET) {
 4902|       |			/* assoc was freed while we were unlocked */
 4903|       |			SCTP_SOCKET_UNLOCK(so, 1);
 4904|       |			return;
 4905|       |		}
 4906|       |#endif
 4907|      0|		sctp_sowwakeup_locked(stcb->sctp_ep, stcb->sctp_socket);
  ------------------
  |  | 1011|      0|#define sctp_sowwakeup_locked(inp, so) \
  |  | 1012|      0|do { \
  |  | 1013|      0|	if (inp->sctp_flags & SCTP_PCB_FLAGS_DONT_WAKE) { \
  |  |  ------------------
  |  |  |  |  544|      0|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  |  |  ------------------
  |  |  |  Branch (1013:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 1014|      0|		sctp_pcb_add_flags(inp, SCTP_PCB_FLAGS_WAKEOUTPUT); \
  |  |  ------------------
  |  |  |  |  545|      0|#define SCTP_PCB_FLAGS_WAKEOUTPUT	0x01000000
  |  |  ------------------
  |  | 1015|      0|		SOCKBUF_UNLOCK(&((so)->so_snd)); \
  |  |  ------------------
  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1016|      0|	} else { \
  |  | 1017|      0|		sowwakeup_locked(so); \
  |  |  ------------------
  |  |  |  |  524|      0|#define	sowwakeup_locked(so) do {					\
  |  |  |  |  525|      0|	SOCKBUF_LOCK_ASSERT(&(so)->so_snd);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|      0|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  526|      0|	if (sb_notify(&(so)->so_snd))					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  499|      0|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  203|      0|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  204|      0|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  205|      0|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (499:23): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  500|      0|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  206|      0|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  208|      0|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  209|      0|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  527|      0|		sowakeup((so), &(so)->so_snd); 				\
  |  |  |  |  528|      0|	else								\
  |  |  |  |  529|      0|		SOCKBUF_UNLOCK(&(so)->so_snd);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  530|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (530:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1018|      0|	} \
  |  | 1019|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (1019:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4908|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4909|       |		SCTP_SOCKET_UNLOCK(so, 1);
 4910|       |#endif
 4911|      0|	} else {
 4912|      0|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_WAKE_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_WAKE_LOGGING_ENABLE) {
  ------------------
  |  |  662|      0|#define SCTP_WAKE_LOGGING_ENABLE			0x00040000
  ------------------
  |  Branch (4912:7): [True: 0, False: 0]
  ------------------
 4913|      0|			sctp_wakeup_log(stcb, wake_him, SCTP_NOWAKE_FROM_SACK);
  ------------------
  |  |  180|      0|#define SCTP_NOWAKE_FROM_SACK       76
  ------------------
 4914|      0|		}
 4915|      0|	}
 4916|       |
 4917|      0|	if (asoc->fast_retran_loss_recovery && accum_moved) {
  ------------------
  |  Branch (4917:6): [True: 0, False: 0]
  |  Branch (4917:41): [True: 0, False: 0]
  ------------------
 4918|      0|		if (SCTP_TSN_GE(asoc->last_acked_seq, asoc->fast_recovery_tsn)) {
  ------------------
  |  |  890|      0|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|      0|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4919|       |			/* Setup so we will exit RFC2582 fast recovery */
 4920|      0|			will_exit_fast_recovery = 1;
 4921|      0|		}
 4922|      0|	}
 4923|       |	/*
 4924|       |	 * Check for revoked fragments:
 4925|       |	 *
 4926|       |	 * if Previous sack - Had no frags then we can't have any revoked if
 4927|       |	 * Previous sack - Had frag's then - If we now have frags aka
 4928|       |	 * num_seg > 0 call sctp_check_for_revoked() to tell if peer revoked
 4929|       |	 * some of them. else - The peer revoked all ACKED fragments, since
 4930|       |	 * we had some before and now we have NONE.
 4931|       |	 */
 4932|       |
 4933|      0|	if (num_seg) {
  ------------------
  |  Branch (4933:6): [True: 0, False: 0]
  ------------------
 4934|      0|		sctp_check_for_revoked(stcb, asoc, cum_ack, biggest_tsn_acked);
 4935|      0|		asoc->saw_sack_with_frags = 1;
 4936|      0|	} else if (asoc->saw_sack_with_frags) {
  ------------------
  |  Branch (4936:13): [True: 0, False: 0]
  ------------------
 4937|      0|		int cnt_revoked = 0;
 4938|       |
 4939|       |		/* Peer revoked all dg's marked or acked */
 4940|      0|		TAILQ_FOREACH(tp1, &asoc->sent_queue, sctp_next) {
 4941|      0|			if (tp1->sent == SCTP_DATAGRAM_ACKED) {
  ------------------
  |  |  355|      0|#define SCTP_DATAGRAM_ACKED		10010
  ------------------
  |  Branch (4941:8): [True: 0, False: 0]
  ------------------
 4942|      0|				tp1->sent = SCTP_DATAGRAM_SENT;
  ------------------
  |  |  349|      0|#define SCTP_DATAGRAM_SENT		1
  ------------------
 4943|      0|				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FLIGHT_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FLIGHT_LOGGING_ENABLE) {
  ------------------
  |  |  649|      0|#define SCTP_FLIGHT_LOGGING_ENABLE			0x00000020
  ------------------
  |  Branch (4943:9): [True: 0, False: 0]
  ------------------
 4944|      0|					sctp_misc_ints(SCTP_FLIGHT_LOG_UP_REVOKE,
  ------------------
  |  |  218|      0|#define SCTP_FLIGHT_LOG_UP_REVOKE  114
  ------------------
 4945|      0|					               tp1->whoTo->flight_size,
 4946|      0|					               tp1->book_size,
 4947|      0|					               (uint32_t)(uintptr_t)tp1->whoTo,
 4948|      0|					               tp1->rec.data.tsn);
 4949|      0|				}
 4950|      0|				sctp_flight_size_increase(tp1);
  ------------------
  |  |  296|      0|#define sctp_flight_size_increase(tp1) do { \
  |  |  297|      0|	(tp1)->whoTo->flight_size += (tp1)->book_size; \
  |  |  298|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (298:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4951|      0|				sctp_total_flight_increase(stcb, tp1);
  ------------------
  |  |  350|      0|#define sctp_total_flight_increase(stcb, tp1) do { \
  |  |  351|      0|	(stcb)->asoc.total_flight_count++; \
  |  |  352|      0|	(stcb)->asoc.total_flight += (tp1)->book_size; \
  |  |  353|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (353:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4952|      0|				tp1->rec.data.chunk_was_revoked = 1;
 4953|       |				/*
 4954|       |				 * To ensure that this increase in
 4955|       |				 * flightsize, which is artificial,
 4956|       |				 * does not throttle the sender, we
 4957|       |				 * also increase the cwnd
 4958|       |				 * artificially.
 4959|       |				 */
 4960|      0|				tp1->whoTo->cwnd += tp1->book_size;
 4961|      0|				cnt_revoked++;
 4962|      0|			}
 4963|      0|		}
 4964|      0|		if (cnt_revoked) {
  ------------------
  |  Branch (4964:7): [True: 0, False: 0]
  ------------------
 4965|      0|			reneged_all = 1;
 4966|      0|		}
 4967|      0|		asoc->saw_sack_with_frags = 0;
 4968|      0|	}
 4969|      0|	if (num_nr_seg > 0)
  ------------------
  |  Branch (4969:6): [True: 0, False: 0]
  ------------------
 4970|      0|		asoc->saw_sack_with_nr_frags = 1;
 4971|      0|	else
 4972|      0|		asoc->saw_sack_with_nr_frags = 0;
 4973|       |
 4974|       |	/* JRS - Use the congestion control given in the CC module */
 4975|      0|	if (ecne_seen == 0) {
  ------------------
  |  Branch (4975:6): [True: 0, False: 0]
  ------------------
 4976|      0|		TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 4977|      0|			if (net->net_ack2 > 0) {
  ------------------
  |  Branch (4977:8): [True: 0, False: 0]
  ------------------
 4978|       |				/*
 4979|       |				 * Karn's rule applies to clearing error count, this
 4980|       |				 * is optional.
 4981|       |				 */
 4982|      0|				net->error_count = 0;
 4983|      0|				if ((net->dest_state & SCTP_ADDR_REACHABLE) == 0) {
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (4983:9): [True: 0, False: 0]
  ------------------
 4984|       |					/* addr came good */
 4985|      0|					net->dest_state |= SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 4986|      0|					sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_UP, stcb,
  ------------------
  |  |  706|      0|#define SCTP_NOTIFY_INTERFACE_UP                 4
  ------------------
 4987|      0|					                0, (void *)net, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 4988|      0|				}
 4989|       |
 4990|      0|				if (net == stcb->asoc.primary_destination) {
  ------------------
  |  Branch (4990:9): [True: 0, False: 0]
  ------------------
 4991|      0|					if (stcb->asoc.alternate) {
  ------------------
  |  Branch (4991:10): [True: 0, False: 0]
  ------------------
 4992|       |						/* release the alternate, primary is good */
 4993|      0|						sctp_free_remote_addr(stcb->asoc.alternate);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 4994|      0|						stcb->asoc.alternate = NULL;
 4995|      0|					}
 4996|      0|				}
 4997|       |
 4998|      0|				if (net->dest_state & SCTP_ADDR_PF) {
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (4998:9): [True: 0, False: 0]
  ------------------
 4999|      0|					net->dest_state &= ~SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
 5000|      0|					sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT,
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 5001|      0|					                stcb->sctp_ep, stcb, net,
 5002|      0|					                SCTP_FROM_SCTP_INDATA + SCTP_LOC_33);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              					                SCTP_FROM_SCTP_INDATA + SCTP_LOC_33);
  ------------------
  |  |  801|      0|#define SCTP_LOC_33 0x00000021
  ------------------
 5003|      0|					sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep, stcb, net);
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 5004|      0|					asoc->cc_functions.sctp_cwnd_update_exit_pf(stcb, net);
 5005|       |					/* Done with this net */
 5006|      0|					net->net_ack = 0;
 5007|      0|				}
 5008|       |				/* restore any doubled timers */
 5009|      0|				net->RTO = (net->lastsa >> SCTP_RTT_SHIFT) + net->lastsv;
  ------------------
  |  |   40|      0|#define SCTP_RTT_SHIFT 3
  ------------------
 5010|      0|				if (net->RTO < stcb->asoc.minrto) {
  ------------------
  |  Branch (5010:9): [True: 0, False: 0]
  ------------------
 5011|      0|					net->RTO = stcb->asoc.minrto;
 5012|      0|				}
 5013|      0|				if (net->RTO > stcb->asoc.maxrto) {
  ------------------
  |  Branch (5013:9): [True: 0, False: 0]
  ------------------
 5014|      0|					net->RTO = stcb->asoc.maxrto;
 5015|      0|				}
 5016|      0|			}
 5017|      0|		}
 5018|      0|		asoc->cc_functions.sctp_cwnd_update_after_sack(stcb, asoc, accum_moved, reneged_all, will_exit_fast_recovery);
 5019|      0|	}
 5020|       |
 5021|      0|	if (TAILQ_EMPTY(&asoc->sent_queue)) {
 5022|       |		/* nothing left in-flight */
 5023|      0|		TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 5024|       |			/* stop all timers */
 5025|      0|			sctp_timer_stop(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 5026|      0|			                stcb, net,
 5027|      0|			                SCTP_FROM_SCTP_INDATA + SCTP_LOC_34);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              			                SCTP_FROM_SCTP_INDATA + SCTP_LOC_34);
  ------------------
  |  |  802|      0|#define SCTP_LOC_34 0x00000022
  ------------------
 5028|      0|			net->flight_size = 0;
 5029|      0|			net->partial_bytes_acked = 0;
 5030|      0|		}
 5031|      0|		asoc->total_flight = 0;
 5032|      0|		asoc->total_flight_count = 0;
 5033|      0|	}
 5034|       |
 5035|       |	/**********************************/
 5036|       |	/* Now what about shutdown issues */
 5037|       |	/**********************************/
 5038|      0|	if (TAILQ_EMPTY(&asoc->send_queue) && TAILQ_EMPTY(&asoc->sent_queue)) {
 5039|       |		/* nothing left on sendqueue.. consider done */
 5040|      0|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_RWND_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_RWND_ENABLE) {
  ------------------
  |  |  664|      0|#define SCTP_LOG_RWND_ENABLE    			0x00100000
  ------------------
  |  Branch (5040:7): [True: 0, False: 0]
  ------------------
 5041|      0|			sctp_log_rwnd_set(SCTP_SET_PEER_RWND_VIA_SACK,
  ------------------
  |  |  142|      0|#define SCTP_SET_PEER_RWND_VIA_SACK 38
  ------------------
 5042|      0|			                  asoc->peers_rwnd, 0, 0, a_rwnd);
 5043|      0|		}
 5044|      0|		asoc->peers_rwnd = a_rwnd;
 5045|      0|		if (asoc->peers_rwnd < stcb->sctp_ep->sctp_ep.sctp_sws_sender) {
  ------------------
  |  Branch (5045:7): [True: 0, False: 0]
  ------------------
 5046|       |			/* SWS sender side engages */
 5047|      0|			asoc->peers_rwnd = 0;
 5048|      0|		}
 5049|       |		/* clean up */
 5050|      0|		if ((asoc->stream_queue_cnt == 1) &&
  ------------------
  |  Branch (5050:7): [True: 0, False: 0]
  ------------------
 5051|      0|		    ((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) ||
  ------------------
  |  |  463|      0|#define SCTP_STATE_SHUTDOWN_PENDING	0x0080
  ------------------
  |  Branch (5051:8): [True: 0, False: 0]
  ------------------
 5052|      0|		     (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		     (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) &&
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (5052:8): [True: 0, False: 0]
  ------------------
 5053|      0|		    ((*asoc->ss_functions.sctp_ss_is_user_msgs_incomplete)(stcb, asoc))) {
  ------------------
  |  Branch (5053:7): [True: 0, False: 0]
  ------------------
 5054|      0|			SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_PARTIAL_MSG_LEFT);
  ------------------
  |  |  478|      0|	sctp_add_substate(_stcb, _substate)
  ------------------
 5055|      0|		}
 5056|      0|		if (((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) ||
  ------------------
  |  |  463|      0|#define SCTP_STATE_SHUTDOWN_PENDING	0x0080
  ------------------
  |  Branch (5056:8): [True: 0, False: 0]
  ------------------
 5057|      0|		     (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		     (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) &&
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (5057:8): [True: 0, False: 0]
  ------------------
 5058|      0|		    (asoc->stream_queue_cnt == 1) &&
  ------------------
  |  Branch (5058:7): [True: 0, False: 0]
  ------------------
 5059|      0|		    (asoc->state & SCTP_STATE_PARTIAL_MSG_LEFT)) {
  ------------------
  |  |  466|      0|#define SCTP_STATE_PARTIAL_MSG_LEFT     0x0400
  ------------------
  |  Branch (5059:7): [True: 0, False: 0]
  ------------------
 5060|      0|			struct mbuf *op_err;
 5061|       |
 5062|      0|			*abort_now = 1;
 5063|       |			/* XXX */
 5064|      0|			op_err = sctp_generate_cause(SCTP_CAUSE_USER_INITIATED_ABT, "");
  ------------------
  |  |  380|      0|#define SCTP_CAUSE_USER_INITIATED_ABT	0x000c
  ------------------
 5065|      0|			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_35;
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_35;
  ------------------
  |  |  803|      0|#define SCTP_LOC_35 0x00000023
  ------------------
 5066|      0|			sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 5067|      0|			return;
 5068|      0|		}
 5069|      0|		if ((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) &&
  ------------------
  |  |  463|      0|#define SCTP_STATE_SHUTDOWN_PENDING	0x0080
  ------------------
  |  Branch (5069:7): [True: 0, False: 0]
  ------------------
 5070|      0|		    (asoc->stream_queue_cnt == 0)) {
  ------------------
  |  Branch (5070:7): [True: 0, False: 0]
  ------------------
 5071|      0|			struct sctp_nets *netp;
 5072|       |
 5073|      0|			if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  459|      0|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (5073:8): [True: 0, False: 0]
  ------------------
 5074|      0|			    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (5074:8): [True: 0, False: 0]
  ------------------
 5075|      0|				SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|      0|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|      0|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|      0|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5076|      0|			}
 5077|      0|			SCTP_SET_STATE(stcb, SCTP_STATE_SHUTDOWN_SENT);
  ------------------
  |  |  474|      0|	sctp_set_state(_stcb, _state)
  ------------------
 5078|      0|			sctp_stop_timers_for_shutdown(stcb);
 5079|      0|			if (asoc->alternate) {
  ------------------
  |  Branch (5079:8): [True: 0, False: 0]
  ------------------
 5080|      0|				netp = asoc->alternate;
 5081|      0|			} else {
 5082|      0|				netp = asoc->primary_destination;
 5083|      0|			}
 5084|      0|			sctp_send_shutdown(stcb, netp);
 5085|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN,
  ------------------
  |  |  535|      0|#define SCTP_TIMER_TYPE_SHUTDOWN	4
  ------------------
 5086|      0|					 stcb->sctp_ep, stcb, netp);
 5087|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
  ------------------
  |  |  542|      0|#define SCTP_TIMER_TYPE_SHUTDOWNGUARD	11
  ------------------
 5088|      0|					 stcb->sctp_ep, stcb, NULL);
 5089|      0|			return;
 5090|      0|		} else if ((SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		} else if ((SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED) &&
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (5090:14): [True: 0, False: 0]
  ------------------
 5091|      0|			   (asoc->stream_queue_cnt == 0)) {
  ------------------
  |  Branch (5091:7): [True: 0, False: 0]
  ------------------
 5092|      0|			struct sctp_nets *netp;
 5093|       |
 5094|      0|			SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|      0|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|      0|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|      0|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5095|      0|			SCTP_SET_STATE(stcb, SCTP_STATE_SHUTDOWN_ACK_SENT);
  ------------------
  |  |  474|      0|	sctp_set_state(_stcb, _state)
  ------------------
 5096|      0|			sctp_stop_timers_for_shutdown(stcb);
 5097|      0|			if (asoc->alternate) {
  ------------------
  |  Branch (5097:8): [True: 0, False: 0]
  ------------------
 5098|      0|				netp = asoc->alternate;
 5099|      0|			} else {
 5100|      0|				netp = asoc->primary_destination;
 5101|      0|			}
 5102|      0|			sctp_send_shutdown_ack(stcb, netp);
 5103|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNACK,
  ------------------
  |  |  540|      0|#define SCTP_TIMER_TYPE_SHUTDOWNACK	9
  ------------------
 5104|      0|			                 stcb->sctp_ep, stcb, netp);
 5105|      0|			return;
 5106|      0|		}
 5107|      0|	}
 5108|       |	/*
 5109|       |	 * Now here we are going to recycle net_ack for a different use...
 5110|       |	 * HEADS UP.
 5111|       |	 */
 5112|      0|	TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 5113|      0|		net->net_ack = 0;
 5114|      0|	}
 5115|       |
 5116|       |	/*
 5117|       |	 * CMT DAC algorithm: If SACK DAC flag was 0, then no extra marking
 5118|       |	 * to be done. Setting this_sack_lowest_newack to the cum_ack will
 5119|       |	 * automatically ensure that.
 5120|       |	 */
 5121|      0|	if ((asoc->sctp_cmt_on_off > 0) &&
  ------------------
  |  Branch (5121:6): [True: 0, False: 0]
  ------------------
 5122|      0|	    SCTP_BASE_SYSCTL(sctp_cmt_use_dac) &&
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|      0|	    (cmt_dac_flag == 0)) {
  ------------------
  |  Branch (5123:6): [True: 0, False: 0]
  ------------------
 5124|      0|		this_sack_lowest_newack = cum_ack;
 5125|      0|	}
 5126|      0|	if ((num_seg > 0) || (num_nr_seg > 0)) {
  ------------------
  |  Branch (5126:6): [True: 0, False: 0]
  |  Branch (5126:23): [True: 0, False: 0]
  ------------------
 5127|      0|		sctp_strike_gap_ack_chunks(stcb, asoc, biggest_tsn_acked,
 5128|      0|		                           biggest_tsn_newly_acked, this_sack_lowest_newack, accum_moved);
 5129|      0|	}
 5130|       |	/* JRS - Use the congestion control given in the CC module */
 5131|      0|	asoc->cc_functions.sctp_cwnd_update_after_fr(stcb, asoc);
 5132|       |
 5133|       |	/* Now are we exiting loss recovery ? */
 5134|      0|	if (will_exit_fast_recovery) {
  ------------------
  |  Branch (5134:6): [True: 0, False: 0]
  ------------------
 5135|       |		/* Ok, we must exit fast recovery */
 5136|      0|		asoc->fast_retran_loss_recovery = 0;
 5137|      0|	}
 5138|      0|	if ((asoc->sat_t3_loss_recovery) &&
  ------------------
  |  Branch (5138:6): [True: 0, False: 0]
  ------------------
 5139|      0|	    SCTP_TSN_GE(asoc->last_acked_seq, asoc->sat_t3_recovery_tsn)) {
  ------------------
  |  |  890|      0|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|      0|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5140|       |		/* end satellite t3 loss recovery */
 5141|      0|		asoc->sat_t3_loss_recovery = 0;
 5142|      0|	}
 5143|       |	/*
 5144|       |	 * CMT Fast recovery
 5145|       |	 */
 5146|      0|	TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 5147|      0|		if (net->will_exit_fast_recovery) {
  ------------------
  |  Branch (5147:7): [True: 0, False: 0]
  ------------------
 5148|       |			/* Ok, we must exit fast recovery */
 5149|      0|			net->fast_retran_loss_recovery = 0;
 5150|      0|		}
 5151|      0|	}
 5152|       |
 5153|       |	/* Adjust and set the new rwnd value */
 5154|      0|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_RWND_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_RWND_ENABLE) {
  ------------------
  |  |  664|      0|#define SCTP_LOG_RWND_ENABLE    			0x00100000
  ------------------
  |  Branch (5154:6): [True: 0, False: 0]
  ------------------
 5155|      0|		sctp_log_rwnd_set(SCTP_SET_PEER_RWND_VIA_SACK,
  ------------------
  |  |  142|      0|#define SCTP_SET_PEER_RWND_VIA_SACK 38
  ------------------
 5156|      0|		                  asoc->peers_rwnd, asoc->total_flight, (asoc->total_flight_count * SCTP_BASE_SYSCTL(sctp_peer_chunk_oh)), a_rwnd);
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 5157|      0|	}
 5158|      0|	asoc->peers_rwnd = sctp_sbspace_sub(a_rwnd,
  ------------------
  |  |   93|      0|#define sctp_sbspace_sub(a,b) (((a) > (b)) ? ((a) - (b)) : 0)
  |  |  ------------------
  |  |  |  Branch (93:32): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5159|      0|	                                    (uint32_t) (asoc->total_flight + (asoc->total_flight_count * SCTP_BASE_SYSCTL(sctp_peer_chunk_oh))));
 5160|      0|	if (asoc->peers_rwnd < stcb->sctp_ep->sctp_ep.sctp_sws_sender) {
  ------------------
  |  Branch (5160:6): [True: 0, False: 0]
  ------------------
 5161|       |		/* SWS sender side engages */
 5162|      0|		asoc->peers_rwnd = 0;
 5163|      0|	}
 5164|      0|	if (asoc->peers_rwnd > old_rwnd) {
  ------------------
  |  Branch (5164:6): [True: 0, False: 0]
  ------------------
 5165|      0|		win_probe_recovery = 1;
 5166|      0|	}
 5167|       |
 5168|       |	/*
 5169|       |	 * Now we must setup so we have a timer up for anyone with
 5170|       |	 * outstanding data.
 5171|       |	 */
 5172|      0|	done_once = 0;
 5173|      0|again:
 5174|      0|	j = 0;
 5175|      0|	TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 5176|      0|		if (win_probe_recovery && (net->window_probe)) {
  ------------------
  |  Branch (5176:7): [True: 0, False: 0]
  |  Branch (5176:29): [True: 0, False: 0]
  ------------------
 5177|      0|			win_probe_recovered = 1;
 5178|       |			/*-
 5179|       |			 * Find first chunk that was used with
 5180|       |			 * window probe and clear the event. Put
 5181|       |			 * it back into the send queue as if has
 5182|       |			 * not been sent.
 5183|       |			 */
 5184|      0|			TAILQ_FOREACH(tp1, &asoc->sent_queue, sctp_next) {
 5185|      0|				if (tp1->window_probe) {
  ------------------
  |  Branch (5185:9): [True: 0, False: 0]
  ------------------
 5186|      0|					sctp_window_probe_recovery(stcb, asoc, tp1);
 5187|      0|					break;
 5188|      0|				}
 5189|      0|			}
 5190|      0|		}
 5191|      0|		if (net->flight_size) {
  ------------------
  |  Branch (5191:7): [True: 0, False: 0]
  ------------------
 5192|      0|			j++;
 5193|      0|			if (!SCTP_OS_TIMER_PENDING(&net->rxt_timer.timer)) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  ------------------
  |  Branch (5193:8): [True: 0, False: 0]
  ------------------
 5194|      0|				sctp_timer_start(SCTP_TIMER_TYPE_SEND,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 5195|      0|				                 stcb->sctp_ep, stcb, net);
 5196|      0|			}
 5197|      0|			if (net->window_probe) {
  ------------------
  |  Branch (5197:8): [True: 0, False: 0]
  ------------------
 5198|      0|				net->window_probe = 0;
 5199|      0|			}
 5200|      0|		} else {
 5201|      0|			if (net->window_probe) {
  ------------------
  |  Branch (5201:8): [True: 0, False: 0]
  ------------------
 5202|       |				/* In window probes we must assure a timer is still running there */
 5203|      0|				if (!SCTP_OS_TIMER_PENDING(&net->rxt_timer.timer)) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  ------------------
  |  Branch (5203:9): [True: 0, False: 0]
  ------------------
 5204|      0|					sctp_timer_start(SCTP_TIMER_TYPE_SEND,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 5205|      0|					                 stcb->sctp_ep, stcb, net);
 5206|      0|				}
 5207|      0|			} else if (SCTP_OS_TIMER_PENDING(&net->rxt_timer.timer)) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  |  |  |  Branch (102:36): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5208|      0|				sctp_timer_stop(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 5209|      0|				                stcb, net,
 5210|      0|				                SCTP_FROM_SCTP_INDATA + SCTP_LOC_36);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              				                SCTP_FROM_SCTP_INDATA + SCTP_LOC_36);
  ------------------
  |  |  804|      0|#define SCTP_LOC_36 0x00000024
  ------------------
 5211|      0|			}
 5212|      0|		}
 5213|      0|	}
 5214|      0|	if ((j == 0) &&
  ------------------
  |  Branch (5214:6): [True: 0, False: 0]
  ------------------
 5215|      0|	    (!TAILQ_EMPTY(&asoc->sent_queue)) &&
  ------------------
  |  Branch (5215:6): [True: 0, False: 0]
  ------------------
 5216|      0|	    (asoc->sent_queue_retran_cnt == 0) &&
  ------------------
  |  Branch (5216:6): [True: 0, False: 0]
  ------------------
 5217|      0|	    (win_probe_recovered == 0) &&
  ------------------
  |  Branch (5217:6): [True: 0, False: 0]
  ------------------
 5218|      0|	    (done_once == 0)) {
  ------------------
  |  Branch (5218:6): [True: 0, False: 0]
  ------------------
 5219|       |		/* huh, this should not happen unless all packets
 5220|       |		 * are PR-SCTP and marked to skip of course.
 5221|       |		 */
 5222|      0|		if (sctp_fs_audit(asoc)) {
  ------------------
  |  Branch (5222:7): [True: 0, False: 0]
  ------------------
 5223|      0|			TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 5224|      0|				net->flight_size = 0;
 5225|      0|			}
 5226|      0|			asoc->total_flight = 0;
 5227|      0|			asoc->total_flight_count = 0;
 5228|      0|			asoc->sent_queue_retran_cnt = 0;
 5229|      0|			TAILQ_FOREACH(tp1, &asoc->sent_queue, sctp_next) {
 5230|      0|				if (tp1->sent < SCTP_DATAGRAM_RESEND) {
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (5230:9): [True: 0, False: 0]
  ------------------
 5231|      0|					sctp_flight_size_increase(tp1);
  ------------------
  |  |  296|      0|#define sctp_flight_size_increase(tp1) do { \
  |  |  297|      0|	(tp1)->whoTo->flight_size += (tp1)->book_size; \
  |  |  298|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (298:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5232|      0|					sctp_total_flight_increase(stcb, tp1);
  ------------------
  |  |  350|      0|#define sctp_total_flight_increase(stcb, tp1) do { \
  |  |  351|      0|	(stcb)->asoc.total_flight_count++; \
  |  |  352|      0|	(stcb)->asoc.total_flight += (tp1)->book_size; \
  |  |  353|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (353:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5233|      0|				} else if (tp1->sent == SCTP_DATAGRAM_RESEND) {
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (5233:16): [True: 0, False: 0]
  ------------------
 5234|      0|					sctp_ucount_incr(asoc->sent_queue_retran_cnt);
  ------------------
  |  |  266|      0|#define sctp_ucount_incr(val) { \
  |  |  267|      0|	val++; \
  |  |  268|      0|}
  ------------------
 5235|      0|				}
 5236|      0|			}
 5237|      0|		}
 5238|      0|		done_once = 1;
 5239|      0|		goto again;
 5240|      0|	}
 5241|       |	/*********************************************/
 5242|       |	/* Here we perform PR-SCTP procedures        */
 5243|       |	/* (section 4.2)                             */
 5244|       |	/*********************************************/
 5245|       |	/* C1. update advancedPeerAckPoint */
 5246|      0|	if (SCTP_TSN_GT(cum_ack, asoc->advanced_peer_ack_point)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5247|      0|		asoc->advanced_peer_ack_point = cum_ack;
 5248|      0|	}
 5249|       |	/* C2. try to further move advancedPeerAckPoint ahead */
 5250|      0|	if ((asoc->prsctp_supported) && (asoc->pr_sctp_cnt > 0)) {
  ------------------
  |  Branch (5250:6): [True: 0, False: 0]
  |  Branch (5250:34): [True: 0, False: 0]
  ------------------
 5251|      0|		struct sctp_tmit_chunk *lchk;
 5252|      0|		uint32_t old_adv_peer_ack_point;
 5253|       |
 5254|      0|		old_adv_peer_ack_point = asoc->advanced_peer_ack_point;
 5255|      0|		lchk = sctp_try_advance_peer_ack_point(stcb, asoc);
 5256|       |		/* C3. See if we need to send a Fwd-TSN */
 5257|      0|		if (SCTP_TSN_GT(asoc->advanced_peer_ack_point, cum_ack)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5258|       |			/*
 5259|       |			 * ISSUE with ECN, see FWD-TSN processing.
 5260|       |			 */
 5261|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_TRY_ADVANCE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_TRY_ADVANCE) {
  ------------------
  |  |  672|      0|#define SCTP_LOG_TRY_ADVANCE				0x10000000
  ------------------
  |  Branch (5261:8): [True: 0, False: 0]
  ------------------
 5262|      0|				sctp_misc_ints(SCTP_FWD_TSN_CHECK,
  ------------------
  |  |  227|      0|#define SCTP_FWD_TSN_CHECK         123
  ------------------
 5263|      0|				               0xee, cum_ack, asoc->advanced_peer_ack_point,
 5264|      0|				               old_adv_peer_ack_point);
 5265|      0|			}
 5266|      0|			if (SCTP_TSN_GT(asoc->advanced_peer_ack_point, old_adv_peer_ack_point)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5267|      0|				send_forward_tsn(stcb, asoc);
 5268|      0|			} else if (lchk) {
  ------------------
  |  Branch (5268:15): [True: 0, False: 0]
  ------------------
 5269|       |				/* try to FR fwd-tsn's that get lost too */
 5270|      0|				if (lchk->rec.data.fwd_tsn_cnt >= 3) {
  ------------------
  |  Branch (5270:9): [True: 0, False: 0]
  ------------------
 5271|      0|					send_forward_tsn(stcb, asoc);
 5272|      0|				}
 5273|      0|			}
 5274|      0|		}
 5275|      0|		for (; lchk != NULL; lchk = TAILQ_NEXT(lchk, sctp_next)) {
  ------------------
  |  Branch (5275:10): [True: 0, False: 0]
  ------------------
 5276|      0|			if (lchk->whoTo != NULL) {
  ------------------
  |  Branch (5276:8): [True: 0, False: 0]
  ------------------
 5277|      0|				break;
 5278|      0|			}
 5279|      0|		}
 5280|      0|		if (lchk != NULL) {
  ------------------
  |  Branch (5280:7): [True: 0, False: 0]
  ------------------
 5281|       |			/* Assure a timer is up */
 5282|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SEND,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 5283|      0|			                 stcb->sctp_ep, stcb, lchk->whoTo);
 5284|      0|		}
 5285|      0|	}
 5286|      0|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_RWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SACK_RWND_LOGGING_ENABLE) {
  ------------------
  |  |  659|      0|#define SCTP_SACK_RWND_LOGGING_ENABLE			0x00008000
  ------------------
  |  Branch (5286:6): [True: 0, False: 0]
  ------------------
 5287|      0|		sctp_misc_ints(SCTP_SACK_RWND_UPDATE,
  ------------------
  |  |  191|      0|#define SCTP_SACK_RWND_UPDATE       87
  ------------------
 5288|      0|		               a_rwnd,
 5289|      0|		               stcb->asoc.peers_rwnd,
 5290|      0|		               stcb->asoc.total_flight,
 5291|      0|		               stcb->asoc.total_output_queue_size);
 5292|      0|	}
 5293|      0|}
sctp_update_acked:
 5297|  1.32k|{
 5298|       |	/* Copy cum-ack */
 5299|  1.32k|	uint32_t cum_ack, a_rwnd;
 5300|       |
 5301|  1.32k|	cum_ack = ntohl(cp->cumulative_tsn_ack);
 5302|       |	/* Arrange so a_rwnd does NOT change */
 5303|  1.32k|	a_rwnd = stcb->asoc.peers_rwnd + stcb->asoc.total_flight;
 5304|       |
 5305|       |	/* Now call the express sack handling */
 5306|  1.32k|	sctp_express_handle_sack(stcb, cum_ack, a_rwnd, abort_flag, 0);
 5307|  1.32k|}
sctp_handle_forward_tsn:
 5552|  2.72k|{
 5553|       |	/* The pr-sctp fwd tsn */
 5554|       |	/*
 5555|       |	 * here we will perform all the data receiver side steps for
 5556|       |	 * processing FwdTSN, as required in by pr-sctp draft:
 5557|       |	 *
 5558|       |	 * Assume we get FwdTSN(x):
 5559|       |	 *
 5560|       |	 * 1) update local cumTSN to x
 5561|       |	 * 2) try to further advance cumTSN to x + others we have
 5562|       |	 * 3) examine and update re-ordering queue on pr-in-streams
 5563|       |	 * 4) clean up re-assembly queue
 5564|       |	 * 5) Send a sack to report where we are.
 5565|       |	 */
 5566|  2.72k|	struct sctp_association *asoc;
 5567|  2.72k|	uint32_t new_cum_tsn, gap;
 5568|  2.72k|	unsigned int i, fwd_sz, m_size;
 5569|  2.72k|	struct sctp_stream_in *strm;
 5570|  2.72k|	struct sctp_queued_to_read *control, *ncontrol;
 5571|       |
 5572|  2.72k|	asoc = &stcb->asoc;
 5573|  2.72k|	if ((fwd_sz = ntohs(fwd->ch.chunk_length)) < sizeof(struct sctp_forward_tsn_chunk)) {
  ------------------
  |  Branch (5573:6): [True: 0, False: 2.72k]
  ------------------
 5574|      0|		SCTPDBG(SCTP_DEBUG_INDATA1,
 5575|      0|			"Bad size too small/big fwd-tsn\n");
 5576|      0|		return;
 5577|      0|	}
 5578|  2.72k|	m_size = (stcb->asoc.mapping_array_size << 3);
 5579|       |	/*************************************************************/
 5580|       |	/* 1. Here we update local cumTSN and shift the bitmap array */
 5581|       |	/*************************************************************/
 5582|  2.72k|	new_cum_tsn = ntohl(fwd->new_cumulative_tsn);
 5583|       |
 5584|  2.72k|	if (SCTP_TSN_GE(asoc->cumulative_tsn, new_cum_tsn)) {
  ------------------
  |  |  890|  2.72k|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|  2.72k|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|  5.45k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 1.76k, False: 962]
  |  |  |  |  |  |  |  Branch (883:43): [True: 387, False: 1.37k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|  5.45k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 550, False: 1.78k]
  |  |  |  |  |  |  |  Branch (884:43): [True: 537, False: 13]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 412, False: 1.39k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5585|       |		/* Already got there ... */
 5586|  1.33k|		return;
 5587|  1.33k|	}
 5588|       |	/*
 5589|       |	 * now we know the new TSN is more advanced, let's find the actual
 5590|       |	 * gap
 5591|       |	 */
 5592|  1.39k|	SCTP_CALC_TSN_TO_GAP(gap, new_cum_tsn, asoc->mapping_array_base_tsn);
  ------------------
  |  |  899|  1.39k|#define SCTP_CALC_TSN_TO_GAP(gap, tsn, mapping_tsn) do { \
  |  |  900|  1.39k|	                if (tsn >= mapping_tsn) { \
  |  |  ------------------
  |  |  |  Branch (900:22): [True: 1.37k, False: 13]
  |  |  ------------------
  |  |  901|  1.37k|						gap = tsn - mapping_tsn; \
  |  |  902|  1.37k|					} else { \
  |  |  903|     13|						gap = (MAX_TSN - mapping_tsn) + tsn + 1; \
  |  |  ------------------
  |  |  |  |  310|     13|#define MAX_TSN	0xffffffff
  |  |  ------------------
  |  |  904|     13|					} \
  |  |  905|  1.39k|                  } while (0)
  |  |  ------------------
  |  |  |  Branch (905:28): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5593|  1.39k|	asoc->cumulative_tsn = new_cum_tsn;
 5594|  1.39k|	if (gap >= m_size) {
  ------------------
  |  Branch (5594:6): [True: 864, False: 526]
  ------------------
 5595|    864|		if ((long)gap > sctp_sbspace(&stcb->asoc, &stcb->sctp_socket->so_rcv)) {
  ------------------
  |  |   89|    864|#define	sctp_sbspace(asoc, sb) ((long) ((sctp_maxspace(sb) > (asoc)->sb_cc) ? (sctp_maxspace(sb) - (asoc)->sb_cc) : 0))
  |  |  ------------------
  |  |  |  |   87|    864|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|    864|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 864, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define	sctp_sbspace(asoc, sb) ((long) ((sctp_maxspace(sb) > (asoc)->sb_cc) ? (sctp_maxspace(sb) - (asoc)->sb_cc) : 0))
  |  |  ------------------
  |  |  |  |   87|    863|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|    863|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 863, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (89:41): [True: 863, False: 1]
  |  |  ------------------
  ------------------
  |  Branch (5595:7): [True: 85, False: 779]
  ------------------
 5596|     85|			struct mbuf *op_err;
 5597|     85|			char msg[SCTP_DIAG_INFO_LEN];
 5598|       |
 5599|       |			/*
 5600|       |			 * out of range (of single byte chunks in the rwnd I
 5601|       |			 * give out). This must be an attacker.
 5602|       |			 */
 5603|     85|			*abort_flag = 1;
 5604|     85|			SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|     85|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 85]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 5605|     85|			              "New cum ack %8.8x too high, highest TSN %8.8x",
 5606|     85|			              new_cum_tsn, asoc->highest_tsn_inside_map);
 5607|     85|			op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|     85|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 5608|     85|			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_37;
  ------------------
  |  |  757|     85|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_37;
  ------------------
  |  |  805|     85|#define SCTP_LOC_37 0x00000025
  ------------------
 5609|     85|			sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     85|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 5610|     85|			return;
 5611|     85|		}
 5612|    779|		SCTP_STAT_INCR(sctps_fwdtsn_map_over);
  ------------------
  |  | 1112|    779|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    779|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    779|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5613|       |
 5614|    779|		memset(stcb->asoc.mapping_array, 0, stcb->asoc.mapping_array_size);
 5615|    779|		asoc->mapping_array_base_tsn = new_cum_tsn + 1;
 5616|    779|		asoc->highest_tsn_inside_map = new_cum_tsn;
 5617|       |
 5618|    779|		memset(stcb->asoc.nr_mapping_array, 0, stcb->asoc.mapping_array_size);
 5619|    779|		asoc->highest_tsn_inside_nr_map = new_cum_tsn;
 5620|       |
 5621|    779|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  584|    779|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  652|    779|#define SCTP_MAP_LOGGING_ENABLE				0x00000100
  ------------------
  |  Branch (5621:7): [True: 0, False: 779]
  ------------------
 5622|      0|			sctp_log_map(0, 3, asoc->highest_tsn_inside_map, SCTP_MAP_SLIDE_RESULT);
  ------------------
  |  |  128|      0|#define SCTP_MAP_SLIDE_RESULT       23
  ------------------
 5623|      0|		}
 5624|    779|	} else {
 5625|    526|		SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|    526|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    526|	do {                         \
  |  |  |  |  113|    526|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 526]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    526|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5626|  12.0k|		for (i = 0; i <= gap; i++) {
  ------------------
  |  Branch (5626:15): [True: 11.5k, False: 526]
  ------------------
 5627|  11.5k|			if (!SCTP_IS_TSN_PRESENT(asoc->mapping_array, i) &&
  ------------------
  |  |  896|  23.1k|#define SCTP_IS_TSN_PRESENT(arry, gap) ((arry[(gap >> 3)] >> (gap & 0x07)) & 0x01)
  ------------------
  |  Branch (5627:8): [True: 11.5k, False: 0]
  ------------------
 5628|  11.5k|			    !SCTP_IS_TSN_PRESENT(asoc->nr_mapping_array, i)) {
  ------------------
  |  |  896|  11.5k|#define SCTP_IS_TSN_PRESENT(arry, gap) ((arry[(gap >> 3)] >> (gap & 0x07)) & 0x01)
  ------------------
  |  Branch (5628:8): [True: 11.5k, False: 53]
  ------------------
 5629|  11.5k|				SCTP_SET_TSN_PRESENT(asoc->nr_mapping_array, i);
  ------------------
  |  |  897|  11.5k|#define SCTP_SET_TSN_PRESENT(arry, gap) (arry[(gap >> 3)] |= (0x01 << ((gap & 0x07))))
  ------------------
 5630|  11.5k|				if (SCTP_TSN_GT(asoc->mapping_array_base_tsn + i, asoc->highest_tsn_inside_nr_map)) {
  ------------------
  |  |  889|  11.5k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  11.5k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 11.5k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|  11.5k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 11.4k, False: 54]
  |  |  |  |  |  Branch (884:43): [True: 11.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5631|  11.4k|					asoc->highest_tsn_inside_nr_map = asoc->mapping_array_base_tsn + i;
 5632|  11.4k|				}
 5633|  11.5k|			}
 5634|  11.5k|		}
 5635|    526|	}
 5636|       |	/*************************************************************/
 5637|       |	/* 2. Clear up re-assembly queue                             */
 5638|       |	/*************************************************************/
 5639|       |
 5640|       |	/* This is now done as part of clearing up the stream/seq */
 5641|  1.30k|	if (asoc->idata_supported == 0) {
  ------------------
  |  Branch (5641:6): [True: 722, False: 583]
  ------------------
 5642|    722|		uint16_t sid;
 5643|       |
 5644|       |		/* Flush all the un-ordered data based on cum-tsn */
 5645|    722|		SCTP_INP_READ_LOCK(stcb->sctp_ep);
  ------------------
  |  |  346|    722|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    722|	do {                         \
  |  |  |  |  113|    722|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 722]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    722|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5646|   145k|		for (sid = 0; sid < asoc->streamincnt; sid++) {
  ------------------
  |  Branch (5646:17): [True: 144k, False: 722]
  ------------------
 5647|   144k|			strm = &asoc->strmin[sid];
 5648|   144k|			if (!TAILQ_EMPTY(&strm->uno_inqueue)) {
  ------------------
  |  Branch (5648:8): [True: 0, False: 144k]
  ------------------
 5649|      0|				sctp_flush_reassm_for_str_seq(stcb, asoc, strm, TAILQ_FIRST(&strm->uno_inqueue), 0, new_cum_tsn);
 5650|      0|			}
 5651|   144k|		}
 5652|    722|		SCTP_INP_READ_UNLOCK(stcb->sctp_ep);
  ------------------
  |  |  348|    722|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    722|	do {                         \
  |  |  |  |  113|    722|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 722]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    722|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5653|    722|	}
 5654|       |	/*******************************************************/
 5655|       |	/* 3. Update the PR-stream re-ordering queues and fix  */
 5656|       |	/*    delivery issues as needed.                       */
 5657|       |	/*******************************************************/
 5658|  1.30k|	fwd_sz -= sizeof(*fwd);
 5659|  1.30k|	if (m && fwd_sz) {
  ------------------
  |  Branch (5659:6): [True: 1.20k, False: 97]
  |  Branch (5659:11): [True: 781, False: 427]
  ------------------
 5660|       |		/* New method. */
 5661|    781|		unsigned int num_str;
 5662|    781|		uint32_t mid;
 5663|    781|		uint16_t sid;
 5664|    781|		uint16_t ordered, flags;
 5665|    781|		struct sctp_strseq *stseq, strseqbuf;
 5666|    781|		struct sctp_strseq_mid *stseq_m, strseqbuf_m;
 5667|    781|		offset += sizeof(*fwd);
 5668|       |
 5669|    781|		SCTP_INP_READ_LOCK(stcb->sctp_ep);
  ------------------
  |  |  346|    781|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    781|	do {                         \
  |  |  |  |  113|    781|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 781]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    781|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5670|    781|		if (asoc->idata_supported) {
  ------------------
  |  Branch (5670:7): [True: 408, False: 373]
  ------------------
 5671|    408|			num_str = fwd_sz / sizeof(struct sctp_strseq_mid);
 5672|    408|		} else {
 5673|    373|			num_str = fwd_sz / sizeof(struct sctp_strseq);
 5674|    373|		}
 5675|  5.61k|		for (i = 0; i < num_str; i++) {
  ------------------
  |  Branch (5675:15): [True: 5.06k, False: 546]
  ------------------
 5676|  5.06k|			if (asoc->idata_supported) {
  ------------------
  |  Branch (5676:8): [True: 2.30k, False: 2.76k]
  ------------------
 5677|  2.30k|				stseq_m = (struct sctp_strseq_mid *)sctp_m_getptr(m, offset,
 5678|  2.30k|									    sizeof(struct sctp_strseq_mid),
 5679|  2.30k|									    (uint8_t *)&strseqbuf_m);
 5680|  2.30k|				offset += sizeof(struct sctp_strseq_mid);
 5681|  2.30k|				if (stseq_m == NULL) {
  ------------------
  |  Branch (5681:9): [True: 0, False: 2.30k]
  ------------------
 5682|      0|					break;
 5683|      0|				}
 5684|  2.30k|				sid = ntohs(stseq_m->sid);
 5685|  2.30k|				mid = ntohl(stseq_m->mid);
 5686|  2.30k|				flags = ntohs(stseq_m->flags);
 5687|  2.30k|				if (flags & PR_SCTP_UNORDERED_FLAG) {
  ------------------
  |  |  343|  2.30k|#define PR_SCTP_UNORDERED_FLAG 0x0001
  ------------------
  |  Branch (5687:9): [True: 822, False: 1.48k]
  ------------------
 5688|    822|					ordered = 0;
 5689|  1.48k|				} else {
 5690|  1.48k|					ordered = 1;
 5691|  1.48k|				}
 5692|  2.76k|			} else {
 5693|  2.76k|				stseq = (struct sctp_strseq *)sctp_m_getptr(m, offset,
 5694|  2.76k|									    sizeof(struct sctp_strseq),
 5695|  2.76k|									    (uint8_t *)&strseqbuf);
 5696|  2.76k|				offset += sizeof(struct sctp_strseq);
 5697|  2.76k|				if (stseq == NULL) {
  ------------------
  |  Branch (5697:9): [True: 0, False: 2.76k]
  ------------------
 5698|      0|					break;
 5699|      0|				}
 5700|  2.76k|				sid = ntohs(stseq->sid);
 5701|  2.76k|				mid = (uint32_t)ntohs(stseq->ssn);
 5702|  2.76k|				ordered = 1;
 5703|  2.76k|			}
 5704|       |			/* Convert */
 5705|       |
 5706|       |			/* now process */
 5707|       |
 5708|       |			/*
 5709|       |			 * Ok we now look for the stream/seq on the read queue
 5710|       |			 * where its not all delivered. If we find it we transmute the
 5711|       |			 * read entry into a PDI_ABORTED.
 5712|       |			 */
 5713|  5.06k|			if (sid >= asoc->streamincnt) {
  ------------------
  |  Branch (5713:8): [True: 235, False: 4.83k]
  ------------------
 5714|       |				/* screwed up streams, stop!  */
 5715|    235|				break;
 5716|    235|			}
 5717|  4.83k|			if ((asoc->str_of_pdapi == sid) &&
  ------------------
  |  Branch (5717:8): [True: 2.66k, False: 2.16k]
  ------------------
 5718|  4.83k|			    (asoc->ssn_of_pdapi == mid)) {
  ------------------
  |  Branch (5718:8): [True: 1.35k, False: 1.31k]
  ------------------
 5719|       |				/* If this is the one we were partially delivering
 5720|       |				 * now then we no longer are. Note this will change
 5721|       |				 * with the reassembly re-write.
 5722|       |				 */
 5723|  1.35k|				asoc->fragmented_delivery_inprogress = 0;
 5724|  1.35k|			}
 5725|  4.83k|			strm = &asoc->strmin[sid];
 5726|  4.83k|			if (ordered) {
  ------------------
  |  Branch (5726:8): [True: 4.02k, False: 806]
  ------------------
 5727|  4.02k|				TAILQ_FOREACH_SAFE(control, &strm->inqueue, next_instrm, ncontrol) {
  ------------------
  |  | 1123|  4.02k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  4.02k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 4.02k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  4.02k|              (var) = (tvar))
  ------------------
 5728|      0|					if (SCTP_MID_GE(asoc->idata_supported, mid, control->mid)) {
  ------------------
  |  |  892|      0|#define SCTP_MID_GE(i, a, b) (((i) == 1) ? SCTP_UINT32_GE(a, b) : SCTP_UINT16_GE((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  885|      0|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define SCTP_MID_GE(i, a, b) (((i) == 1) ? SCTP_UINT32_GE(a, b) : SCTP_UINT16_GE((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  882|      0|#define SCTP_UINT16_GE(a, b) (SCTP_UINT16_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  880|      0|#define SCTP_UINT16_GT(a, b) (((a < b) && ((uint16_t)(b - a) > (1U<<15))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (880:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (880:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  881|      0|                              ((a > b) && ((uint16_t)(a - b) < (1U<<15))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (881:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (881:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (882:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (892:30): [True: 0, False: 0]
  |  |  |  Branch (892:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5729|      0|						sctp_flush_reassm_for_str_seq(stcb, asoc, strm, control, ordered, new_cum_tsn);
 5730|      0|					}
 5731|      0|				}
 5732|  4.02k|			} else {
 5733|    806|				if (asoc->idata_supported) {
  ------------------
  |  Branch (5733:9): [True: 806, False: 0]
  ------------------
 5734|    806|					TAILQ_FOREACH_SAFE(control, &strm->uno_inqueue, next_instrm, ncontrol) {
  ------------------
  |  | 1123|    806|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|    806|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 806]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|    806|              (var) = (tvar))
  ------------------
 5735|      0|						if (SCTP_MID_GE(asoc->idata_supported, mid, control->mid)) {
  ------------------
  |  |  892|      0|#define SCTP_MID_GE(i, a, b) (((i) == 1) ? SCTP_UINT32_GE(a, b) : SCTP_UINT16_GE((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  885|      0|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define SCTP_MID_GE(i, a, b) (((i) == 1) ? SCTP_UINT32_GE(a, b) : SCTP_UINT16_GE((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  882|      0|#define SCTP_UINT16_GE(a, b) (SCTP_UINT16_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  880|      0|#define SCTP_UINT16_GT(a, b) (((a < b) && ((uint16_t)(b - a) > (1U<<15))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (880:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (880:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  881|      0|                              ((a > b) && ((uint16_t)(a - b) < (1U<<15))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (881:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (881:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (882:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (892:30): [True: 0, False: 0]
  |  |  |  Branch (892:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5736|      0|							sctp_flush_reassm_for_str_seq(stcb, asoc, strm, control, ordered, new_cum_tsn);
 5737|      0|						}
 5738|      0|					}
 5739|    806|				} else {
 5740|      0|					if (!TAILQ_EMPTY(&strm->uno_inqueue)) {
  ------------------
  |  Branch (5740:10): [True: 0, False: 0]
  ------------------
 5741|      0|						sctp_flush_reassm_for_str_seq(stcb, asoc, strm, TAILQ_FIRST(&strm->uno_inqueue), ordered, new_cum_tsn);
 5742|      0|					}
 5743|      0|				}
 5744|    806|			}
 5745|  12.5k|			TAILQ_FOREACH(control, &stcb->sctp_ep->read_queue, next) {
 5746|  12.5k|				if ((control->sinfo_stream == sid) &&
  ------------------
  |  Branch (5746:9): [True: 3.76k, False: 8.76k]
  ------------------
 5747|  12.5k|				    (SCTP_MID_EQ(asoc->idata_supported, control->mid, mid))) {
  ------------------
  |  |  893|  3.76k|#define SCTP_MID_EQ(i, a, b) (((i) == 1) ? a == b : (uint16_t)a == (uint16_t)b)
  |  |  ------------------
  |  |  |  Branch (893:31): [True: 1.75k, False: 2.00k]
  |  |  ------------------
  ------------------
  |  Branch (5747:9): [True: 865, False: 2.90k]
  ------------------
 5748|    865|					control->pdapi_aborted = 1;
 5749|    865|					control->end_added = 1;
 5750|    865|					if (control->on_strm_q == SCTP_ON_ORDERED) {
  ------------------
  |  |  553|    865|#define SCTP_ON_ORDERED 1
  ------------------
  |  Branch (5750:10): [True: 0, False: 865]
  ------------------
 5751|      0|						TAILQ_REMOVE(&strm->inqueue, control, next_instrm);
 5752|      0|						if (asoc->size_on_all_streams >= control->length) {
  ------------------
  |  Branch (5752:11): [True: 0, False: 0]
  ------------------
 5753|      0|							asoc->size_on_all_streams -= control->length;
 5754|      0|						} else {
 5755|      0|#ifdef INVARIANTS
 5756|      0|							panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5757|       |#else
 5758|       |							asoc->size_on_all_streams = 0;
 5759|       |#endif
 5760|      0|						}
 5761|      0|						sctp_ucount_decr(asoc->cnt_on_all_streams);
  ------------------
  |  |  270|      0|#define sctp_ucount_decr(val) { \
  |  |  271|      0|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|		val--; \
  |  |  273|      0|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|      0|}
  ------------------
 5762|    865|					} else if (control->on_strm_q == SCTP_ON_UNORDERED) {
  ------------------
  |  |  554|    865|#define SCTP_ON_UNORDERED 2
  ------------------
  |  Branch (5762:17): [True: 0, False: 865]
  ------------------
 5763|      0|						TAILQ_REMOVE(&strm->uno_inqueue, control, next_instrm);
 5764|      0|#ifdef INVARIANTS
 5765|    865|					} else if (control->on_strm_q) {
  ------------------
  |  Branch (5765:17): [True: 0, False: 865]
  ------------------
 5766|      0|						panic("strm: %p ctl: %p unknown %d",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5767|      0|						      strm, control, control->on_strm_q);
 5768|      0|#endif
 5769|      0|					}
 5770|    865|					control->on_strm_q = 0;
 5771|    865|					sctp_ulp_notify(SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION,
  ------------------
  |  |  717|    865|#define SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION 15
  ------------------
 5772|    865|					                stcb,
 5773|    865|					                SCTP_PARTIAL_DELIVERY_ABORTED,
  ------------------
  |  |  451|    865|#define SCTP_PARTIAL_DELIVERY_ABORTED	0x0001
  ------------------
 5774|    865|					                (void *)control,
 5775|    865|					                SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    865|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 5776|    865|					break;
 5777|  11.6k|				} else if ((control->sinfo_stream == sid) &&
  ------------------
  |  Branch (5777:16): [True: 2.90k, False: 8.76k]
  ------------------
 5778|  11.6k|					   SCTP_MID_GT(asoc->idata_supported, control->mid, mid)) {
  ------------------
  |  |  891|  2.90k|#define SCTP_MID_GT(i, a, b) (((i) == 1) ? SCTP_UINT32_GT(a, b) : SCTP_UINT16_GT((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  883|  1.38k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 1.38k, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 111, False: 1.27k]
  |  |  |  |  ------------------
  |  |  |  |  884|  1.38k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 1.27k]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define SCTP_MID_GT(i, a, b) (((i) == 1) ? SCTP_UINT32_GT(a, b) : SCTP_UINT16_GT((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  880|  1.51k|#define SCTP_UINT16_GT(a, b) (((a < b) && ((uint16_t)(b - a) > (1U<<15))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (880:32): [True: 1.51k, False: 0]
  |  |  |  |  |  Branch (880:43): [True: 125, False: 1.39k]
  |  |  |  |  ------------------
  |  |  |  |  881|  1.51k|                              ((a > b) && ((uint16_t)(a - b) < (1U<<15))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (881:32): [True: 0, False: 1.39k]
  |  |  |  |  |  Branch (881:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (891:30): [True: 236, False: 2.66k]
  |  |  |  Branch (891:31): [True: 1.38k, False: 1.51k]
  |  |  ------------------
  ------------------
 5779|       |					/* We are past our victim SSN */
 5780|    236|					break;
 5781|    236|				}
 5782|  12.5k|			}
 5783|  4.83k|			if (SCTP_MID_GT(asoc->idata_supported, mid, strm->last_mid_delivered)) {
  ------------------
  |  |  891|  4.83k|#define SCTP_MID_GT(i, a, b) (((i) == 1) ? SCTP_UINT32_GT(a, b) : SCTP_UINT16_GT((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  883|  2.23k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 1.39k, False: 846]
  |  |  |  |  |  Branch (883:43): [True: 406, False: 984]
  |  |  |  |  ------------------
  |  |  |  |  884|  2.23k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 470, False: 1.36k]
  |  |  |  |  |  Branch (884:43): [True: 225, False: 245]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define SCTP_MID_GT(i, a, b) (((i) == 1) ? SCTP_UINT32_GT(a, b) : SCTP_UINT16_GT((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  880|  2.59k|#define SCTP_UINT16_GT(a, b) (((a < b) && ((uint16_t)(b - a) > (1U<<15))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (880:32): [True: 1.41k, False: 1.18k]
  |  |  |  |  |  Branch (880:43): [True: 326, False: 1.08k]
  |  |  |  |  ------------------
  |  |  |  |  881|  2.59k|                              ((a > b) && ((uint16_t)(a - b) < (1U<<15))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (881:32): [True: 489, False: 1.78k]
  |  |  |  |  |  Branch (881:43): [True: 168, False: 321]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (891:30): [True: 1.12k, False: 3.70k]
  |  |  |  Branch (891:31): [True: 2.23k, False: 2.59k]
  |  |  ------------------
  ------------------
 5784|       |				/* Update the sequence number */
 5785|  1.12k|				strm->last_mid_delivered = mid;
 5786|  1.12k|			}
 5787|       |			/* now kick the stream the new way */
 5788|       |			/*sa_ignore NO_NULL_CHK*/
 5789|  4.83k|			sctp_kick_prsctp_reorder_queue(stcb, strm);
 5790|  4.83k|		}
 5791|    781|		SCTP_INP_READ_UNLOCK(stcb->sctp_ep);
  ------------------
  |  |  348|    781|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    781|	do {                         \
  |  |  |  |  113|    781|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 781]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    781|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5792|    781|	}
 5793|       |	/*
 5794|       |	 * Now slide thing forward.
 5795|       |	 */
 5796|  1.30k|	sctp_slide_mapping_arrays(stcb);
 5797|  1.30k|}
sctp_indata.c:sctp_process_a_data_chunk:
 1701|  13.8k|{
 1702|  13.8k|	struct sctp_tmit_chunk *chk = NULL; /* make gcc happy */
 1703|  13.8k|	struct sctp_stream_in *strm;
 1704|  13.8k|	uint32_t tsn, fsn, gap, mid;
 1705|  13.8k|	struct mbuf *dmbuf;
 1706|  13.8k|	int the_len;
 1707|  13.8k|	int need_reasm_check = 0;
 1708|  13.8k|	uint16_t sid;
 1709|  13.8k|	struct mbuf *op_err;
 1710|  13.8k|	char msg[SCTP_DIAG_INFO_LEN];
 1711|  13.8k|	struct sctp_queued_to_read *control, *ncontrol;
 1712|  13.8k|	uint32_t ppid;
 1713|  13.8k|	uint8_t chk_flags;
 1714|  13.8k|	struct sctp_stream_reset_list *liste;
 1715|  13.8k|	int ordered;
 1716|  13.8k|	size_t clen;
 1717|  13.8k|	int created_control = 0;
 1718|       |
 1719|  13.8k|	if (chk_type == SCTP_IDATA) {
  ------------------
  |  |  477|  13.8k|#define SCTP_IDATA		0x40
  ------------------
  |  Branch (1719:6): [True: 4.35k, False: 9.51k]
  ------------------
 1720|  4.35k|		struct sctp_idata_chunk *chunk, chunk_buf;
 1721|       |
 1722|  4.35k|		chunk = (struct sctp_idata_chunk *)sctp_m_getptr(*m, offset,
 1723|  4.35k|		                                                 sizeof(struct sctp_idata_chunk), (uint8_t *)&chunk_buf);
 1724|  4.35k|		chk_flags = chunk->ch.chunk_flags;
 1725|  4.35k|		clen = sizeof(struct sctp_idata_chunk);
 1726|  4.35k|		tsn = ntohl(chunk->dp.tsn);
 1727|  4.35k|		sid = ntohs(chunk->dp.sid);
 1728|  4.35k|		mid = ntohl(chunk->dp.mid);
 1729|  4.35k|		if (chk_flags & SCTP_DATA_FIRST_FRAG) {
  ------------------
  |  |  516|  4.35k|#define SCTP_DATA_FIRST_FRAG       0x02
  ------------------
  |  Branch (1729:7): [True: 2.99k, False: 1.36k]
  ------------------
 1730|  2.99k|			fsn = 0;
 1731|  2.99k|			ppid = chunk->dp.ppid_fsn.ppid;
 1732|  2.99k|		} else {
 1733|  1.36k|			fsn = ntohl(chunk->dp.ppid_fsn.fsn);
 1734|  1.36k|			ppid = 0xffffffff; /* Use as an invalid value. */
 1735|  1.36k|		}
 1736|  9.51k|	} else {
 1737|  9.51k|		struct sctp_data_chunk *chunk, chunk_buf;
 1738|       |
 1739|  9.51k|		chunk = (struct sctp_data_chunk *)sctp_m_getptr(*m, offset,
 1740|  9.51k|		                                                sizeof(struct sctp_data_chunk), (uint8_t *)&chunk_buf);
 1741|  9.51k|		chk_flags = chunk->ch.chunk_flags;
 1742|  9.51k|		clen = sizeof(struct sctp_data_chunk);
 1743|  9.51k|		tsn = ntohl(chunk->dp.tsn);
 1744|  9.51k|		sid = ntohs(chunk->dp.sid);
 1745|  9.51k|		mid = (uint32_t)(ntohs(chunk->dp.ssn));
 1746|  9.51k|		fsn = tsn;
 1747|  9.51k|		ppid = chunk->dp.ppid;
 1748|  9.51k|	}
 1749|  13.8k|	if ((size_t)chk_length == clen) {
  ------------------
  |  Branch (1749:6): [True: 8, False: 13.8k]
  ------------------
 1750|       |		/*
 1751|       |		 * Need to send an abort since we had a
 1752|       |		 * empty data chunk.
 1753|       |		 */
 1754|      8|		op_err = sctp_generate_no_user_data_cause(tsn);
 1755|      8|		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_16;
  ------------------
  |  |  757|      8|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_16;
  ------------------
  |  |  784|      8|#define SCTP_LOC_16 0x00000010
  ------------------
 1756|      8|		sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      8|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1757|      8|		*abort_flag = 1;
 1758|      8|		return (0);
 1759|      8|	}
 1760|  13.8k|	if ((chk_flags & SCTP_DATA_SACK_IMMEDIATELY) == SCTP_DATA_SACK_IMMEDIATELY) {
  ------------------
  |  |  519|  13.8k|#define SCTP_DATA_SACK_IMMEDIATELY 0x08
  ------------------
              	if ((chk_flags & SCTP_DATA_SACK_IMMEDIATELY) == SCTP_DATA_SACK_IMMEDIATELY) {
  ------------------
  |  |  519|  13.8k|#define SCTP_DATA_SACK_IMMEDIATELY 0x08
  ------------------
  |  Branch (1760:6): [True: 4.42k, False: 9.43k]
  ------------------
 1761|  4.42k|		asoc->send_sack = 1;
 1762|  4.42k|	}
 1763|  13.8k|	ordered = ((chk_flags & SCTP_DATA_UNORDERED) == 0);
  ------------------
  |  |  518|  13.8k|#define SCTP_DATA_UNORDERED        0x04
  ------------------
 1764|  13.8k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  584|  13.8k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  652|  13.8k|#define SCTP_MAP_LOGGING_ENABLE				0x00000100
  ------------------
  |  Branch (1764:6): [True: 0, False: 13.8k]
  ------------------
 1765|      0|		sctp_log_map(tsn, asoc->cumulative_tsn, asoc->highest_tsn_inside_map, SCTP_MAP_TSN_ENTERS);
  ------------------
  |  |  223|      0|#define SCTP_MAP_TSN_ENTERS        119
  ------------------
 1766|      0|	}
 1767|  13.8k|	if (stcb == NULL) {
  ------------------
  |  Branch (1767:6): [True: 0, False: 13.8k]
  ------------------
 1768|      0|		return (0);
 1769|      0|	}
 1770|  13.8k|	SCTP_LTRACE_CHK(stcb->sctp_ep, stcb, chk_type, tsn);
 1771|  13.8k|	if (SCTP_TSN_GE(asoc->cumulative_tsn, tsn)) {
  ------------------
  |  |  890|  13.8k|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|  13.8k|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|  27.7k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 9.64k, False: 4.21k]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 9.64k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|  27.7k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 3.52k, False: 10.3k]
  |  |  |  |  |  |  |  Branch (884:43): [True: 1.71k, False: 1.80k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 695, False: 11.4k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1772|       |		/* It is a duplicate */
 1773|  2.41k|		SCTP_STAT_INCR(sctps_recvdupdata);
  ------------------
  |  | 1112|  2.41k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  2.41k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  2.41k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1774|  2.41k|		if (asoc->numduptsns < SCTP_MAX_DUP_TSNS) {
  ------------------
  |  |  561|  2.41k|#define SCTP_MAX_DUP_TSNS	20
  ------------------
  |  Branch (1774:7): [True: 1.81k, False: 600]
  ------------------
 1775|       |			/* Record a dup for the next outbound sack */
 1776|  1.81k|			asoc->dup_tsns[asoc->numduptsns] = tsn;
 1777|  1.81k|			asoc->numduptsns++;
 1778|  1.81k|		}
 1779|  2.41k|		asoc->send_sack = 1;
 1780|  2.41k|		return (0);
 1781|  2.41k|	}
 1782|       |	/* Calculate the number of TSN's between the base and this TSN */
 1783|  11.4k|	SCTP_CALC_TSN_TO_GAP(gap, tsn, asoc->mapping_array_base_tsn);
  ------------------
  |  |  899|  11.4k|#define SCTP_CALC_TSN_TO_GAP(gap, tsn, mapping_tsn) do { \
  |  |  900|  11.4k|	                if (tsn >= mapping_tsn) { \
  |  |  ------------------
  |  |  |  Branch (900:22): [True: 9.64k, False: 1.80k]
  |  |  ------------------
  |  |  901|  9.64k|						gap = tsn - mapping_tsn; \
  |  |  902|  9.64k|					} else { \
  |  |  903|  1.80k|						gap = (MAX_TSN - mapping_tsn) + tsn + 1; \
  |  |  ------------------
  |  |  |  |  310|  1.80k|#define MAX_TSN	0xffffffff
  |  |  ------------------
  |  |  904|  1.80k|					} \
  |  |  905|  11.4k|                  } while (0)
  |  |  ------------------
  |  |  |  Branch (905:28): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1784|  11.4k|	if (gap >= (SCTP_MAPPING_ARRAY << 3)) {
  ------------------
  |  |  506|  11.4k|#define SCTP_MAPPING_ARRAY	512
  ------------------
  |  Branch (1784:6): [True: 2.03k, False: 9.42k]
  ------------------
 1785|       |		/* Can't hold the bit in the mapping at max array, toss it */
 1786|  2.03k|		return (0);
 1787|  2.03k|	}
 1788|  9.42k|	if (gap >= (uint32_t) (asoc->mapping_array_size << 3)) {
  ------------------
  |  Branch (1788:6): [True: 2.46k, False: 6.95k]
  ------------------
 1789|  2.46k|		SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  2.46k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  2.46k|	do {                         \
  |  |  |  |  113|  2.46k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.46k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  2.46k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1790|  2.46k|		if (sctp_expand_mapping_array(asoc, gap)) {
  ------------------
  |  Branch (1790:7): [True: 0, False: 2.46k]
  ------------------
 1791|       |			/* Can't expand, drop it */
 1792|      0|			return (0);
 1793|      0|		}
 1794|  2.46k|	}
 1795|  9.42k|	if (SCTP_TSN_GT(tsn, *high_tsn)) {
  ------------------
  |  |  889|  9.42k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  9.42k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 4.39k, False: 5.02k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 4.39k]
  |  |  |  |  ------------------
  |  |  |  |  884|  9.42k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 3.77k, False: 5.64k]
  |  |  |  |  |  Branch (884:43): [True: 3.77k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1796|  3.77k|		*high_tsn = tsn;
 1797|  3.77k|	}
 1798|       |	/* See if we have received this one already */
 1799|  9.42k|	if (SCTP_IS_TSN_PRESENT(asoc->mapping_array, gap) ||
  ------------------
  |  |  896|  18.8k|#define SCTP_IS_TSN_PRESENT(arry, gap) ((arry[(gap >> 3)] >> (gap & 0x07)) & 0x01)
  |  |  ------------------
  |  |  |  Branch (896:40): [True: 924, False: 8.49k]
  |  |  ------------------
  ------------------
 1800|  9.42k|	    SCTP_IS_TSN_PRESENT(asoc->nr_mapping_array, gap)) {
  ------------------
  |  |  896|  8.49k|#define SCTP_IS_TSN_PRESENT(arry, gap) ((arry[(gap >> 3)] >> (gap & 0x07)) & 0x01)
  |  |  ------------------
  |  |  |  Branch (896:40): [True: 833, False: 7.66k]
  |  |  ------------------
  ------------------
 1801|  1.75k|		SCTP_STAT_INCR(sctps_recvdupdata);
  ------------------
  |  | 1112|  1.75k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  1.75k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  1.75k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1802|  1.75k|		if (asoc->numduptsns < SCTP_MAX_DUP_TSNS) {
  ------------------
  |  |  561|  1.75k|#define SCTP_MAX_DUP_TSNS	20
  ------------------
  |  Branch (1802:7): [True: 726, False: 1.03k]
  ------------------
 1803|       |			/* Record a dup for the next outbound sack */
 1804|    726|			asoc->dup_tsns[asoc->numduptsns] = tsn;
 1805|    726|			asoc->numduptsns++;
 1806|    726|		}
 1807|  1.75k|		asoc->send_sack = 1;
 1808|  1.75k|		return (0);
 1809|  1.75k|	}
 1810|       |	/*
 1811|       |	 * Check to see about the GONE flag, duplicates would cause a sack
 1812|       |	 * to be sent up above
 1813|       |	 */
 1814|  7.66k|	if (((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) ||
  ------------------
  |  |  549|  7.66k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (1814:7): [True: 0, False: 7.66k]
  ------------------
 1815|  7.66k|	     (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) ||
  ------------------
  |  |  550|  7.66k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (1815:7): [True: 0, False: 7.66k]
  ------------------
 1816|  7.66k|	     (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET))) {
  ------------------
  |  |  464|  7.66k|#define SCTP_STATE_CLOSED_SOCKET	0x0100
  ------------------
  |  Branch (1816:7): [True: 0, False: 7.66k]
  ------------------
 1817|       |		/*
 1818|       |		 * wait a minute, this guy is gone, there is no longer a
 1819|       |		 * receiver. Send peer an ABORT!
 1820|       |		 */
 1821|      0|		op_err = sctp_generate_cause(SCTP_CAUSE_OUT_OF_RESC, "");
  ------------------
  |  |  372|      0|#define SCTP_CAUSE_OUT_OF_RESC		0x0004
  ------------------
 1822|      0|		sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1823|      0|		*abort_flag = 1;
 1824|      0|		return (0);
 1825|      0|	}
 1826|       |	/*
 1827|       |	 * Now before going further we see if there is room. If NOT then we
 1828|       |	 * MAY let one through only IF this TSN is the one we are waiting
 1829|       |	 * for on a partial delivery API.
 1830|       |	 */
 1831|       |
 1832|       |	/* Is the stream valid? */
 1833|  7.66k|	if (sid >= asoc->streamincnt) {
  ------------------
  |  Branch (1833:6): [True: 373, False: 7.29k]
  ------------------
 1834|    373|		struct sctp_error_invalid_stream *cause;
 1835|       |
 1836|    373|		op_err = sctp_get_mbuf_for_msg(sizeof(struct sctp_error_invalid_stream),
 1837|    373|		                               0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|    373|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		                               0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|    373|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 1838|    373|		if (op_err != NULL) {
  ------------------
  |  Branch (1838:7): [True: 373, False: 0]
  ------------------
 1839|       |			/* add some space up front so prepend will work well */
 1840|    373|			SCTP_BUF_RESV_UF(op_err, sizeof(struct sctp_chunkhdr));
  ------------------
  |  |  798|    373|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|    373|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 1841|    373|			cause = mtod(op_err, struct sctp_error_invalid_stream *);
  ------------------
  |  |   96|    373|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    373|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 1842|       |			/*
 1843|       |			 * Error causes are just param's and this one has
 1844|       |			 * two back to back phdr, one with the error type
 1845|       |			 * and size, the other with the streamid and a rsvd
 1846|       |			 */
 1847|    373|			SCTP_BUF_LEN(op_err) = sizeof(struct sctp_error_invalid_stream);
  ------------------
  |  |  795|    373|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    373|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 1848|    373|			cause->cause.code = htons(SCTP_CAUSE_INVALID_STREAM);
 1849|    373|			cause->cause.length = htons(sizeof(struct sctp_error_invalid_stream));
 1850|    373|			cause->stream_id = htons(sid);
 1851|    373|			cause->reserved = htons(0);
 1852|    373|			sctp_queue_op_err(stcb, op_err);
 1853|    373|		}
 1854|    373|		SCTP_STAT_INCR(sctps_badsid);
  ------------------
  |  | 1112|    373|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    373|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    373|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1855|    373|		SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|    373|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    373|	do {                         \
  |  |  |  |  113|    373|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 373]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    373|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1856|    373|		SCTP_SET_TSN_PRESENT(asoc->nr_mapping_array, gap);
  ------------------
  |  |  897|    373|#define SCTP_SET_TSN_PRESENT(arry, gap) (arry[(gap >> 3)] |= (0x01 << ((gap & 0x07))))
  ------------------
 1857|    373|		if (SCTP_TSN_GT(tsn, asoc->highest_tsn_inside_nr_map)) {
  ------------------
  |  |  889|    373|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    373|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 68, False: 305]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 68]
  |  |  |  |  ------------------
  |  |  |  |  884|    373|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 305, False: 68]
  |  |  |  |  |  Branch (884:43): [True: 305, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1858|    305|			asoc->highest_tsn_inside_nr_map = tsn;
 1859|    305|		}
 1860|    373|		if (tsn == (asoc->cumulative_tsn + 1)) {
  ------------------
  |  Branch (1860:7): [True: 43, False: 330]
  ------------------
 1861|       |			/* Update cum-ack */
 1862|     43|			asoc->cumulative_tsn = tsn;
 1863|     43|		}
 1864|    373|		return (0);
 1865|    373|	}
 1866|       |	/*
 1867|       |	 * If its a fragmented message, lets see if we can
 1868|       |	 * find the control on the reassembly queues.
 1869|       |	 */
 1870|  7.29k|	if ((chk_type == SCTP_IDATA) &&
  ------------------
  |  |  477|  7.29k|#define SCTP_IDATA		0x40
  ------------------
  |  Branch (1870:6): [True: 2.44k, False: 4.84k]
  ------------------
 1871|  7.29k|	    ((chk_flags & SCTP_DATA_FIRST_FRAG) == 0) &&
  ------------------
  |  |  516|  2.44k|#define SCTP_DATA_FIRST_FRAG       0x02
  ------------------
  |  Branch (1871:6): [True: 1.13k, False: 1.31k]
  ------------------
 1872|  7.29k|	    (fsn == 0)) {
  ------------------
  |  Branch (1872:6): [True: 1, False: 1.13k]
  ------------------
 1873|       |		/*
 1874|       |		 *  The first *must* be fsn 0, and other
 1875|       |		 *  (middle/end) pieces can *not* be fsn 0.
 1876|       |		 * XXX: This can happen in case of a wrap around.
 1877|       |		 *      Ignore is for now.
 1878|       |		 */
 1879|      1|		SCTP_SNPRINTF(msg, sizeof(msg), "FSN zero for MID=%8.8x, but flags=%2.2x", mid, chk_flags);
  ------------------
  |  |  814|      1|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 1]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 1880|      1|		goto err_out;
 1881|      1|	}
 1882|  7.29k|	control = sctp_find_reasm_entry(&asoc->strmin[sid], mid, ordered, asoc->idata_supported);
 1883|  7.29k|	SCTPDBG(SCTP_DEBUG_XXX, "chunk_flags:0x%x look for control on queues %p\n",
 1884|  7.29k|		chk_flags, control);
 1885|  7.29k|	if ((chk_flags & SCTP_DATA_NOT_FRAG) != SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|  7.29k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
              	if ((chk_flags & SCTP_DATA_NOT_FRAG) != SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|  7.29k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
  |  Branch (1885:6): [True: 5.53k, False: 1.75k]
  ------------------
 1886|       |		/* See if we can find the re-assembly entity */
 1887|  5.53k|		if (control != NULL) {
  ------------------
  |  Branch (1887:7): [True: 2.24k, False: 3.29k]
  ------------------
 1888|       |			/* We found something, does it belong? */
 1889|  2.24k|			if (ordered && (mid != control->mid)) {
  ------------------
  |  Branch (1889:8): [True: 574, False: 1.66k]
  |  Branch (1889:19): [True: 0, False: 574]
  ------------------
 1890|      0|				SCTP_SNPRINTF(msg, sizeof(msg), "Reassembly problem (MID=%8.8x)", mid);
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 1891|      5|			err_out:
 1892|      5|				op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|      5|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 1893|      5|				stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_17;
  ------------------
  |  |  757|      5|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              				stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_17;
  ------------------
  |  |  785|      5|#define SCTP_LOC_17 0x00000011
  ------------------
 1894|      5|				sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      5|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1895|      5|				*abort_flag = 1;
 1896|      5|				return (0);
 1897|      0|			}
 1898|  2.24k|			if (ordered && ((control->sinfo_flags >> 8) & SCTP_DATA_UNORDERED)) {
  ------------------
  |  |  518|    574|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (1898:8): [True: 574, False: 1.66k]
  |  Branch (1898:19): [True: 0, False: 574]
  ------------------
 1899|       |				/* We can't have a switched order with an unordered chunk */
 1900|      0|				SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 1901|      0|				              "All fragments of a user message must be ordered or unordered (TSN=%8.8x)",
 1902|      0|				              tsn);
 1903|      0|				goto err_out;
 1904|      0|			}
 1905|  2.24k|			if (!ordered && (((control->sinfo_flags >> 8) & SCTP_DATA_UNORDERED) == 0)) {
  ------------------
  |  |  518|  1.66k|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (1905:8): [True: 1.66k, False: 574]
  |  Branch (1905:20): [True: 0, False: 1.66k]
  ------------------
 1906|       |				/* We can't have a switched unordered with a ordered chunk */
 1907|      0|				SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 1908|      0|				             "All fragments of a user message must be ordered or unordered (TSN=%8.8x)",
 1909|      0|				             tsn);
 1910|      0|				goto err_out;
 1911|      0|			}
 1912|  2.24k|		}
 1913|  5.53k|	} else {
 1914|       |		/* Its a complete segment. Lets validate we
 1915|       |		 * don't have a re-assembly going on with
 1916|       |		 * the same Stream/Seq (for ordered) or in
 1917|       |		 * the same Stream for unordered.
 1918|       |		 */
 1919|  1.75k|		if (control != NULL) {
  ------------------
  |  Branch (1919:7): [True: 65, False: 1.68k]
  ------------------
 1920|     65|			if (ordered || asoc->idata_supported) {
  ------------------
  |  Branch (1920:8): [True: 2, False: 63]
  |  Branch (1920:19): [True: 1, False: 62]
  ------------------
 1921|      3|				SCTPDBG(SCTP_DEBUG_XXX, "chunk_flags: 0x%x dup detected on MID: %u\n",
 1922|      3|					chk_flags, mid);
 1923|      3|				SCTP_SNPRINTF(msg, sizeof(msg), "Duplicate MID=%8.8x detected.", mid);
  ------------------
  |  |  814|      3|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 3]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 1924|      3|				goto err_out;
 1925|     62|			} else {
 1926|     62|				if ((tsn == control->fsn_included + 1) &&
  ------------------
  |  Branch (1926:9): [True: 4, False: 58]
  ------------------
 1927|     62|				    (control->end_added == 0)) {
  ------------------
  |  Branch (1927:9): [True: 1, False: 3]
  ------------------
 1928|      1|					SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|      1|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 1]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 1929|      1|					              "Illegal message sequence, missing end for MID: %8.8x",
 1930|      1|					              control->fsn_included);
 1931|      1|					goto err_out;
 1932|     61|				} else {
 1933|     61|					control = NULL;
 1934|     61|				}
 1935|     62|			}
 1936|     65|		}
 1937|  1.75k|	}
 1938|       |	/* now do the tests */
 1939|  7.28k|	if (((asoc->cnt_on_all_streams +
  ------------------
  |  Branch (1939:6): [True: 0, False: 7.28k]
  ------------------
 1940|  7.28k|	      asoc->cnt_on_reasm_queue +
 1941|  7.28k|	      asoc->cnt_msg_on_sb) >= SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue)) ||
  ------------------
  |  |  584|  7.28k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 1942|  7.28k|	    (((int)asoc->my_rwnd) <= 0)) {
  ------------------
  |  Branch (1942:6): [True: 106, False: 7.18k]
  ------------------
 1943|       |		/*
 1944|       |		 * When we have NO room in the rwnd we check to make sure
 1945|       |		 * the reader is doing its job...
 1946|       |		 */
 1947|    106|		if (SCTP_SBAVAIL(&stcb->sctp_socket->so_rcv) > 0) {
  ------------------
  |  |  962|    106|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
  |  Branch (1947:7): [True: 106, False: 0]
  ------------------
 1948|       |			/* some to read, wake-up */
 1949|       |#if defined(__APPLE__) && !defined(__Userspace__)
 1950|       |			struct socket *so;
 1951|       |
 1952|       |			so = SCTP_INP_SO(stcb->sctp_ep);
 1953|       |			atomic_add_int(&stcb->asoc.refcnt, 1);
 1954|       |			SCTP_TCB_UNLOCK(stcb);
 1955|       |			SCTP_SOCKET_LOCK(so, 1);
 1956|       |			SCTP_TCB_LOCK(stcb);
 1957|       |			atomic_subtract_int(&stcb->asoc.refcnt, 1);
 1958|       |			if (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET) {
 1959|       |				/* assoc was freed while we were unlocked */
 1960|       |				SCTP_SOCKET_UNLOCK(so, 1);
 1961|       |				return (0);
 1962|       |			}
 1963|       |#endif
 1964|    106|			sctp_sorwakeup(stcb->sctp_ep, stcb->sctp_socket);
  ------------------
  |  | 1032|    106|#define sctp_sorwakeup(inp, so) \
  |  | 1033|    106|do { \
  |  | 1034|    106|	if (inp->sctp_flags & SCTP_PCB_FLAGS_DONT_WAKE) { \
  |  |  ------------------
  |  |  |  |  544|    212|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  |  |  ------------------
  |  |  |  Branch (1034:6): [True: 0, False: 106]
  |  |  ------------------
  |  | 1035|      0|		sctp_pcb_add_flags(inp, SCTP_PCB_FLAGS_WAKEINPUT); \
  |  |  ------------------
  |  |  |  |  546|      0|#define SCTP_PCB_FLAGS_WAKEINPUT	0x02000000
  |  |  ------------------
  |  | 1036|    106|	} else { \
  |  | 1037|    106|		sorwakeup(so); \
  |  |  ------------------
  |  |  |  |  519|    106|#define	sorwakeup(so) do {						\
  |  |  |  |  520|    106|	SOCKBUF_LOCK(&(so)->so_rcv);					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  517|    106|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|    106|	do {                         \
  |  |  |  |  |  |  |  |  113|    106|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 106]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|    106|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  521|    106|	sorwakeup_locked(so);						\
  |  |  |  |  ------------------
  |  |  |  |  |  |  511|    106|#define	sorwakeup_locked(so) do {					\
  |  |  |  |  |  |  512|    106|	SOCKBUF_LOCK_ASSERT(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  514|    106|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|    106|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|    106|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 106]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|    106|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  513|    106|	if (sb_notify(&(so)->so_rcv))					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  499|    106|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  203|    106|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  204|    106|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  205|    106|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (499:23): [True: 106, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  500|    106|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  206|    106|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  208|    106|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  209|    106|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  514|    106|		sowakeup((so), &(so)->so_rcv);	 			\
  |  |  |  |  |  |  515|    106|	else								\
  |  |  |  |  |  |  516|    106|		SOCKBUF_UNLOCK(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  517|    106|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (517:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  522|    106|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (522:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1038|    106|	} \
  |  | 1039|    106|} while (0)
  |  |  ------------------
  |  |  |  Branch (1039:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1965|       |#if defined(__APPLE__) && !defined(__Userspace__)
 1966|       |			SCTP_SOCKET_UNLOCK(so, 1);
 1967|       |#endif
 1968|    106|		}
 1969|       |		/* now is it in the mapping array of what we have accepted? */
 1970|    106|		if (chk_type == SCTP_DATA) {
  ------------------
  |  |  457|    106|#define SCTP_DATA		0x00
  ------------------
  |  Branch (1970:7): [True: 101, False: 5]
  ------------------
 1971|    101|			if (SCTP_TSN_GT(tsn, asoc->highest_tsn_inside_map) &&
  ------------------
  |  |  889|    101|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    202|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 36, False: 65]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 36]
  |  |  |  |  ------------------
  |  |  |  |  884|    202|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 65, False: 36]
  |  |  |  |  |  Branch (884:43): [True: 65, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1972|    101|			    SCTP_TSN_GT(tsn, asoc->highest_tsn_inside_nr_map)) {
  ------------------
  |  |  889|     65|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|     65|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 44, False: 21]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 44]
  |  |  |  |  ------------------
  |  |  |  |  884|     65|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 21, False: 44]
  |  |  |  |  |  Branch (884:43): [True: 21, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1973|       |				/* Nope not in the valid range dump it */
 1974|     26|			dump_packet:
 1975|     26|				sctp_set_rwnd(stcb, asoc);
 1976|     26|				if ((asoc->cnt_on_all_streams +
  ------------------
  |  Branch (1976:9): [True: 0, False: 26]
  ------------------
 1977|     26|				     asoc->cnt_on_reasm_queue +
 1978|     26|				     asoc->cnt_msg_on_sb) >= SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue)) {
  ------------------
  |  |  584|     26|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 1979|      0|					SCTP_STAT_INCR(sctps_datadropchklmt);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1980|     26|				} else {
 1981|     26|					SCTP_STAT_INCR(sctps_datadroprwnd);
  ------------------
  |  | 1112|     26|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|     26|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|     26|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1982|     26|				}
 1983|     26|				*break_flag = 1;
 1984|     26|				return (0);
 1985|     21|			}
 1986|    101|		} else {
 1987|      5|			if (control == NULL) {
  ------------------
  |  Branch (1987:8): [True: 5, False: 0]
  ------------------
 1988|      5|				goto dump_packet;
 1989|      5|			}
 1990|      0|			if (SCTP_TSN_GT(fsn, control->top_fsn)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1991|      0|				goto dump_packet;
 1992|      0|			}
 1993|      0|		}
 1994|    106|	}
 1995|       |#ifdef SCTP_ASOCLOG_OF_TSNS
 1996|       |	SCTP_TCB_LOCK_ASSERT(stcb);
 1997|       |	if (asoc->tsn_in_at >= SCTP_TSN_LOG_SIZE) {
 1998|       |		asoc->tsn_in_at = 0;
 1999|       |		asoc->tsn_in_wrapped = 1;
 2000|       |	}
 2001|       |	asoc->in_tsnlog[asoc->tsn_in_at].tsn = tsn;
 2002|       |	asoc->in_tsnlog[asoc->tsn_in_at].strm = sid;
 2003|       |	asoc->in_tsnlog[asoc->tsn_in_at].seq = mid;
 2004|       |	asoc->in_tsnlog[asoc->tsn_in_at].sz = chk_length;
 2005|       |	asoc->in_tsnlog[asoc->tsn_in_at].flgs = chunk_flags;
 2006|       |	asoc->in_tsnlog[asoc->tsn_in_at].stcb = (void *)stcb;
 2007|       |	asoc->in_tsnlog[asoc->tsn_in_at].in_pos = asoc->tsn_in_at;
 2008|       |	asoc->in_tsnlog[asoc->tsn_in_at].in_out = 1;
 2009|       |	asoc->tsn_in_at++;
 2010|       |#endif
 2011|       |	/*
 2012|       |	 * Before we continue lets validate that we are not being fooled by
 2013|       |	 * an evil attacker. We can only have Nk chunks based on our TSN
 2014|       |	 * spread allowed by the mapping array N * 8 bits, so there is no
 2015|       |	 * way our stream sequence numbers could have wrapped. We of course
 2016|       |	 * only validate the FIRST fragment so the bit must be set.
 2017|       |	 */
 2018|  7.26k|	if ((chk_flags & SCTP_DATA_FIRST_FRAG) &&
  ------------------
  |  |  516|  7.26k|#define SCTP_DATA_FIRST_FRAG       0x02
  ------------------
  |  Branch (2018:6): [True: 4.19k, False: 3.06k]
  ------------------
 2019|  7.26k|	    (TAILQ_EMPTY(&asoc->resetHead)) &&
  ------------------
  |  Branch (2019:6): [True: 3.26k, False: 934]
  ------------------
 2020|  7.26k|	    (chk_flags & SCTP_DATA_UNORDERED) == 0 &&
  ------------------
  |  |  518|  3.26k|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (2020:6): [True: 1.12k, False: 2.14k]
  ------------------
 2021|  7.26k|	    SCTP_MID_GE(asoc->idata_supported, asoc->strmin[sid].last_mid_delivered, mid)) {
  ------------------
  |  |  892|  1.12k|#define SCTP_MID_GE(i, a, b) (((i) == 1) ? SCTP_UINT32_GE(a, b) : SCTP_UINT16_GE((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  885|    587|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|  1.17k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 72, False: 515]
  |  |  |  |  |  |  |  Branch (883:43): [True: 3, False: 69]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|  1.17k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 514, False: 70]
  |  |  |  |  |  |  |  Branch (884:43): [True: 35, False: 479]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 1, False: 548]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define SCTP_MID_GE(i, a, b) (((i) == 1) ? SCTP_UINT32_GE(a, b) : SCTP_UINT16_GE((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  882|    535|#define SCTP_UINT16_GE(a, b) (SCTP_UINT16_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  880|  1.07k|#define SCTP_UINT16_GT(a, b) (((a < b) && ((uint16_t)(b - a) > (1U<<15))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (880:32): [True: 48, False: 487]
  |  |  |  |  |  |  |  Branch (880:43): [True: 1, False: 47]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  881|  1.07k|                              ((a > b) && ((uint16_t)(a - b) < (1U<<15))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (881:32): [True: 485, False: 49]
  |  |  |  |  |  |  |  Branch (881:43): [True: 17, False: 468]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (882:55): [True: 2, False: 515]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (892:30): [True: 59, False: 1.06k]
  |  |  |  Branch (892:31): [True: 587, False: 535]
  |  |  ------------------
  ------------------
 2022|       |		/* The incoming sseq is behind where we last delivered? */
 2023|     59|		SCTPDBG(SCTP_DEBUG_INDATA1, "EVIL/Broken-Dup S-SEQ: %u delivered: %u from peer, Abort!\n",
 2024|     59|			mid, asoc->strmin[sid].last_mid_delivered);
 2025|       |
 2026|     59|		if (asoc->idata_supported) {
  ------------------
  |  Branch (2026:7): [True: 39, False: 20]
  ------------------
 2027|     39|			SCTP_SNPRINTF(msg, sizeof(msg), "Delivered MID=%8.8x, got TSN=%8.8x, SID=%4.4x, MID=%8.8x",
  ------------------
  |  |  814|     39|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 39]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 2028|     39|			              asoc->strmin[sid].last_mid_delivered,
 2029|     39|			              tsn,
 2030|     39|			              sid,
 2031|     39|			              mid);
 2032|     39|		} else {
 2033|     20|			SCTP_SNPRINTF(msg, sizeof(msg), "Delivered SSN=%4.4x, got TSN=%8.8x, SID=%4.4x, SSN=%4.4x",
  ------------------
  |  |  814|     20|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 20]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 2034|     20|			              (uint16_t)asoc->strmin[sid].last_mid_delivered,
 2035|     20|			              tsn,
 2036|     20|			              sid,
 2037|     20|			              (uint16_t)mid);
 2038|     20|		}
 2039|     59|		op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|     59|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 2040|     59|		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_18;
  ------------------
  |  |  757|     59|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_18;
  ------------------
  |  |  786|     59|#define SCTP_LOC_18 0x00000012
  ------------------
 2041|     59|		sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     59|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2042|     59|		*abort_flag = 1;
 2043|     59|		return (0);
 2044|     59|	}
 2045|  7.20k|	if (chk_type == SCTP_IDATA) {
  ------------------
  |  |  477|  7.20k|#define SCTP_IDATA		0x40
  ------------------
  |  Branch (2045:6): [True: 2.39k, False: 4.80k]
  ------------------
 2046|  2.39k|		the_len = (chk_length - sizeof(struct sctp_idata_chunk));
 2047|  4.80k|	} else {
 2048|  4.80k|		the_len = (chk_length - sizeof(struct sctp_data_chunk));
 2049|  4.80k|	}
 2050|  7.20k|	if (last_chunk == 0) {
  ------------------
  |  Branch (2050:6): [True: 7.06k, False: 134]
  ------------------
 2051|  7.06k|		if (chk_type == SCTP_IDATA) {
  ------------------
  |  |  477|  7.06k|#define SCTP_IDATA		0x40
  ------------------
  |  Branch (2051:7): [True: 2.36k, False: 4.70k]
  ------------------
 2052|  2.36k|			dmbuf = SCTP_M_COPYM(*m,
  ------------------
  |  |  764|  2.36k|#define SCTP_M_COPYM	m_copym
  ------------------
 2053|  2.36k|					     (offset + sizeof(struct sctp_idata_chunk)),
 2054|  2.36k|					     the_len, M_NOWAIT);
  ------------------
  |  |   60|  2.36k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 2055|  4.70k|		} else {
 2056|  4.70k|			dmbuf = SCTP_M_COPYM(*m,
  ------------------
  |  |  764|  4.70k|#define SCTP_M_COPYM	m_copym
  ------------------
 2057|  4.70k|					     (offset + sizeof(struct sctp_data_chunk)),
 2058|  4.70k|					     the_len, M_NOWAIT);
  ------------------
  |  |   60|  4.70k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 2059|  4.70k|		}
 2060|       |#ifdef SCTP_MBUF_LOGGING
 2061|       |		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MBUF_LOGGING_ENABLE) {
 2062|       |			sctp_log_mbc(dmbuf, SCTP_MBUF_ICOPY);
 2063|       |		}
 2064|       |#endif
 2065|  7.06k|	} else {
 2066|       |		/* We can steal the last chunk */
 2067|    134|		int l_len;
 2068|    134|		dmbuf = *m;
 2069|       |		/* lop off the top part */
 2070|    134|		if (chk_type == SCTP_IDATA) {
  ------------------
  |  |  477|    134|#define SCTP_IDATA		0x40
  ------------------
  |  Branch (2070:7): [True: 32, False: 102]
  ------------------
 2071|     32|			m_adj(dmbuf, (offset + sizeof(struct sctp_idata_chunk)));
 2072|    102|		} else {
 2073|    102|			m_adj(dmbuf, (offset + sizeof(struct sctp_data_chunk)));
 2074|    102|		}
 2075|    134|		if (SCTP_BUF_NEXT(dmbuf) == NULL) {
  ------------------
  |  |  796|    134|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    134|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (2075:7): [True: 35, False: 99]
  ------------------
 2076|     35|			l_len = SCTP_BUF_LEN(dmbuf);
  ------------------
  |  |  795|     35|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     35|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 2077|     99|		} else {
 2078|       |			/* need to count up the size hopefully
 2079|       |			 * does not hit this to often :-0
 2080|       |			 */
 2081|     99|			struct mbuf *lat;
 2082|       |
 2083|     99|			l_len = 0;
 2084|  1.04k|			for (lat = dmbuf; lat; lat = SCTP_BUF_NEXT(lat)) {
  ------------------
  |  |  796|    945|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    945|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (2084:22): [True: 945, False: 99]
  ------------------
 2085|    945|				l_len += SCTP_BUF_LEN(lat);
  ------------------
  |  |  795|    945|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    945|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 2086|    945|			}
 2087|     99|		}
 2088|    134|		if (l_len > the_len) {
  ------------------
  |  Branch (2088:7): [True: 111, False: 23]
  ------------------
 2089|       |			/* Trim the end round bytes off  too */
 2090|    111|			m_adj(dmbuf, -(l_len - the_len));
 2091|    111|		}
 2092|    134|	}
 2093|  7.20k|	if (dmbuf == NULL) {
  ------------------
  |  Branch (2093:6): [True: 0, False: 7.20k]
  ------------------
 2094|      0|		SCTP_STAT_INCR(sctps_nomem);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2095|      0|		return (0);
 2096|      0|	}
 2097|       |	/*
 2098|       |	 * Now no matter what, we need a control, get one
 2099|       |	 * if we don't have one (we may have gotten it
 2100|       |	 * above when we found the message was fragmented
 2101|       |	 */
 2102|  7.20k|	if (control == NULL) {
  ------------------
  |  Branch (2102:6): [True: 4.96k, False: 2.24k]
  ------------------
 2103|  4.96k|		sctp_alloc_a_readq(stcb, control);
  ------------------
  |  |  118|  4.96k|#define sctp_alloc_a_readq(_stcb, _readq) { \
  |  |  119|  4.96k|	(_readq) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_readq), struct sctp_queued_to_read); \
  |  |  ------------------
  |  |  |  |  697|  4.96k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  120|  4.96k|	if ((_readq)) { \
  |  |  ------------------
  |  |  |  Branch (120:6): [True: 4.96k, False: 0]
  |  |  ------------------
  |  |  121|  4.96k|	     SCTP_INCR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  682|  4.96k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  4.96k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  122|  4.96k|	} \
  |  |  123|  4.96k|}
  ------------------
 2104|  4.96k|		sctp_build_readq_entry_mac(control, stcb, asoc->context, net, tsn,
  ------------------
  |  |   48|  4.96k|#define sctp_build_readq_entry_mac(_ctl, in_it, context, net, tsn, ppid, sid, flags, dm, tfsn, mid) do { \
  |  |   49|  4.96k|	if (_ctl) { \
  |  |  ------------------
  |  |  |  Branch (49:6): [True: 4.96k, False: 0]
  |  |  ------------------
  |  |   50|  4.96k|		atomic_add_int(&((net)->ref_count), 1); \
  |  |  ------------------
  |  |  |  |   94|  4.96k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |   51|  4.96k|		memset(_ctl, 0, sizeof(struct sctp_queued_to_read)); \
  |  |   52|  4.96k|		(_ctl)->sinfo_stream = sid; \
  |  |   53|  4.96k|		TAILQ_INIT(&_ctl->reasm); \
  |  |   54|  4.96k|		(_ctl)->top_fsn = tfsn; \
  |  |   55|  4.96k|		(_ctl)->mid = mid; \
  |  |   56|  4.96k|		(_ctl)->sinfo_flags = (flags << 8); \
  |  |   57|  4.96k|		(_ctl)->sinfo_ppid = ppid; \
  |  |   58|  4.96k|		(_ctl)->sinfo_context = context; \
  |  |   59|  4.96k|		(_ctl)->fsn_included = 0xffffffff; \
  |  |   60|  4.96k|		(_ctl)->sinfo_tsn = tsn; \
  |  |   61|  4.96k|		(_ctl)->sinfo_cumtsn = tsn; \
  |  |   62|  4.96k|		(_ctl)->sinfo_assoc_id = sctp_get_associd((in_it)); \
  |  |  ------------------
  |  |  |  |   60|  4.96k|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  |  |  ------------------
  |  |   63|  4.96k|		(_ctl)->whoFrom = net; \
  |  |   64|  4.96k|		(_ctl)->data = dm; \
  |  |   65|  4.96k|		(_ctl)->stcb = (in_it); \
  |  |   66|  4.96k|		(_ctl)->port_from = (in_it)->rport; \
  |  |   67|  4.96k|		if ((in_it)->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) { \
  |  |  ------------------
  |  |  |  |  465|  4.96k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  |  |  ------------------
  |  |  |  Branch (67:7): [True: 0, False: 4.96k]
  |  |  ------------------
  |  |   68|      0|			(_ctl)->do_not_ref_stcb = 1; \
  |  |   69|      0|		}\
  |  |   70|  4.96k|	} \
  |  |   71|  4.96k|} while (0)
  |  |  ------------------
  |  |  |  Branch (71:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2105|  4.96k|					   ppid,
 2106|  4.96k|					   sid,
 2107|  4.96k|					   chk_flags,
 2108|  4.96k|					   NULL, fsn, mid);
 2109|  4.96k|		if (control == NULL) {
  ------------------
  |  Branch (2109:7): [True: 0, False: 4.96k]
  ------------------
 2110|      0|			SCTP_STAT_INCR(sctps_nomem);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2111|      0|			return (0);
 2112|      0|		}
 2113|  4.96k|		if ((chk_flags & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|  4.96k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
              		if ((chk_flags & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|  4.96k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
  |  Branch (2113:7): [True: 1.70k, False: 3.25k]
  ------------------
 2114|  1.70k|			struct mbuf *mm;
 2115|       |
 2116|  1.70k|			control->data = dmbuf;
 2117|  1.70k|			control->tail_mbuf = NULL;
 2118|  3.78k|			for (mm = control->data; mm; mm = mm->m_next) {
  ------------------
  |  |  217|  2.07k|#define	m_next		m_hdr.mh_next
  ------------------
  |  Branch (2118:29): [True: 2.07k, False: 1.70k]
  ------------------
 2119|  2.07k|				control->length += SCTP_BUF_LEN(mm);
  ------------------
  |  |  795|  2.07k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.07k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 2120|  2.07k|				if (SCTP_BUF_NEXT(mm) == NULL) {
  ------------------
  |  |  796|  2.07k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  2.07k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (2120:9): [True: 1.70k, False: 364]
  ------------------
 2121|  1.70k|					control->tail_mbuf = mm;
 2122|  1.70k|				}
 2123|  2.07k|			}
 2124|  1.70k|			control->end_added = 1;
 2125|  1.70k|			control->last_frag_seen = 1;
 2126|  1.70k|			control->first_frag_seen = 1;
 2127|  1.70k|			control->fsn_included = fsn;
 2128|  1.70k|			control->top_fsn = fsn;
 2129|  1.70k|		}
 2130|  4.96k|		created_control = 1;
 2131|  4.96k|	}
 2132|  7.20k|	SCTPDBG(SCTP_DEBUG_XXX, "chunk_flags: 0x%x ordered: %d MID: %u control: %p\n",
 2133|  7.20k|		chk_flags, ordered, mid, control);
 2134|  7.20k|	if ((chk_flags & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG &&
  ------------------
  |  |  517|  7.20k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
              	if ((chk_flags & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG &&
  ------------------
  |  |  517|  14.4k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
  |  Branch (2134:6): [True: 1.70k, False: 5.49k]
  ------------------
 2135|  7.20k|	    TAILQ_EMPTY(&asoc->resetHead) &&
 2136|  7.20k|	    ((ordered == 0) ||
  ------------------
  |  Branch (2136:7): [True: 277, False: 599]
  ------------------
 2137|    876|	     (SCTP_MID_EQ(asoc->idata_supported, asoc->strmin[sid].last_mid_delivered + 1, mid) &&
  ------------------
  |  |  893|  1.19k|#define SCTP_MID_EQ(i, a, b) (((i) == 1) ? a == b : (uint16_t)a == (uint16_t)b)
  |  |  ------------------
  |  |  |  Branch (893:30): [True: 88, False: 511]
  |  |  |  Branch (893:31): [True: 256, False: 343]
  |  |  ------------------
  ------------------
 2138|    599|	      TAILQ_EMPTY(&asoc->strmin[sid].inqueue)))) {
 2139|       |		/* Candidate for express delivery */
 2140|       |		/*
 2141|       |		 * Its not fragmented, No PD-API is up, Nothing in the
 2142|       |		 * delivery queue, Its un-ordered OR ordered and the next to
 2143|       |		 * deliver AND nothing else is stuck on the stream queue,
 2144|       |		 * And there is room for it in the socket buffer. Lets just
 2145|       |		 * stuff it up the buffer....
 2146|       |		 */
 2147|    302|		SCTP_SET_TSN_PRESENT(asoc->nr_mapping_array, gap);
  ------------------
  |  |  897|    302|#define SCTP_SET_TSN_PRESENT(arry, gap) (arry[(gap >> 3)] |= (0x01 << ((gap & 0x07))))
  ------------------
 2148|    302|		if (SCTP_TSN_GT(tsn, asoc->highest_tsn_inside_nr_map)) {
  ------------------
  |  |  889|    302|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    302|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 136, False: 166]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 136]
  |  |  |  |  ------------------
  |  |  |  |  884|    302|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 166, False: 136]
  |  |  |  |  |  Branch (884:43): [True: 166, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2149|    166|			asoc->highest_tsn_inside_nr_map = tsn;
 2150|    166|		}
 2151|    302|		SCTPDBG(SCTP_DEBUG_XXX, "Injecting control: %p to be read (MID: %u)\n",
 2152|    302|			control, mid);
 2153|       |
 2154|    302|		sctp_add_to_readq(stcb->sctp_ep, stcb,
 2155|    302|		                  control, &stcb->sctp_socket->so_rcv,
 2156|    302|		                  1, SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |   41|    302|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
              		                  1, SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    302|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2157|       |
 2158|    302|		if ((chk_flags & SCTP_DATA_UNORDERED) == 0) {
  ------------------
  |  |  518|    302|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (2158:7): [True: 25, False: 277]
  ------------------
 2159|       |			/* for ordered, bump what we delivered */
 2160|     25|			asoc->strmin[sid].last_mid_delivered++;
 2161|     25|		}
 2162|    302|		SCTP_STAT_INCR(sctps_recvexpress);
  ------------------
  |  | 1112|    302|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    302|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    302|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2163|    302|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  584|    302|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  661|    302|#define SCTP_STR_LOGGING_ENABLE				0x00020000
  ------------------
  |  Branch (2163:7): [True: 0, False: 302]
  ------------------
 2164|      0|			sctp_log_strm_del_alt(stcb, tsn, mid, sid,
 2165|      0|					      SCTP_STR_LOG_FROM_EXPRS_DEL);
  ------------------
  |  |  121|      0|#define SCTP_STR_LOG_FROM_EXPRS_DEL 16
  ------------------
 2166|      0|		}
 2167|    302|		control = NULL;
 2168|    302|		goto finish_express_del;
 2169|    302|	}
 2170|       |
 2171|       |	/* Now will we need a chunk too? */
 2172|  6.90k|	if ((chk_flags & SCTP_DATA_NOT_FRAG) != SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|  6.90k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
              	if ((chk_flags & SCTP_DATA_NOT_FRAG) != SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|  6.90k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
  |  Branch (2172:6): [True: 5.49k, False: 1.40k]
  ------------------
 2173|  5.49k|		sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|  5.49k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|  5.49k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|  2.94k|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|  2.94k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|  2.94k|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 2.94k, False: 0]
  |  |  ------------------
  |  |  173|  2.94k|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|  2.94k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  2.94k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|  2.94k|			(_chk)->whoTo = NULL; \
  |  |  175|  2.94k|			(_chk)->holds_key_ref = 0; \
  |  |  176|  2.94k|		} \
  |  |  177|  2.94k|	} else { \
  |  |  178|  2.54k|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|  2.54k|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|  2.54k|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|  2.54k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|  2.54k|		(_chk)->holds_key_ref = 0; \
  |  |  182|  2.54k|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|  2.54k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  2.54k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  2.54k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|  2.54k|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|  2.54k|	} \
  |  |  185|  5.49k|}
  ------------------
 2174|  5.49k|		if (chk == NULL) {
  ------------------
  |  Branch (2174:7): [True: 0, False: 5.49k]
  ------------------
 2175|       |			/* No memory so we drop the chunk */
 2176|      0|			SCTP_STAT_INCR(sctps_nomem);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2177|      0|			if (last_chunk == 0) {
  ------------------
  |  Branch (2177:8): [True: 0, False: 0]
  ------------------
 2178|       |				/* we copied it, free the copy */
 2179|      0|				sctp_m_freem(dmbuf);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 2180|      0|			}
 2181|      0|			return (0);
 2182|      0|		}
 2183|  5.49k|		chk->rec.data.tsn = tsn;
 2184|  5.49k|		chk->no_fr_allowed = 0;
 2185|  5.49k|		chk->rec.data.fsn = fsn;
 2186|  5.49k|		chk->rec.data.mid = mid;
 2187|  5.49k|		chk->rec.data.sid = sid;
 2188|  5.49k|		chk->rec.data.ppid = ppid;
 2189|  5.49k|		chk->rec.data.context = stcb->asoc.context;
 2190|  5.49k|		chk->rec.data.doing_fast_retransmit = 0;
 2191|  5.49k|		chk->rec.data.rcv_flags = chk_flags;
 2192|  5.49k|		chk->asoc = asoc;
 2193|  5.49k|		chk->send_size = the_len;
 2194|  5.49k|		chk->whoTo = net;
 2195|  5.49k|		SCTPDBG(SCTP_DEBUG_XXX, "Building ck: %p for control: %p to be read (MID: %u)\n",
 2196|  5.49k|			chk,
 2197|  5.49k|			control, mid);
 2198|  5.49k|		atomic_add_int(&net->ref_count, 1);
  ------------------
  |  |   94|  5.49k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 2199|  5.49k|		chk->data = dmbuf;
 2200|  5.49k|	}
 2201|       |	/* Set the appropriate TSN mark */
 2202|  6.90k|	if (SCTP_BASE_SYSCTL(sctp_do_drain) == 0) {
  ------------------
  |  |  584|  6.90k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (2202:6): [True: 0, False: 6.90k]
  ------------------
 2203|      0|		SCTP_SET_TSN_PRESENT(asoc->nr_mapping_array, gap);
  ------------------
  |  |  897|      0|#define SCTP_SET_TSN_PRESENT(arry, gap) (arry[(gap >> 3)] |= (0x01 << ((gap & 0x07))))
  ------------------
 2204|      0|		if (SCTP_TSN_GT(tsn, asoc->highest_tsn_inside_nr_map)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2205|      0|			asoc->highest_tsn_inside_nr_map = tsn;
 2206|      0|		}
 2207|  6.90k|	} else {
 2208|  6.90k|		SCTP_SET_TSN_PRESENT(asoc->mapping_array, gap);
  ------------------
  |  |  897|  6.90k|#define SCTP_SET_TSN_PRESENT(arry, gap) (arry[(gap >> 3)] |= (0x01 << ((gap & 0x07))))
  ------------------
 2209|  6.90k|		if (SCTP_TSN_GT(tsn, asoc->highest_tsn_inside_map)) {
  ------------------
  |  |  889|  6.90k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  6.90k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 2.77k, False: 4.12k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 2.77k]
  |  |  |  |  ------------------
  |  |  |  |  884|  6.90k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 4.12k, False: 2.77k]
  |  |  |  |  |  Branch (884:43): [True: 4.12k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2210|  4.12k|			asoc->highest_tsn_inside_map = tsn;
 2211|  4.12k|		}
 2212|  6.90k|	}
 2213|       |	/* Now is it complete (i.e. not fragmented)? */
 2214|  6.90k|	if ((chk_flags & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|  6.90k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
              	if ((chk_flags & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|  6.90k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
  |  Branch (2214:6): [True: 1.40k, False: 5.49k]
  ------------------
 2215|       |		/*
 2216|       |		 * Special check for when streams are resetting. We
 2217|       |		 * could be more smart about this and check the
 2218|       |		 * actual stream to see if it is not being reset..
 2219|       |		 * that way we would not create a HOLB when amongst
 2220|       |		 * streams being reset and those not being reset.
 2221|       |		 *
 2222|       |		 */
 2223|  1.40k|		if (((liste = TAILQ_FIRST(&asoc->resetHead)) != NULL) &&
  ------------------
  |  Branch (2223:7): [True: 833, False: 574]
  ------------------
 2224|  1.40k|		    SCTP_TSN_GT(tsn, liste->tsn)) {
  ------------------
  |  |  889|    833|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    833|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 123, False: 710]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 123]
  |  |  |  |  ------------------
  |  |  |  |  884|    833|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 624, False: 209]
  |  |  |  |  |  Branch (884:43): [True: 453, False: 171]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2225|       |			/*
 2226|       |			 * yep its past where we need to reset... go
 2227|       |			 * ahead and queue it.
 2228|       |			 */
 2229|    453|			if (TAILQ_EMPTY(&asoc->pending_reply_queue)) {
 2230|       |				/* first one on */
 2231|    161|				TAILQ_INSERT_TAIL(&asoc->pending_reply_queue, control, next);
 2232|    292|			} else {
 2233|    292|				struct sctp_queued_to_read *lcontrol, *nlcontrol;
 2234|    292|				unsigned char inserted = 0;
 2235|  1.04k|				TAILQ_FOREACH_SAFE(lcontrol, &asoc->pending_reply_queue, next, nlcontrol) {
  ------------------
  |  | 1123|    292|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  1.14k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 1.04k, False: 101]
  |  |  |  Branch (1124:24): [True: 1.04k, False: 0]
  |  |  ------------------
  |  | 1125|    849|              (var) = (tvar))
  ------------------
 2236|  1.04k|					if (SCTP_TSN_GT(control->sinfo_tsn, lcontrol->sinfo_tsn)) {
  ------------------
  |  |  889|  1.04k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  1.04k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 191, False: 849]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 191]
  |  |  |  |  ------------------
  |  |  |  |  884|  1.04k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 849, False: 191]
  |  |  |  |  |  Branch (884:43): [True: 849, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2237|    849|						continue;
 2238|    849|					} else {
 2239|       |						/* found it */
 2240|    191|						TAILQ_INSERT_BEFORE(lcontrol, control, next);
 2241|    191|						inserted = 1;
 2242|    191|						break;
 2243|    191|					}
 2244|  1.04k|				}
 2245|    292|				if (inserted == 0) {
  ------------------
  |  Branch (2245:9): [True: 101, False: 191]
  ------------------
 2246|       |					/*
 2247|       |					 * must be put at end, use
 2248|       |					 * prevP (all setup from
 2249|       |					 * loop) to setup nextP.
 2250|       |					 */
 2251|    101|					TAILQ_INSERT_TAIL(&asoc->pending_reply_queue, control, next);
 2252|    101|				}
 2253|    292|			}
 2254|    453|			goto finish_express_del;
 2255|    453|		}
 2256|    954|		if (chk_flags & SCTP_DATA_UNORDERED) {
  ------------------
  |  |  518|    954|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (2256:7): [True: 113, False: 841]
  ------------------
 2257|       |			/* queue directly into socket buffer */
 2258|    113|			SCTPDBG(SCTP_DEBUG_XXX, "Unordered data to be read control: %p MID: %u\n",
 2259|    113|				control, mid);
 2260|    113|			sctp_mark_non_revokable(asoc, control->sinfo_tsn);
 2261|    113|			sctp_add_to_readq(stcb->sctp_ep, stcb,
 2262|    113|			                  control,
 2263|    113|			                  &stcb->sctp_socket->so_rcv, 1,
 2264|    113|			                  SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |   41|    113|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
              			                  SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    113|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2265|       |
 2266|    841|		} else {
 2267|    841|			SCTPDBG(SCTP_DEBUG_XXX, "Queue control: %p for reordering MID: %u\n", control,
 2268|    841|				mid);
 2269|    841|			sctp_queue_data_to_stream(stcb, asoc, control, abort_flag, &need_reasm_check);
 2270|    841|			if (*abort_flag) {
  ------------------
  |  Branch (2270:8): [True: 52, False: 789]
  ------------------
 2271|     52|				if (last_chunk) {
  ------------------
  |  Branch (2271:9): [True: 1, False: 51]
  ------------------
 2272|      1|					*m = NULL;
 2273|      1|				}
 2274|     52|				return (0);
 2275|     52|			}
 2276|    841|		}
 2277|    902|		goto finish_express_del;
 2278|    954|	}
 2279|       |	/* If we reach here its a reassembly */
 2280|  5.49k|	need_reasm_check = 1;
 2281|  5.49k|	SCTPDBG(SCTP_DEBUG_XXX,
 2282|  5.49k|		"Queue data to stream for reasm control: %p MID: %u\n",
 2283|  5.49k|		control, mid);
 2284|  5.49k|	sctp_queue_data_for_reasm(stcb, asoc, control, chk, created_control, abort_flag, tsn);
 2285|  5.49k|	if (*abort_flag) {
  ------------------
  |  Branch (2285:6): [True: 266, False: 5.22k]
  ------------------
 2286|       |		/*
 2287|       |		 * the assoc is now gone and chk was put onto the
 2288|       |		 * reasm queue, which has all been freed.
 2289|       |		 */
 2290|    266|		if (last_chunk) {
  ------------------
  |  Branch (2290:7): [True: 5, False: 261]
  ------------------
 2291|      5|			*m = NULL;
 2292|      5|		}
 2293|    266|		return (0);
 2294|    266|	}
 2295|  6.88k|finish_express_del:
 2296|       |	/* Here we tidy up things */
 2297|  6.88k|	if (tsn == (asoc->cumulative_tsn + 1)) {
  ------------------
  |  Branch (2297:6): [True: 228, False: 6.65k]
  ------------------
 2298|       |		/* Update cum-ack */
 2299|    228|		asoc->cumulative_tsn = tsn;
 2300|    228|	}
 2301|  6.88k|	if (last_chunk) {
  ------------------
  |  Branch (2301:6): [True: 128, False: 6.75k]
  ------------------
 2302|    128|		*m = NULL;
 2303|    128|	}
 2304|  6.88k|	if (ordered) {
  ------------------
  |  Branch (2304:6): [True: 3.14k, False: 3.73k]
  ------------------
 2305|  3.14k|		SCTP_STAT_INCR_COUNTER64(sctps_inorderchunks);
  ------------------
  |  | 1128|  3.14k|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  3.14k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  3.14k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  3.14k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2306|  3.73k|	} else {
 2307|  3.73k|		SCTP_STAT_INCR_COUNTER64(sctps_inunorderchunks);
  ------------------
  |  | 1128|  3.73k|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  3.73k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  3.73k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  3.73k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2308|  3.73k|	}
 2309|  6.88k|	SCTP_STAT_INCR(sctps_recvdata);
  ------------------
  |  | 1112|  6.88k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  6.88k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  6.88k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2310|       |	/* Set it present please */
 2311|  6.88k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  584|  6.88k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  661|  6.88k|#define SCTP_STR_LOGGING_ENABLE				0x00020000
  ------------------
  |  Branch (2311:6): [True: 0, False: 6.88k]
  ------------------
 2312|      0|		sctp_log_strm_del_alt(stcb, tsn, mid, sid, SCTP_STR_LOG_FROM_MARK_TSN);
  ------------------
  |  |  120|      0|#define SCTP_STR_LOG_FROM_MARK_TSN  15
  ------------------
 2313|      0|	}
 2314|  6.88k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  584|  6.88k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  652|  6.88k|#define SCTP_MAP_LOGGING_ENABLE				0x00000100
  ------------------
  |  Branch (2314:6): [True: 0, False: 6.88k]
  ------------------
 2315|      0|		sctp_log_map(asoc->mapping_array_base_tsn, asoc->cumulative_tsn,
 2316|      0|			     asoc->highest_tsn_inside_map, SCTP_MAP_PREPARE_SLIDE);
  ------------------
  |  |  126|      0|#define SCTP_MAP_PREPARE_SLIDE      21
  ------------------
 2317|      0|	}
 2318|  6.88k|	if (need_reasm_check) {
  ------------------
  |  Branch (2318:6): [True: 5.23k, False: 1.65k]
  ------------------
 2319|  5.23k|		(void)sctp_deliver_reasm_check(stcb, asoc, &asoc->strmin[sid], SCTP_READ_LOCK_NOT_HELD);
  ------------------
  |  |   41|  5.23k|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
 2320|  5.23k|		need_reasm_check = 0;
 2321|  5.23k|	}
 2322|       |	/* check the special flag for stream resets */
 2323|  6.88k|	if (((liste = TAILQ_FIRST(&asoc->resetHead)) != NULL) &&
  ------------------
  |  Branch (2323:6): [True: 1.00k, False: 5.88k]
  ------------------
 2324|  6.88k|	    SCTP_TSN_GE(asoc->cumulative_tsn, liste->tsn)) {
  ------------------
  |  |  890|  1.00k|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|  1.00k|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|  2.00k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 506, False: 496]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 506]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|  2.00k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 377, False: 625]
  |  |  |  |  |  |  |  Branch (884:43): [True: 96, False: 281]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 119, False: 787]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2325|       |		/*
 2326|       |		 * we have finished working through the backlogged TSN's now
 2327|       |		 * time to reset streams. 1: call reset function. 2: free
 2328|       |		 * pending_reply space 3: distribute any chunks in
 2329|       |		 * pending_reply_queue.
 2330|       |		 */
 2331|    215|		sctp_reset_in_stream(stcb, liste->number_entries, liste->list_of_streams);
 2332|    215|		TAILQ_REMOVE(&asoc->resetHead, liste, next_resp);
 2333|    215|		sctp_send_deferred_reset_response(stcb, liste, SCTP_STREAM_RESET_RESULT_PERFORMED);
  ------------------
  |  |  479|    215|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
 2334|    215|		SCTP_FREE(liste, SCTP_M_STRESET);
  ------------------
  |  |  673|    215|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|    215|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 2335|       |		/*sa_ignore FREED_MEMORY*/
 2336|    215|		liste = TAILQ_FIRST(&asoc->resetHead);
 2337|    215|		if (TAILQ_EMPTY(&asoc->resetHead)) {
 2338|       |			/* All can be removed */
 2339|    117|			TAILQ_FOREACH_SAFE(control, &asoc->pending_reply_queue, next, ncontrol) {
  ------------------
  |  | 1123|    111|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|    210|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 117, False: 93]
  |  |  |  Branch (1124:24): [True: 117, False: 0]
  |  |  ------------------
  |  | 1125|    111|              (var) = (tvar))
  ------------------
 2340|    117|				TAILQ_REMOVE(&asoc->pending_reply_queue, control, next);
 2341|    117|				strm = &asoc->strmin[control->sinfo_stream];
 2342|    117|				sctp_queue_data_to_stream(stcb, asoc, control, abort_flag, &need_reasm_check);
 2343|    117|				if (*abort_flag) {
  ------------------
  |  Branch (2343:9): [True: 18, False: 99]
  ------------------
 2344|     18|					return (0);
 2345|     18|				}
 2346|     99|				if (need_reasm_check) {
  ------------------
  |  Branch (2346:9): [True: 6, False: 93]
  ------------------
 2347|      6|					(void)sctp_deliver_reasm_check(stcb, asoc, strm, SCTP_READ_LOCK_NOT_HELD);
  ------------------
  |  |   41|      6|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
 2348|      6|					need_reasm_check = 0;
 2349|      6|				}
 2350|     99|			}
 2351|    111|		} else {
 2352|    165|			TAILQ_FOREACH_SAFE(control, &asoc->pending_reply_queue, next, ncontrol) {
  ------------------
  |  | 1123|    104|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|    209|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 165, False: 44]
  |  |  |  Branch (1124:24): [True: 165, False: 0]
  |  |  ------------------
  |  | 1125|    105|              (var) = (tvar))
  ------------------
 2353|    165|				if (SCTP_TSN_GT(control->sinfo_tsn, liste->tsn)) {
  ------------------
  |  |  889|    165|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    165|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 55, False: 110]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 55]
  |  |  |  |  ------------------
  |  |  |  |  884|    165|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 110, False: 55]
  |  |  |  |  |  Branch (884:43): [True: 43, False: 67]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2354|     43|					break;
 2355|     43|				}
 2356|       |				/*
 2357|       |				 * if control->sinfo_tsn is <= liste->tsn we can
 2358|       |				 * process it which is the NOT of
 2359|       |				 * control->sinfo_tsn > liste->tsn
 2360|       |				 */
 2361|    122|				TAILQ_REMOVE(&asoc->pending_reply_queue, control, next);
 2362|    122|				strm = &asoc->strmin[control->sinfo_stream];
 2363|    122|				sctp_queue_data_to_stream(stcb, asoc, control, abort_flag, &need_reasm_check);
 2364|    122|				if (*abort_flag) {
  ------------------
  |  Branch (2364:9): [True: 17, False: 105]
  ------------------
 2365|     17|					return (0);
 2366|     17|				}
 2367|    105|				if (need_reasm_check) {
  ------------------
  |  Branch (2367:9): [True: 1, False: 104]
  ------------------
 2368|      1|					(void)sctp_deliver_reasm_check(stcb, asoc, strm, SCTP_READ_LOCK_NOT_HELD);
  ------------------
  |  |   41|      1|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
 2369|      1|					need_reasm_check = 0;
 2370|      1|				}
 2371|    105|			}
 2372|    104|		}
 2373|    215|	}
 2374|  6.84k|	return (1);
 2375|  6.88k|}
sctp_indata.c:sctp_find_reasm_entry:
 1673|  7.29k|{
 1674|  7.29k|	struct sctp_queued_to_read *control;
 1675|       |
 1676|  7.29k|	if (ordered) {
  ------------------
  |  Branch (1676:6): [True: 3.45k, False: 3.83k]
  ------------------
 1677|  3.79k|		TAILQ_FOREACH(control, &strm->inqueue, next_instrm) {
 1678|  3.79k|			if (SCTP_MID_EQ(idata_supported, control->mid, mid)) {
  ------------------
  |  |  893|  3.79k|#define SCTP_MID_EQ(i, a, b) (((i) == 1) ? a == b : (uint16_t)a == (uint16_t)b)
  |  |  ------------------
  |  |  |  Branch (893:30): [True: 576, False: 3.21k]
  |  |  |  Branch (893:31): [True: 1.57k, False: 2.21k]
  |  |  ------------------
  ------------------
 1679|    576|				break;
 1680|    576|			}
 1681|  3.79k|		}
 1682|  3.83k|	} else {
 1683|  3.83k|		if (idata_supported) {
  ------------------
  |  Branch (1683:7): [True: 1.09k, False: 2.73k]
  ------------------
 1684|  3.31k|			TAILQ_FOREACH(control, &strm->uno_inqueue, next_instrm) {
 1685|  3.31k|				if (SCTP_MID_EQ(idata_supported, control->mid, mid)) {
  ------------------
  |  |  893|  3.31k|#define SCTP_MID_EQ(i, a, b) (((i) == 1) ? a == b : (uint16_t)a == (uint16_t)b)
  |  |  ------------------
  |  |  |  Branch (893:30): [True: 116, False: 3.19k]
  |  |  |  Branch (893:31): [True: 3.31k, False: 0]
  |  |  ------------------
  ------------------
 1686|    116|					break;
 1687|    116|				}
 1688|  3.31k|			}
 1689|  2.73k|		} else {
 1690|  2.73k|			control = TAILQ_FIRST(&strm->uno_inqueue);
 1691|  2.73k|		}
 1692|  3.83k|	}
 1693|  7.29k|	return (control);
 1694|  7.29k|}
sctp_indata.c:sctp_mark_non_revokable:
  303|  2.75k|{
  304|  2.75k|	uint32_t gap, i;
  305|  2.75k|	int in_r, in_nr;
  306|       |
  307|  2.75k|	if (SCTP_BASE_SYSCTL(sctp_do_drain) == 0) {
  ------------------
  |  |  584|  2.75k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (307:6): [True: 0, False: 2.75k]
  ------------------
  308|      0|		return;
  309|      0|	}
  310|  2.75k|	if (SCTP_TSN_GE(asoc->cumulative_tsn, tsn)) {
  ------------------
  |  |  890|  2.75k|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|  2.75k|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|  5.50k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 2.73k, False: 14]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 2.73k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|  5.50k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 0, False: 2.75k]
  |  |  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 14, False: 2.73k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  311|       |		/*
  312|       |		 * This tsn is behind the cum ack and thus we don't
  313|       |		 * need to worry about it being moved from one to the other.
  314|       |		 */
  315|     14|		return;
  316|     14|	}
  317|  2.73k|	SCTP_CALC_TSN_TO_GAP(gap, tsn, asoc->mapping_array_base_tsn);
  ------------------
  |  |  899|  2.73k|#define SCTP_CALC_TSN_TO_GAP(gap, tsn, mapping_tsn) do { \
  |  |  900|  2.73k|	                if (tsn >= mapping_tsn) { \
  |  |  ------------------
  |  |  |  Branch (900:22): [True: 2.73k, False: 0]
  |  |  ------------------
  |  |  901|  2.73k|						gap = tsn - mapping_tsn; \
  |  |  902|  2.73k|					} else { \
  |  |  903|      0|						gap = (MAX_TSN - mapping_tsn) + tsn + 1; \
  |  |  ------------------
  |  |  |  |  310|      0|#define MAX_TSN	0xffffffff
  |  |  ------------------
  |  |  904|      0|					} \
  |  |  905|  2.73k|                  } while (0)
  |  |  ------------------
  |  |  |  Branch (905:28): [Folded - Ignored]
  |  |  ------------------
  ------------------
  318|  2.73k|	in_r = SCTP_IS_TSN_PRESENT(asoc->mapping_array, gap);
  ------------------
  |  |  896|  2.73k|#define SCTP_IS_TSN_PRESENT(arry, gap) ((arry[(gap >> 3)] >> (gap & 0x07)) & 0x01)
  ------------------
  319|  2.73k|	in_nr = SCTP_IS_TSN_PRESENT(asoc->nr_mapping_array, gap);
  ------------------
  |  |  896|  2.73k|#define SCTP_IS_TSN_PRESENT(arry, gap) ((arry[(gap >> 3)] >> (gap & 0x07)) & 0x01)
  ------------------
  320|  2.73k|	KASSERT(in_r || in_nr, ("%s: Things are really messed up now", __func__));
  ------------------
  |  |  112|  2.73k|	do {                         \
  |  |  113|  2.83k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 2.64k, False: 93]
  |  |  |  Branch (113:9): [True: 93, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  2.73k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  321|  2.73k|	if (!in_nr) {
  ------------------
  |  Branch (321:6): [True: 2.64k, False: 93]
  ------------------
  322|  2.64k|		SCTP_SET_TSN_PRESENT(asoc->nr_mapping_array, gap);
  ------------------
  |  |  897|  2.64k|#define SCTP_SET_TSN_PRESENT(arry, gap) (arry[(gap >> 3)] |= (0x01 << ((gap & 0x07))))
  ------------------
  323|  2.64k|		if (SCTP_TSN_GT(tsn, asoc->highest_tsn_inside_nr_map)) {
  ------------------
  |  |  889|  2.64k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  2.64k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 1.07k, False: 1.57k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 1.07k]
  |  |  |  |  ------------------
  |  |  |  |  884|  2.64k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 1.57k, False: 1.07k]
  |  |  |  |  |  Branch (884:43): [True: 1.57k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  324|  1.57k|			asoc->highest_tsn_inside_nr_map = tsn;
  325|  1.57k|		}
  326|  2.64k|	}
  327|  2.73k|	if (in_r) {
  ------------------
  |  Branch (327:6): [True: 2.64k, False: 93]
  ------------------
  328|  2.64k|		SCTP_UNSET_TSN_PRESENT(asoc->mapping_array, gap);
  ------------------
  |  |  898|  2.64k|#define SCTP_UNSET_TSN_PRESENT(arry, gap) (arry[(gap >> 3)] &= ((~(0x01 << ((gap & 0x07)))) & 0xff))
  ------------------
  329|  2.64k|		if (tsn == asoc->highest_tsn_inside_map) {
  ------------------
  |  Branch (329:7): [True: 1.57k, False: 1.07k]
  ------------------
  330|       |			/* We must back down to see what the new highest is. */
  331|  1.81M|			for (i = tsn - 1; SCTP_TSN_GE(i, asoc->mapping_array_base_tsn); i--) {
  332|  1.81M|				SCTP_CALC_TSN_TO_GAP(gap, i, asoc->mapping_array_base_tsn);
  ------------------
  |  |  899|  1.81M|#define SCTP_CALC_TSN_TO_GAP(gap, tsn, mapping_tsn) do { \
  |  |  900|  1.81M|	                if (tsn >= mapping_tsn) { \
  |  |  ------------------
  |  |  |  Branch (900:22): [True: 1.81M, False: 0]
  |  |  ------------------
  |  |  901|  1.81M|						gap = tsn - mapping_tsn; \
  |  |  902|  1.81M|					} else { \
  |  |  903|      0|						gap = (MAX_TSN - mapping_tsn) + tsn + 1; \
  |  |  ------------------
  |  |  |  |  310|      0|#define MAX_TSN	0xffffffff
  |  |  ------------------
  |  |  904|      0|					} \
  |  |  905|  1.81M|                  } while (0)
  |  |  ------------------
  |  |  |  Branch (905:28): [Folded - Ignored]
  |  |  ------------------
  ------------------
  333|  1.81M|				if (SCTP_IS_TSN_PRESENT(asoc->mapping_array, gap)) {
  ------------------
  |  |  896|  1.81M|#define SCTP_IS_TSN_PRESENT(arry, gap) ((arry[(gap >> 3)] >> (gap & 0x07)) & 0x01)
  |  |  ------------------
  |  |  |  Branch (896:40): [True: 379, False: 1.81M]
  |  |  ------------------
  ------------------
  334|    379|					asoc->highest_tsn_inside_map = i;
  335|    379|					break;
  336|    379|				}
  337|  1.81M|			}
  338|  1.57k|			if (!SCTP_TSN_GE(i, asoc->mapping_array_base_tsn)) {
  ------------------
  |  |  890|  1.57k|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|  1.57k|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|  3.14k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 1.19k, False: 379]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 1.19k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|  3.14k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 357, False: 1.21k]
  |  |  |  |  |  |  |  Branch (884:43): [True: 357, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 22, False: 1.19k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  339|  1.19k|				asoc->highest_tsn_inside_map = asoc->mapping_array_base_tsn - 1;
  340|  1.19k|			}
  341|  1.57k|		}
  342|  2.64k|	}
  343|  2.73k|}
sctp_indata.c:sctp_queue_data_to_stream:
  496|  1.08k|{
  497|       |	/*
  498|       |	 * FIX-ME maybe? What happens when the ssn wraps? If we are getting
  499|       |	 * all the data in one stream this could happen quite rapidly. One
  500|       |	 * could use the TSN to keep track of things, but this scheme breaks
  501|       |	 * down in the other type of stream usage that could occur. Send a
  502|       |	 * single msg to stream 0, send 4Billion messages to stream 1, now
  503|       |	 * send a message to stream 0. You have a situation where the TSN
  504|       |	 * has wrapped but not in the stream. Is this worth worrying about
  505|       |	 * or should we just change our queue sort at the bottom to be by
  506|       |	 * TSN.
  507|       |	 *
  508|       |	 * Could it also be legal for a peer to send ssn 1 with TSN 2 and ssn 2
  509|       |	 * with TSN 1? If the peer is doing some sort of funky TSN/SSN
  510|       |	 * assignment this could happen... and I don't see how this would be
  511|       |	 * a violation. So for now I am undecided an will leave the sort by
  512|       |	 * SSN alone. Maybe a hybrid approach is the answer
  513|       |	 *
  514|       |	 */
  515|  1.08k|	struct sctp_queued_to_read *at;
  516|  1.08k|	int queue_needed;
  517|  1.08k|	uint32_t nxt_todel;
  518|  1.08k|	struct mbuf *op_err;
  519|  1.08k|	struct sctp_stream_in *strm;
  520|  1.08k|	char msg[SCTP_DIAG_INFO_LEN];
  521|       |
  522|  1.08k|	strm = &asoc->strmin[control->sinfo_stream];
  523|  1.08k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  584|  1.08k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  661|  1.08k|#define SCTP_STR_LOGGING_ENABLE				0x00020000
  ------------------
  |  Branch (523:6): [True: 0, False: 1.08k]
  ------------------
  524|      0|		sctp_log_strm_del(control, NULL, SCTP_STR_LOG_FROM_INTO_STRD);
  ------------------
  |  |  115|      0|#define SCTP_STR_LOG_FROM_INTO_STRD 10
  ------------------
  525|      0|	}
  526|  1.08k|	if (SCTP_MID_GT((asoc->idata_supported), strm->last_mid_delivered, control->mid)) {
  ------------------
  |  |  891|  1.08k|#define SCTP_MID_GT(i, a, b) (((i) == 1) ? SCTP_UINT32_GT(a, b) : SCTP_UINT16_GT((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  883|    276|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 68, False: 208]
  |  |  |  |  |  Branch (883:43): [True: 1, False: 67]
  |  |  |  |  ------------------
  |  |  |  |  884|    276|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 208, False: 67]
  |  |  |  |  |  Branch (884:43): [True: 28, False: 180]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define SCTP_MID_GT(i, a, b) (((i) == 1) ? SCTP_UINT32_GT(a, b) : SCTP_UINT16_GT((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  880|    804|#define SCTP_UINT16_GT(a, b) (((a < b) && ((uint16_t)(b - a) > (1U<<15))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (880:32): [True: 62, False: 742]
  |  |  |  |  |  Branch (880:43): [True: 2, False: 60]
  |  |  |  |  ------------------
  |  |  |  |  881|    804|                              ((a > b) && ((uint16_t)(a - b) < (1U<<15))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (881:32): [True: 699, False: 103]
  |  |  |  |  |  Branch (881:43): [True: 47, False: 652]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (891:30): [True: 78, False: 1.00k]
  |  |  |  Branch (891:31): [True: 276, False: 804]
  |  |  ------------------
  ------------------
  527|       |		/* The incoming sseq is behind where we last delivered? */
  528|     78|		SCTPDBG(SCTP_DEBUG_INDATA1, "Duplicate S-SEQ: %u delivered: %u from peer, Abort association\n",
  529|     78|			strm->last_mid_delivered, control->mid);
  530|       |		/*
  531|       |		 * throw it in the stream so it gets cleaned up in
  532|       |		 * association destruction
  533|       |		 */
  534|     78|		TAILQ_INSERT_HEAD(&strm->inqueue, control, next_instrm);
  535|     78|		if (asoc->idata_supported) {
  ------------------
  |  Branch (535:7): [True: 29, False: 49]
  ------------------
  536|     29|			SCTP_SNPRINTF(msg, sizeof(msg), "Delivered MID=%8.8x, got TSN=%8.8x, SID=%4.4x, MID=%8.8x",
  ------------------
  |  |  814|     29|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 29]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
  537|     29|			              strm->last_mid_delivered, control->sinfo_tsn,
  538|     29|			              control->sinfo_stream, control->mid);
  539|     49|		} else {
  540|     49|			SCTP_SNPRINTF(msg, sizeof(msg), "Delivered SSN=%4.4x, got TSN=%8.8x, SID=%4.4x, SSN=%4.4x",
  ------------------
  |  |  814|     49|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 49]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
  541|     49|			              (uint16_t)strm->last_mid_delivered,
  542|     49|			              control->sinfo_tsn,
  543|     49|			              control->sinfo_stream,
  544|     49|			              (uint16_t)control->mid);
  545|     49|		}
  546|     78|		op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|     78|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
  547|     78|		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_2;
  ------------------
  |  |  757|     78|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_2;
  ------------------
  |  |  770|     78|#define SCTP_LOC_2  0x00000002
  ------------------
  548|     78|		sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     78|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  549|     78|		*abort_flag = 1;
  550|     78|		return;
  551|     78|	}
  552|  1.00k|	queue_needed = 1;
  553|  1.00k|	asoc->size_on_all_streams += control->length;
  554|  1.00k|	sctp_ucount_incr(asoc->cnt_on_all_streams);
  ------------------
  |  |  266|  1.00k|#define sctp_ucount_incr(val) { \
  |  |  267|  1.00k|	val++; \
  |  |  268|  1.00k|}
  ------------------
  555|  1.00k|	nxt_todel = strm->last_mid_delivered + 1;
  556|  1.00k|	if (SCTP_MID_EQ(asoc->idata_supported, nxt_todel, control->mid)) {
  ------------------
  |  |  893|  1.00k|#define SCTP_MID_EQ(i, a, b) (((i) == 1) ? a == b : (uint16_t)a == (uint16_t)b)
  |  |  ------------------
  |  |  |  Branch (893:30): [True: 271, False: 731]
  |  |  |  Branch (893:31): [True: 247, False: 755]
  |  |  ------------------
  ------------------
  557|       |#if defined(__APPLE__) && !defined(__Userspace__)
  558|       |		struct socket *so;
  559|       |
  560|       |		so = SCTP_INP_SO(stcb->sctp_ep);
  561|       |		atomic_add_int(&stcb->asoc.refcnt, 1);
  562|       |		SCTP_TCB_UNLOCK(stcb);
  563|       |		SCTP_SOCKET_LOCK(so, 1);
  564|       |		SCTP_TCB_LOCK(stcb);
  565|       |		atomic_subtract_int(&stcb->asoc.refcnt, 1);
  566|       |		if (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
  567|       |			SCTP_SOCKET_UNLOCK(so, 1);
  568|       |			return;
  569|       |		}
  570|       |#endif
  571|       |		/* can be delivered right away? */
  572|    271|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  584|    271|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  661|    271|#define SCTP_STR_LOGGING_ENABLE				0x00020000
  ------------------
  |  Branch (572:7): [True: 0, False: 271]
  ------------------
  573|      0|			sctp_log_strm_del(control, NULL, SCTP_STR_LOG_FROM_IMMED_DEL);
  ------------------
  |  |  116|      0|#define SCTP_STR_LOG_FROM_IMMED_DEL 11
  ------------------
  574|      0|		}
  575|       |		/* EY it wont be queued if it could be delivered directly */
  576|    271|		queue_needed = 0;
  577|    271|		if (asoc->size_on_all_streams >= control->length) {
  ------------------
  |  Branch (577:7): [True: 271, False: 0]
  ------------------
  578|    271|			asoc->size_on_all_streams -= control->length;
  579|    271|		} else {
  580|      0|#ifdef INVARIANTS
  581|      0|			panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  582|       |#else
  583|       |			asoc->size_on_all_streams = 0;
  584|       |#endif
  585|      0|		}
  586|    271|		sctp_ucount_decr(asoc->cnt_on_all_streams);
  ------------------
  |  |  270|    271|#define sctp_ucount_decr(val) { \
  |  |  271|    271|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 271, False: 0]
  |  |  ------------------
  |  |  272|    271|		val--; \
  |  |  273|    271|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|    271|}
  ------------------
  587|    271|		strm->last_mid_delivered++;
  588|    271|		sctp_mark_non_revokable(asoc, control->sinfo_tsn);
  589|    271|		sctp_add_to_readq(stcb->sctp_ep, stcb,
  590|    271|		                  control,
  591|    271|		                  &stcb->sctp_socket->so_rcv, 1,
  592|    271|		                  SCTP_READ_LOCK_NOT_HELD, SCTP_SO_LOCKED);
  ------------------
  |  |   41|    271|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
              		                  SCTP_READ_LOCK_NOT_HELD, SCTP_SO_LOCKED);
  ------------------
  |  |  959|    271|#define SCTP_SO_LOCKED		1
  ------------------
  593|    271|		TAILQ_FOREACH_SAFE(control, &strm->inqueue, next_instrm, at) {
  ------------------
  |  | 1123|    271|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|    296|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 147, False: 149]
  |  |  |  Branch (1124:24): [True: 147, False: 0]
  |  |  ------------------
  |  | 1125|    271|              (var) = (tvar))
  ------------------
  594|       |			/* all delivered */
  595|    147|			nxt_todel = strm->last_mid_delivered + 1;
  596|    147|			if (SCTP_MID_EQ(asoc->idata_supported, nxt_todel, control->mid) &&
  ------------------
  |  |  893|    294|#define SCTP_MID_EQ(i, a, b) (((i) == 1) ? a == b : (uint16_t)a == (uint16_t)b)
  |  |  ------------------
  |  |  |  Branch (893:30): [True: 38, False: 109]
  |  |  |  Branch (893:31): [True: 60, False: 87]
  |  |  ------------------
  ------------------
  597|    147|			    (((control->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG)) {
  ------------------
  |  |  517|     38|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
              			    (((control->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG)) {
  ------------------
  |  |  517|     38|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
  |  Branch (597:8): [True: 25, False: 13]
  ------------------
  598|     25|				if (control->on_strm_q == SCTP_ON_ORDERED) {
  ------------------
  |  |  553|     25|#define SCTP_ON_ORDERED 1
  ------------------
  |  Branch (598:9): [True: 25, False: 0]
  ------------------
  599|     25|					TAILQ_REMOVE(&strm->inqueue, control, next_instrm);
  600|     25|					if (asoc->size_on_all_streams >= control->length) {
  ------------------
  |  Branch (600:10): [True: 25, False: 0]
  ------------------
  601|     25|						asoc->size_on_all_streams -= control->length;
  602|     25|					} else {
  603|      0|#ifdef INVARIANTS
  604|      0|						panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  605|       |#else
  606|       |						asoc->size_on_all_streams = 0;
  607|       |#endif
  608|      0|					}
  609|     25|					sctp_ucount_decr(asoc->cnt_on_all_streams);
  ------------------
  |  |  270|     25|#define sctp_ucount_decr(val) { \
  |  |  271|     25|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 25, False: 0]
  |  |  ------------------
  |  |  272|     25|		val--; \
  |  |  273|     25|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|     25|}
  ------------------
  610|     25|#ifdef INVARIANTS
  611|     25|				} else {
  612|      0|					panic("Huh control: %p is on_strm_q: %d",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  613|      0|					      control, control->on_strm_q);
  614|      0|#endif
  615|      0|				}
  616|     25|				control->on_strm_q = 0;
  617|     25|				strm->last_mid_delivered++;
  618|       |				/*
  619|       |				 * We ignore the return of deliver_data here
  620|       |				 * since we always can hold the chunk on the
  621|       |				 * d-queue. And we have a finite number that
  622|       |				 * can be delivered from the strq.
  623|       |				 */
  624|     25|				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  584|     25|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  661|     25|#define SCTP_STR_LOGGING_ENABLE				0x00020000
  ------------------
  |  Branch (624:9): [True: 0, False: 25]
  ------------------
  625|      0|					sctp_log_strm_del(control, NULL,
  626|      0|							  SCTP_STR_LOG_FROM_IMMED_DEL);
  ------------------
  |  |  116|      0|#define SCTP_STR_LOG_FROM_IMMED_DEL 11
  ------------------
  627|      0|				}
  628|     25|				sctp_mark_non_revokable(asoc, control->sinfo_tsn);
  629|     25|				sctp_add_to_readq(stcb->sctp_ep, stcb,
  630|     25|				                  control,
  631|     25|				                  &stcb->sctp_socket->so_rcv, 1,
  632|     25|				                  SCTP_READ_LOCK_NOT_HELD,
  ------------------
  |  |   41|     25|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
  633|     25|				                  SCTP_SO_LOCKED);
  ------------------
  |  |  959|     25|#define SCTP_SO_LOCKED		1
  ------------------
  634|     25|				continue;
  635|    122|			} else if (SCTP_MID_EQ(asoc->idata_supported, nxt_todel, control->mid)) {
  ------------------
  |  |  893|    122|#define SCTP_MID_EQ(i, a, b) (((i) == 1) ? a == b : (uint16_t)a == (uint16_t)b)
  |  |  ------------------
  |  |  |  Branch (893:30): [True: 13, False: 109]
  |  |  |  Branch (893:31): [True: 53, False: 69]
  |  |  ------------------
  ------------------
  636|     13|				*need_reasm = 1;
  637|     13|			}
  638|    122|			break;
  639|    147|		}
  640|       |#if defined(__APPLE__) && !defined(__Userspace__)
  641|       |		SCTP_SOCKET_UNLOCK(so, 1);
  642|       |#endif
  643|    271|	}
  644|  1.00k|	if (queue_needed) {
  ------------------
  |  Branch (644:6): [True: 731, False: 271]
  ------------------
  645|       |		/*
  646|       |		 * Ok, we did not deliver this guy, find the correct place
  647|       |		 * to put it on the queue.
  648|       |		 */
  649|    731|		if (sctp_place_control_in_stream(strm, asoc, control)) {
  ------------------
  |  Branch (649:7): [True: 9, False: 722]
  ------------------
  650|      9|			SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|      9|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 9]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
  651|      9|			              "Queue to str MID: %u duplicate", control->mid);
  652|      9|			sctp_clean_up_control(stcb, control);
  653|      9|			op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|      9|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
  654|      9|			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_3;
  ------------------
  |  |  757|      9|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_3;
  ------------------
  |  |  771|      9|#define SCTP_LOC_3  0x00000003
  ------------------
  655|      9|			sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      9|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  656|      9|			*abort_flag = 1;
  657|      9|		}
  658|    731|	}
  659|  1.00k|}
sctp_indata.c:sctp_place_control_in_stream:
  349|  3.98k|{
  350|  3.98k|	struct sctp_queued_to_read *at;
  351|  3.98k|	struct sctp_readhead *q;
  352|  3.98k|	uint8_t flags, unordered;
  353|       |
  354|  3.98k|	flags = (control->sinfo_flags >> 8);
  355|  3.98k|	unordered = flags & SCTP_DATA_UNORDERED;
  ------------------
  |  |  518|  3.98k|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  356|  3.98k|	if (unordered) {
  ------------------
  |  Branch (356:6): [True: 1.68k, False: 2.30k]
  ------------------
  357|  1.68k|		q = &strm->uno_inqueue;
  358|  1.68k|		if (asoc->idata_supported == 0) {
  ------------------
  |  Branch (358:7): [True: 737, False: 945]
  ------------------
  359|    737|			if (!TAILQ_EMPTY(q)) {
  ------------------
  |  Branch (359:8): [True: 7, False: 730]
  ------------------
  360|       |				/* Only one stream can be here in old style  -- abort */
  361|      7|				return (-1);
  362|      7|			}
  363|    730|			TAILQ_INSERT_TAIL(q, control, next_instrm);
  364|    730|			control->on_strm_q = SCTP_ON_UNORDERED;
  ------------------
  |  |  554|    730|#define SCTP_ON_UNORDERED 2
  ------------------
  365|    730|			return (0);
  366|    737|		}
  367|  2.30k|	} else {
  368|  2.30k|		q = &strm->inqueue;
  369|  2.30k|	}
  370|  3.24k|	if ((flags & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|  3.24k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
              	if ((flags & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|  3.24k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
  |  Branch (370:6): [True: 693, False: 2.55k]
  ------------------
  371|    693|		control->end_added = 1;
  372|    693|		control->first_frag_seen = 1;
  373|    693|		control->last_frag_seen = 1;
  374|    693|	}
  375|  3.24k|	if (TAILQ_EMPTY(q)) {
  376|       |		/* Empty queue */
  377|  1.82k|		TAILQ_INSERT_HEAD(q, control, next_instrm);
  378|  1.82k|		if (unordered) {
  ------------------
  |  Branch (378:7): [True: 331, False: 1.49k]
  ------------------
  379|    331|			control->on_strm_q = SCTP_ON_UNORDERED;
  ------------------
  |  |  554|    331|#define SCTP_ON_UNORDERED 2
  ------------------
  380|  1.49k|		} else {
  381|  1.49k|			control->on_strm_q = SCTP_ON_ORDERED;
  ------------------
  |  |  553|  1.49k|#define SCTP_ON_ORDERED 1
  ------------------
  382|  1.49k|		}
  383|  1.82k|		return (0);
  384|  1.82k|	} else {
  385|  4.44k|		TAILQ_FOREACH(at, q, next_instrm) {
  386|  4.44k|			if (SCTP_MID_GT(asoc->idata_supported, at->mid, control->mid)) {
  ------------------
  |  |  891|  4.44k|#define SCTP_MID_GT(i, a, b) (((i) == 1) ? SCTP_UINT32_GT(a, b) : SCTP_UINT16_GT((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  883|  3.02k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 1.76k, False: 1.26k]
  |  |  |  |  |  Branch (883:43): [True: 132, False: 1.63k]
  |  |  |  |  ------------------
  |  |  |  |  884|  3.02k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 1.26k, False: 1.63k]
  |  |  |  |  |  Branch (884:43): [True: 514, False: 752]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define SCTP_MID_GT(i, a, b) (((i) == 1) ? SCTP_UINT32_GT(a, b) : SCTP_UINT16_GT((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  880|  1.41k|#define SCTP_UINT16_GT(a, b) (((a < b) && ((uint16_t)(b - a) > (1U<<15))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (880:32): [True: 714, False: 700]
  |  |  |  |  |  Branch (880:43): [True: 39, False: 675]
  |  |  |  |  ------------------
  |  |  |  |  881|  1.41k|                              ((a > b) && ((uint16_t)(a - b) < (1U<<15))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (881:32): [True: 698, False: 677]
  |  |  |  |  |  Branch (881:43): [True: 255, False: 443]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (891:30): [True: 940, False: 3.50k]
  |  |  |  Branch (891:31): [True: 3.02k, False: 1.41k]
  |  |  ------------------
  ------------------
  387|       |				/*
  388|       |				 * one in queue is bigger than the
  389|       |				 * new one, insert before this one
  390|       |				 */
  391|    940|				TAILQ_INSERT_BEFORE(at, control, next_instrm);
  392|    940|				if (unordered) {
  ------------------
  |  Branch (392:9): [True: 459, False: 481]
  ------------------
  393|    459|					control->on_strm_q = SCTP_ON_UNORDERED;
  ------------------
  |  |  554|    459|#define SCTP_ON_UNORDERED 2
  ------------------
  394|    481|				} else {
  395|    481|					control->on_strm_q = SCTP_ON_ORDERED;
  ------------------
  |  |  553|    481|#define SCTP_ON_ORDERED 1
  ------------------
  396|    481|				}
  397|    940|				break;
  398|  3.50k|			} else if (SCTP_MID_EQ(asoc->idata_supported, at->mid, control->mid)) {
  ------------------
  |  |  893|  3.50k|#define SCTP_MID_EQ(i, a, b) (((i) == 1) ? a == b : (uint16_t)a == (uint16_t)b)
  |  |  ------------------
  |  |  |  Branch (893:30): [True: 2, False: 3.50k]
  |  |  |  Branch (893:31): [True: 2.38k, False: 1.12k]
  |  |  ------------------
  ------------------
  399|       |				/*
  400|       |				 * Gak, He sent me a duplicate msg
  401|       |				 * id number?? return -1 to abort.
  402|       |				 */
  403|      2|				return (-1);
  404|  3.50k|			} else {
  405|  3.50k|				if (TAILQ_NEXT(at, next_instrm) == NULL) {
  ------------------
  |  Branch (405:9): [True: 483, False: 3.01k]
  ------------------
  406|       |					/*
  407|       |					 * We are at the end, insert
  408|       |					 * it after this one
  409|       |					 */
  410|    483|					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  584|    483|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_STR_LOGGING_ENABLE) {
  ------------------
  |  |  661|    483|#define SCTP_STR_LOGGING_ENABLE				0x00020000
  ------------------
  |  Branch (410:10): [True: 0, False: 483]
  ------------------
  411|      0|						sctp_log_strm_del(control, at,
  412|      0|								  SCTP_STR_LOG_FROM_INSERT_TL);
  ------------------
  |  |  119|      0|#define SCTP_STR_LOG_FROM_INSERT_TL 14
  ------------------
  413|      0|					}
  414|    483|					TAILQ_INSERT_AFTER(q, at, control, next_instrm);
  415|    483|					if (unordered) {
  ------------------
  |  Branch (415:10): [True: 155, False: 328]
  ------------------
  416|    155|						control->on_strm_q = SCTP_ON_UNORDERED;
  ------------------
  |  |  554|    155|#define SCTP_ON_UNORDERED 2
  ------------------
  417|    328|					} else {
  418|    328|						control->on_strm_q = SCTP_ON_ORDERED;
  ------------------
  |  |  553|    328|#define SCTP_ON_ORDERED 1
  ------------------
  419|    328|					}
  420|    483|					break;
  421|    483|				}
  422|  3.50k|			}
  423|  4.44k|		}
  424|  1.42k|	}
  425|  1.42k|	return (0);
  426|  3.24k|}
sctp_indata.c:sctp_clean_up_control:
  466|      9|{
  467|       |	/*
  468|       |	 * The control could not be placed and must be cleaned.
  469|       |	 */
  470|      9|	struct sctp_tmit_chunk *chk, *nchk;
  471|      9|	TAILQ_FOREACH_SAFE(chk, &control->reasm, sctp_next, nchk) {
  ------------------
  |  | 1123|      9|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|      9|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 9]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|      9|              (var) = (tvar))
  ------------------
  472|      0|		TAILQ_REMOVE(&control->reasm, chk, sctp_next);
  473|      0|		if (chk->data)
  ------------------
  |  Branch (473:7): [True: 0, False: 0]
  ------------------
  474|      0|			sctp_m_freem(chk->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
  475|      0|		chk->data = NULL;
  476|      0|		sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
  477|      0|	}
  478|      9|	sctp_free_remote_addr(control->whoFrom);
  ------------------
  |  |  228|      9|#define sctp_free_remote_addr(__net) { \
  |  |  229|      9|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 9, False: 0]
  |  |  ------------------
  |  |  230|      9|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      9|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      9|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 9]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      9|	} \
  |  |  245|      9|}
  ------------------
  479|      9|	if (control->data) {
  ------------------
  |  Branch (479:6): [True: 9, False: 0]
  ------------------
  480|      9|		sctp_m_freem(control->data);
  ------------------
  |  |   52|      9|#define sctp_m_freem m_freem
  ------------------
  481|      9|		control->data = NULL;
  482|      9|	}
  483|      9|	sctp_free_a_readq(stcb, control);
  ------------------
  |  |  105|      9|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|      9|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 9]
  |  |  ------------------
  |  |  107|      9|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|      9|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|      9|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      9|	free(element);  \
  |  |  |  |  703|      9|}
  |  |  ------------------
  |  |  109|      9|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|      9|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      9|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|      9|}
  ------------------
  484|      9|}
sctp_indata.c:sctp_queue_data_for_reasm:
 1388|  5.49k|{
 1389|  5.49k|	uint32_t next_fsn;
 1390|  5.49k|	struct sctp_tmit_chunk *at, *nat;
 1391|  5.49k|	struct sctp_stream_in *strm;
 1392|  5.49k|	int do_wakeup, unordered;
 1393|  5.49k|	uint32_t lenadded;
 1394|       |
 1395|  5.49k|	strm = &asoc->strmin[control->sinfo_stream];
 1396|       |	/*
 1397|       |	 * For old un-ordered data chunks.
 1398|       |	 */
 1399|  5.49k|	if ((control->sinfo_flags >> 8) & SCTP_DATA_UNORDERED) {
  ------------------
  |  |  518|  5.49k|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (1399:6): [True: 3.31k, False: 2.18k]
  ------------------
 1400|  3.31k|		unordered = 1;
 1401|  3.31k|	} else {
 1402|  2.18k|		unordered = 0;
 1403|  2.18k|	}
 1404|       |	/* Must be added to the stream-in queue */
 1405|  5.49k|	if (created_control) {
  ------------------
  |  Branch (1405:6): [True: 3.25k, False: 2.24k]
  ------------------
 1406|  3.25k|		if ((unordered == 0) || (asoc->idata_supported)) {
  ------------------
  |  Branch (1406:7): [True: 1.60k, False: 1.64k]
  |  Branch (1406:27): [True: 945, False: 699]
  ------------------
 1407|  2.55k|			sctp_ucount_incr(asoc->cnt_on_all_streams);
  ------------------
  |  |  266|  2.55k|#define sctp_ucount_incr(val) { \
  |  |  267|  2.55k|	val++; \
  |  |  268|  2.55k|}
  ------------------
 1408|  2.55k|		}
 1409|  3.25k|		if (sctp_place_control_in_stream(strm, asoc, control)) {
  ------------------
  |  Branch (1409:7): [True: 0, False: 3.25k]
  ------------------
 1410|       |			/* Duplicate SSN? */
 1411|      0|			sctp_abort_in_reasm(stcb, control, chk,
 1412|      0|					    abort_flag,
 1413|      0|					    SCTP_FROM_SCTP_INDATA + SCTP_LOC_6);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              					    SCTP_FROM_SCTP_INDATA + SCTP_LOC_6);
  ------------------
  |  |  774|      0|#define SCTP_LOC_6  0x00000006
  ------------------
 1414|      0|			sctp_clean_up_control(stcb, control);
 1415|      0|			return;
 1416|      0|		}
 1417|  3.25k|		if ((tsn == (asoc->cumulative_tsn + 1) && (asoc->idata_supported == 0))) {
  ------------------
  |  Branch (1417:8): [True: 80, False: 3.17k]
  |  Branch (1417:45): [True: 63, False: 17]
  ------------------
 1418|       |			/* Ok we created this control and now
 1419|       |			 * lets validate that its legal i.e. there
 1420|       |			 * is a B bit set, if not and we have
 1421|       |			 * up to the cum-ack then its invalid.
 1422|       |			 */
 1423|     63|			if ((chk->rec.data.rcv_flags & SCTP_DATA_FIRST_FRAG) == 0) {
  ------------------
  |  |  516|     63|#define SCTP_DATA_FIRST_FRAG       0x02
  ------------------
  |  Branch (1423:8): [True: 6, False: 57]
  ------------------
 1424|      6|				sctp_abort_in_reasm(stcb, control, chk,
 1425|      6|				                    abort_flag,
 1426|      6|				                    SCTP_FROM_SCTP_INDATA + SCTP_LOC_7);
  ------------------
  |  |  757|      6|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              				                    SCTP_FROM_SCTP_INDATA + SCTP_LOC_7);
  ------------------
  |  |  775|      6|#define SCTP_LOC_7  0x00000007
  ------------------
 1427|      6|				return;
 1428|      6|			}
 1429|     63|		}
 1430|  3.25k|	}
 1431|  5.48k|	if ((asoc->idata_supported == 0) && (unordered == 1)) {
  ------------------
  |  Branch (1431:6): [True: 3.42k, False: 2.06k]
  |  Branch (1431:38): [True: 2.24k, False: 1.17k]
  ------------------
 1432|  2.24k|		sctp_inject_old_unordered_data(stcb, asoc, control, chk, abort_flag);
 1433|  2.24k|		return;
 1434|  2.24k|	}
 1435|       |	/*
 1436|       |	 * Ok we must queue the chunk into the reasembly portion:
 1437|       |	 *  o if its the first it goes to the control mbuf.
 1438|       |	 *  o if its not first but the next in sequence it goes to the control,
 1439|       |	 *    and each succeeding one in order also goes.
 1440|       |	 *  o if its not in order we place it on the list in its place.
 1441|       |	 */
 1442|  3.24k|	if (chk->rec.data.rcv_flags & SCTP_DATA_FIRST_FRAG) {
  ------------------
  |  |  516|  3.24k|#define SCTP_DATA_FIRST_FRAG       0x02
  ------------------
  |  Branch (1442:6): [True: 1.13k, False: 2.10k]
  ------------------
 1443|       |		/* Its the very first one. */
 1444|  1.13k|		SCTPDBG(SCTP_DEBUG_XXX,
 1445|  1.13k|			"chunk is a first fsn: %u becomes fsn_included\n",
 1446|  1.13k|			chk->rec.data.fsn);
 1447|  1.13k|		if (control->first_frag_seen) {
  ------------------
  |  Branch (1447:7): [True: 1, False: 1.13k]
  ------------------
 1448|       |			/*
 1449|       |			 * Error on senders part, they either
 1450|       |			 * sent us two data chunks with FIRST,
 1451|       |			 * or they sent two un-ordered chunks that
 1452|       |			 * were fragmented at the same time in the same stream.
 1453|       |			 */
 1454|      1|			sctp_abort_in_reasm(stcb, control, chk,
 1455|      1|			                    abort_flag,
 1456|      1|			                    SCTP_FROM_SCTP_INDATA + SCTP_LOC_8);
  ------------------
  |  |  757|      1|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              			                    SCTP_FROM_SCTP_INDATA + SCTP_LOC_8);
  ------------------
  |  |  776|      1|#define SCTP_LOC_8  0x00000008
  ------------------
 1457|      1|			return;
 1458|      1|		}
 1459|  1.13k|		control->first_frag_seen = 1;
 1460|  1.13k|		control->sinfo_ppid = chk->rec.data.ppid;
 1461|  1.13k|		control->sinfo_tsn = chk->rec.data.tsn;
 1462|  1.13k|		control->fsn_included = chk->rec.data.fsn;
 1463|  1.13k|		control->data = chk->data;
 1464|  1.13k|		sctp_mark_non_revokable(asoc, chk->rec.data.tsn);
 1465|  1.13k|		chk->data = NULL;
 1466|  1.13k|		sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|  1.13k|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|  1.13k|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 1.13k]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|  1.13k|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 1.13k, False: 0]
  |  |  ------------------
  |  |  149|  1.13k|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|  1.13k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  1.13k|	do {                         \
  |  |  |  |  |  |  113|  1.13k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.13k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  1.13k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|  1.13k|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 1.13k, False: 0]
  |  |  ------------------
  |  |  151|  1.13k|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|  1.13k|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|  1.13k|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 1.13k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|  1.13k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|  1.13k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|  1.13k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 1.13k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|  1.13k|	} \
  |  |  |  |  245|  1.13k|}
  |  |  ------------------
  |  |  152|  1.13k|			(_chk)->whoTo = NULL; \
  |  |  153|  1.13k|		} \
  |  |  154|  1.13k|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|  1.13k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 1.13k]
  |  |  ------------------
  |  |  155|  1.13k|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|  1.13k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|  1.13k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 1.13k]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|  1.13k|		} else { \
  |  |  159|  1.13k|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|  1.13k|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|  1.13k|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|  1.13k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|  1.13k|		} \
  |  |  163|  1.13k|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|  1.13k|}
  ------------------
 1467|  1.13k|		sctp_setup_tail_pointer(control);
 1468|  1.13k|		asoc->size_on_all_streams += control->length;
 1469|  2.10k|	} else {
 1470|       |		/* Place the chunk in our list */
 1471|  2.10k|		int inserted=0;
 1472|  2.10k|		if (control->last_frag_seen == 0) {
  ------------------
  |  Branch (1472:7): [True: 1.90k, False: 203]
  ------------------
 1473|       |			/* Still willing to raise highest FSN seen */
 1474|  1.90k|			if (SCTP_TSN_GT(chk->rec.data.fsn, control->top_fsn)) {
  ------------------
  |  |  889|  1.90k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  1.90k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 169, False: 1.73k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 169]
  |  |  |  |  ------------------
  |  |  |  |  884|  1.90k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 298, False: 1.60k]
  |  |  |  |  |  Branch (884:43): [True: 251, False: 47]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1475|    251|				SCTPDBG(SCTP_DEBUG_XXX,
 1476|    251|					"We have a new top_fsn: %u\n",
 1477|    251|					chk->rec.data.fsn);
 1478|    251|				control->top_fsn = chk->rec.data.fsn;
 1479|    251|			}
 1480|  1.90k|			if (chk->rec.data.rcv_flags & SCTP_DATA_LAST_FRAG) {
  ------------------
  |  |  515|  1.90k|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
  |  Branch (1480:8): [True: 653, False: 1.25k]
  ------------------
 1481|    653|				SCTPDBG(SCTP_DEBUG_XXX,
 1482|    653|					"The last fsn is now in place fsn: %u\n",
 1483|    653|					chk->rec.data.fsn);
 1484|    653|				control->last_frag_seen = 1;
 1485|    653|				if (SCTP_TSN_GT(control->top_fsn, chk->rec.data.fsn)) {
  ------------------
  |  |  889|    653|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    653|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 36, False: 617]
  |  |  |  |  |  Branch (883:43): [True: 35, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  884|    653|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 48, False: 570]
  |  |  |  |  |  Branch (884:43): [True: 48, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1486|     83|					SCTPDBG(SCTP_DEBUG_XXX,
 1487|     83|						"New fsn: %u is not at top_fsn: %u -- abort\n",
 1488|     83|						chk->rec.data.fsn,
 1489|     83|						control->top_fsn);
 1490|     83|					sctp_abort_in_reasm(stcb, control, chk,
 1491|     83|							    abort_flag,
 1492|     83|							    SCTP_FROM_SCTP_INDATA + SCTP_LOC_9);
  ------------------
  |  |  757|     83|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              							    SCTP_FROM_SCTP_INDATA + SCTP_LOC_9);
  ------------------
  |  |  777|     83|#define SCTP_LOC_9  0x00000009
  ------------------
 1493|     83|					return;
 1494|     83|				}
 1495|    653|			}
 1496|  1.82k|			if (asoc->idata_supported || control->first_frag_seen) {
  ------------------
  |  Branch (1496:8): [True: 956, False: 864]
  |  Branch (1496:33): [True: 85, False: 779]
  ------------------
 1497|       |				/*
 1498|       |				 * For IDATA we always check since we know that
 1499|       |				 * the first fragment is 0. For old DATA we have
 1500|       |				 * to receive the first before we know the first FSN
 1501|       |				 * (which is the TSN).
 1502|       |				 */
 1503|  1.04k|				if (SCTP_TSN_GE(control->fsn_included, chk->rec.data.fsn)) {
  ------------------
  |  |  890|  1.04k|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|  1.04k|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|  2.08k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 169, False: 872]
  |  |  |  |  |  |  |  Branch (883:43): [True: 7, False: 162]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|  2.08k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 864, False: 170]
  |  |  |  |  |  |  |  Branch (884:43): [True: 71, False: 793]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 8, False: 955]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1504|       |					/* We have already delivered up to this so its a dup */
 1505|     86|					sctp_abort_in_reasm(stcb, control, chk,
 1506|     86|							    abort_flag,
 1507|     86|							    SCTP_FROM_SCTP_INDATA + SCTP_LOC_10);
  ------------------
  |  |  757|     86|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              							    SCTP_FROM_SCTP_INDATA + SCTP_LOC_10);
  ------------------
  |  |  778|     86|#define SCTP_LOC_10 0x0000000a
  ------------------
 1508|     86|					return;
 1509|     86|				}
 1510|  1.04k|			}
 1511|  1.82k|		} else {
 1512|    203|			if (chk->rec.data.rcv_flags & SCTP_DATA_LAST_FRAG) {
  ------------------
  |  |  515|    203|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
  |  Branch (1512:8): [True: 3, False: 200]
  ------------------
 1513|       |				/* Second last? huh? */
 1514|      3|				SCTPDBG(SCTP_DEBUG_XXX,
 1515|      3|					"Duplicate last fsn: %u (top: %u) -- abort\n",
 1516|      3|					chk->rec.data.fsn, control->top_fsn);
 1517|      3|				sctp_abort_in_reasm(stcb, control,
 1518|      3|						    chk, abort_flag,
 1519|      3|						    SCTP_FROM_SCTP_INDATA + SCTP_LOC_11);
  ------------------
  |  |  757|      3|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              						    SCTP_FROM_SCTP_INDATA + SCTP_LOC_11);
  ------------------
  |  |  779|      3|#define SCTP_LOC_11 0x0000000b
  ------------------
 1520|      3|				return;
 1521|      3|			}
 1522|    200|			if (asoc->idata_supported || control->first_frag_seen) {
  ------------------
  |  Branch (1522:8): [True: 98, False: 102]
  |  Branch (1522:33): [True: 47, False: 55]
  ------------------
 1523|       |				/*
 1524|       |				 * For IDATA we always check since we know that
 1525|       |				 * the first fragment is 0. For old DATA we have
 1526|       |				 * to receive the first before we know the first FSN
 1527|       |				 * (which is the TSN).
 1528|       |				 */
 1529|       |
 1530|    145|				if (SCTP_TSN_GE(control->fsn_included, chk->rec.data.fsn)) {
  ------------------
  |  |  890|    145|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|    145|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|    290|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 40, False: 105]
  |  |  |  |  |  |  |  Branch (883:43): [True: 1, False: 39]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|    290|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 104, False: 40]
  |  |  |  |  |  |  |  Branch (884:43): [True: 33, False: 71]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 1, False: 110]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1531|       |					/* We have already delivered up to this so its a dup */
 1532|     35|					SCTPDBG(SCTP_DEBUG_XXX,
 1533|     35|						"New fsn: %u is already seen in included_fsn: %u -- abort\n",
 1534|     35|						chk->rec.data.fsn, control->fsn_included);
 1535|     35|					sctp_abort_in_reasm(stcb, control, chk,
 1536|     35|							    abort_flag,
 1537|     35|							    SCTP_FROM_SCTP_INDATA + SCTP_LOC_12);
  ------------------
  |  |  757|     35|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              							    SCTP_FROM_SCTP_INDATA + SCTP_LOC_12);
  ------------------
  |  |  780|     35|#define SCTP_LOC_12 0x0000000c
  ------------------
 1538|     35|					return;
 1539|     35|				}
 1540|    145|			}
 1541|       |			/* validate not beyond top FSN if we have seen last one */
 1542|    165|			if (SCTP_TSN_GT(chk->rec.data.fsn, control->top_fsn)) {
  ------------------
  |  |  889|    165|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    165|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 113, False: 52]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 113]
  |  |  |  |  ------------------
  |  |  |  |  884|    165|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 51, False: 114]
  |  |  |  |  |  Branch (884:43): [True: 50, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1543|     50|				SCTPDBG(SCTP_DEBUG_XXX,
 1544|     50|					"New fsn: %u is beyond or at top_fsn: %u -- abort\n",
 1545|     50|					chk->rec.data.fsn,
 1546|     50|					control->top_fsn);
 1547|     50|				sctp_abort_in_reasm(stcb, control, chk,
 1548|     50|						    abort_flag,
 1549|     50|						    SCTP_FROM_SCTP_INDATA + SCTP_LOC_13);
  ------------------
  |  |  757|     50|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              						    SCTP_FROM_SCTP_INDATA + SCTP_LOC_13);
  ------------------
  |  |  781|     50|#define SCTP_LOC_13 0x0000000d
  ------------------
 1550|     50|				return;
 1551|     50|			}
 1552|    165|		}
 1553|       |		/*
 1554|       |		 * If we reach here, we need to place the
 1555|       |		 * new chunk in the reassembly for this
 1556|       |		 * control.
 1557|       |		 */
 1558|  1.84k|		SCTPDBG(SCTP_DEBUG_XXX,
 1559|  1.84k|			"chunk is a not first fsn: %u needs to be inserted\n",
 1560|  1.84k|			chk->rec.data.fsn);
 1561|  1.84k|		TAILQ_FOREACH(at, &control->reasm, sctp_next) {
 1562|    874|			if (SCTP_TSN_GT(at->rec.data.fsn, chk->rec.data.fsn)) {
  ------------------
  |  |  889|    874|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    874|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 638, False: 236]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 638]
  |  |  |  |  ------------------
  |  |  |  |  884|    874|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 235, False: 639]
  |  |  |  |  |  Branch (884:43): [True: 235, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1563|    235|				if (chk->rec.data.rcv_flags & SCTP_DATA_LAST_FRAG) {
  ------------------
  |  |  515|    235|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
  |  Branch (1563:9): [True: 1, False: 234]
  ------------------
 1564|       |					/* Last not at the end? huh? */
 1565|      1|					SCTPDBG(SCTP_DEBUG_XXX,
 1566|      1|					        "Last fragment not last in list: -- abort\n");
 1567|      1|					sctp_abort_in_reasm(stcb, control,
 1568|      1|					                    chk, abort_flag,
 1569|      1|					                    SCTP_FROM_SCTP_INDATA + SCTP_LOC_14);
  ------------------
  |  |  757|      1|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              					                    SCTP_FROM_SCTP_INDATA + SCTP_LOC_14);
  ------------------
  |  |  782|      1|#define SCTP_LOC_14 0x0000000e
  ------------------
 1570|      1|					return;
 1571|      1|				}
 1572|       |				/*
 1573|       |				 * This one in queue is bigger than the new one, insert
 1574|       |				 * the new one before at.
 1575|       |				 */
 1576|    234|				SCTPDBG(SCTP_DEBUG_XXX,
 1577|    234|					"Insert it before fsn: %u\n",
 1578|    234|					at->rec.data.fsn);
 1579|    234|				asoc->size_on_reasm_queue += chk->send_size;
 1580|    234|				sctp_ucount_incr(asoc->cnt_on_reasm_queue);
  ------------------
  |  |  266|    234|#define sctp_ucount_incr(val) { \
  |  |  267|    234|	val++; \
  |  |  268|    234|}
  ------------------
 1581|    234|				TAILQ_INSERT_BEFORE(at, chk, sctp_next);
 1582|    234|				inserted = 1;
 1583|    234|				break;
 1584|    639|			} else if (at->rec.data.fsn == chk->rec.data.fsn) {
  ------------------
  |  Branch (1584:15): [True: 1, False: 638]
  ------------------
 1585|       |				/* Gak, He sent me a duplicate str seq number */
 1586|       |				/*
 1587|       |				 * foo bar, I guess I will just free this new guy,
 1588|       |				 * should we abort too? FIX ME MAYBE? Or it COULD be
 1589|       |				 * that the SSN's have wrapped. Maybe I should
 1590|       |				 * compare to TSN somehow... sigh for now just blow
 1591|       |				 * away the chunk!
 1592|       |				 */
 1593|      1|				SCTPDBG(SCTP_DEBUG_XXX,
 1594|      1|					"Duplicate to fsn: %u -- abort\n",
 1595|      1|					at->rec.data.fsn);
 1596|      1|				sctp_abort_in_reasm(stcb, control,
 1597|      1|						    chk, abort_flag,
 1598|      1|						    SCTP_FROM_SCTP_INDATA + SCTP_LOC_15);
  ------------------
  |  |  757|      1|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              						    SCTP_FROM_SCTP_INDATA + SCTP_LOC_15);
  ------------------
  |  |  783|      1|#define SCTP_LOC_15 0x0000000f
  ------------------
 1599|      1|				return;
 1600|      1|			}
 1601|    874|		}
 1602|  1.84k|		if (inserted == 0) {
  ------------------
  |  Branch (1602:7): [True: 1.61k, False: 234]
  ------------------
 1603|       |			/* Goes on the end */
 1604|  1.61k|			SCTPDBG(SCTP_DEBUG_XXX, "Inserting at tail of list fsn: %u\n",
 1605|  1.61k|				chk->rec.data.fsn);
 1606|  1.61k|			asoc->size_on_reasm_queue += chk->send_size;
 1607|  1.61k|			sctp_ucount_incr(asoc->cnt_on_reasm_queue);
  ------------------
  |  |  266|  1.61k|#define sctp_ucount_incr(val) { \
  |  |  267|  1.61k|	val++; \
  |  |  268|  1.61k|}
  ------------------
 1608|  1.61k|			TAILQ_INSERT_TAIL(&control->reasm, chk, sctp_next);
 1609|  1.61k|		}
 1610|  1.84k|	}
 1611|       |	/*
 1612|       |	 * Ok lets see if we can suck any up into the control
 1613|       |	 * structure that are in seq if it makes sense.
 1614|       |	 */
 1615|  2.98k|	do_wakeup = 0;
 1616|       |	/*
 1617|       |	 * If the first fragment has not been
 1618|       |	 * seen there is no sense in looking.
 1619|       |	 */
 1620|  2.98k|	if (control->first_frag_seen) {
  ------------------
  |  Branch (1620:6): [True: 1.31k, False: 1.66k]
  ------------------
 1621|  1.31k|		next_fsn = control->fsn_included + 1;
 1622|  1.31k|		TAILQ_FOREACH_SAFE(at, &control->reasm, sctp_next, nat) {
  ------------------
  |  | 1123|  1.31k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  1.37k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 217, False: 1.16k]
  |  |  |  Branch (1124:24): [True: 217, False: 0]
  |  |  ------------------
  |  | 1125|  1.31k|              (var) = (tvar))
  ------------------
 1623|    217|			if (at->rec.data.fsn == next_fsn) {
  ------------------
  |  Branch (1623:8): [True: 63, False: 154]
  ------------------
 1624|       |				/* We can add this one now to the control */
 1625|     63|				SCTPDBG(SCTP_DEBUG_XXX,
 1626|     63|					"Adding more to control: %p at: %p fsn: %u next_fsn: %u included: %u\n",
 1627|     63|					control, at,
 1628|     63|					at->rec.data.fsn,
 1629|     63|					next_fsn, control->fsn_included);
 1630|     63|				TAILQ_REMOVE(&control->reasm, at, sctp_next);
 1631|     63|				lenadded = sctp_add_chk_to_control(control, strm, stcb, asoc, at, SCTP_READ_LOCK_NOT_HELD);
  ------------------
  |  |   41|     63|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
 1632|     63|				if (control->on_read_q) {
  ------------------
  |  Branch (1632:9): [True: 0, False: 63]
  ------------------
 1633|      0|					do_wakeup = 1;
 1634|     63|				} else {
 1635|       |					/*
 1636|       |					 * We only add to the size-on-all-streams
 1637|       |					 * if its not on the read q. The read q
 1638|       |					 * flag will cause a sballoc so its accounted
 1639|       |					 * for there.
 1640|       |					 */
 1641|     63|					asoc->size_on_all_streams += lenadded;
 1642|     63|				}
 1643|     63|				next_fsn++;
 1644|     63|				if (control->end_added && control->pdapi_started) {
  ------------------
  |  Branch (1644:9): [True: 32, False: 31]
  |  Branch (1644:31): [True: 0, False: 32]
  ------------------
 1645|      0|					if (strm->pd_api_started) {
  ------------------
  |  Branch (1645:10): [True: 0, False: 0]
  ------------------
 1646|      0|						strm->pd_api_started = 0;
 1647|      0|						control->pdapi_started = 0;
 1648|      0|					}
 1649|      0|					if (control->on_read_q == 0) {
  ------------------
  |  Branch (1649:10): [True: 0, False: 0]
  ------------------
 1650|      0|						sctp_add_to_readq(stcb->sctp_ep, stcb,
 1651|      0|								  control,
 1652|      0|								  &stcb->sctp_socket->so_rcv, control->end_added,
 1653|      0|								  SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |   41|      0|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
              								  SCTP_READ_LOCK_NOT_HELD, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1654|      0|					}
 1655|      0|					break;
 1656|      0|				}
 1657|    154|			} else {
 1658|    154|				break;
 1659|    154|			}
 1660|    217|		}
 1661|  1.31k|	}
 1662|  2.98k|	if (do_wakeup) {
  ------------------
  |  Branch (1662:6): [True: 0, False: 2.98k]
  ------------------
 1663|      0|#if defined(__Userspace__)
 1664|      0|		sctp_invoke_recv_callback(stcb->sctp_ep, stcb, control, SCTP_READ_LOCK_NOT_HELD);
  ------------------
  |  |   41|      0|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
 1665|      0|#endif
 1666|       |		/* Need to wakeup the reader */
 1667|      0|		sctp_wakeup_the_read_socket(stcb->sctp_ep, stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1668|      0|	}
 1669|  2.98k|}
sctp_indata.c:sctp_abort_in_reasm:
  433|    266|{
  434|    266|	char msg[SCTP_DIAG_INFO_LEN];
  435|    266|	struct mbuf *oper;
  436|       |
  437|    266|	if (stcb->asoc.idata_supported) {
  ------------------
  |  Branch (437:6): [True: 216, False: 50]
  ------------------
  438|    216|		SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|    216|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 216]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
  439|    216|		              "Reass %x,CF:%x,TSN=%8.8x,SID=%4.4x,FSN=%8.8x,MID:%8.8x",
  440|    216|		              opspot,
  441|    216|		              control->fsn_included,
  442|    216|		              chk->rec.data.tsn,
  443|    216|		              chk->rec.data.sid,
  444|    216|		              chk->rec.data.fsn, chk->rec.data.mid);
  445|    216|	} else {
  446|     50|		SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|     50|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 50]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
  447|     50|		              "Reass %x,CI:%x,TSN=%8.8x,SID=%4.4x,FSN=%4.4x,SSN:%4.4x",
  448|     50|		              opspot,
  449|     50|		              control->fsn_included,
  450|     50|		              chk->rec.data.tsn,
  451|     50|		              chk->rec.data.sid,
  452|     50|		              chk->rec.data.fsn,
  453|     50|		              (uint16_t)chk->rec.data.mid);
  454|     50|	}
  455|    266|	oper = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|    266|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
  456|    266|	sctp_m_freem(chk->data);
  ------------------
  |  |   52|    266|#define sctp_m_freem m_freem
  ------------------
  457|    266|	chk->data = NULL;
  458|    266|	sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|    266|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|    266|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 266]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|    266|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 266, False: 0]
  |  |  ------------------
  |  |  149|    266|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|    266|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|    266|	do {                         \
  |  |  |  |  |  |  113|    266|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 266]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|    266|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|    266|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 266, False: 0]
  |  |  ------------------
  |  |  151|    266|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|    266|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|    266|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 266, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|    266|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|    266|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|    266|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 266]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|    266|	} \
  |  |  |  |  245|    266|}
  |  |  ------------------
  |  |  152|    266|			(_chk)->whoTo = NULL; \
  |  |  153|    266|		} \
  |  |  154|    266|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|    266|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 266]
  |  |  ------------------
  |  |  155|    266|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|    266|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|    266|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 266]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|    266|		} else { \
  |  |  159|    266|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|    266|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|    266|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|    266|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|    266|		} \
  |  |  163|    266|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|    266|}
  ------------------
  459|    266|	stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_1;
  ------------------
  |  |  757|    266|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              	stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_1;
  ------------------
  |  |  769|    266|#define SCTP_LOC_1  0x00000001
  ------------------
  460|    266|	sctp_abort_an_association(stcb->sctp_ep, stcb, oper, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    266|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  461|    266|	*abort_flag = 1;
  462|    266|}
sctp_indata.c:sctp_inject_old_unordered_data:
  948|  2.24k|{
  949|  2.24k|	struct sctp_tmit_chunk *at;
  950|  2.24k|	int inserted;
  951|       |	/*
  952|       |	 * Here we need to place the chunk into the control structure
  953|       |	 * sorted in the correct order.
  954|       |	 */
  955|  2.24k|	if (chk->rec.data.rcv_flags & SCTP_DATA_FIRST_FRAG) {
  ------------------
  |  |  516|  2.24k|#define SCTP_DATA_FIRST_FRAG       0x02
  ------------------
  |  Branch (955:6): [True: 1.29k, False: 952]
  ------------------
  956|       |		/* Its the very first one. */
  957|  1.29k|		SCTPDBG(SCTP_DEBUG_XXX,
  958|  1.29k|			"chunk is a first fsn: %u becomes fsn_included\n",
  959|  1.29k|			chk->rec.data.fsn);
  960|  1.29k|		at = TAILQ_FIRST(&control->reasm);
  961|  1.29k|		if (at && SCTP_TSN_GT(chk->rec.data.fsn, at->rec.data.fsn)) {
  ------------------
  |  |  889|    683|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    683|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 254, False: 429]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 254]
  |  |  |  |  ------------------
  |  |  |  |  884|    683|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 429, False: 254]
  |  |  |  |  |  Branch (884:43): [True: 429, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (961:7): [True: 683, False: 612]
  ------------------
  962|       |			/*
  963|       |			 * The first chunk in the reassembly is
  964|       |			 * a smaller TSN than this one, even though
  965|       |			 * this has a first, it must be from a subsequent
  966|       |			 * msg.
  967|       |			 */
  968|    429|			goto place_chunk;
  969|    429|		}
  970|    866|		if (control->first_frag_seen) {
  ------------------
  |  Branch (970:7): [True: 339, False: 527]
  ------------------
  971|       |			/*
  972|       |			 * In old un-ordered we can reassembly on
  973|       |			 * one control multiple messages. As long
  974|       |			 * as the next FIRST is greater then the old
  975|       |			 * first (TSN i.e. FSN wise)
  976|       |			 */
  977|    339|			struct mbuf *tdata;
  978|    339|			uint32_t tmp;
  979|       |
  980|    339|			if (SCTP_TSN_GT(chk->rec.data.fsn, control->fsn_included)) {
  ------------------
  |  |  889|    339|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    339|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 195, False: 144]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 195]
  |  |  |  |  ------------------
  |  |  |  |  884|    339|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 144, False: 195]
  |  |  |  |  |  Branch (884:43): [True: 144, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  981|       |				/* Easy way the start of a new guy beyond the lowest */
  982|    144|				goto place_chunk;
  983|    144|			}
  984|    195|			if ((chk->rec.data.fsn == control->fsn_included) ||
  ------------------
  |  Branch (984:8): [True: 0, False: 195]
  ------------------
  985|    195|			    (control->pdapi_started)) {
  ------------------
  |  Branch (985:8): [True: 0, False: 195]
  ------------------
  986|       |				/*
  987|       |				 * Ok this should not happen, if it does
  988|       |				 * we started the pd-api on the higher TSN (since
  989|       |				 * the equals part is a TSN failure it must be that).
  990|       |				 *
  991|       |				 * We are completely hosed in that case since I have
  992|       |				 * no way to recover. This really will only happen
  993|       |				 * if we can get more TSN's higher before the pd-api-point.
  994|       |				 */
  995|      0|				sctp_abort_in_reasm(stcb, control, chk,
  996|      0|						    abort_flag,
  997|      0|						    SCTP_FROM_SCTP_INDATA + SCTP_LOC_4);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              						    SCTP_FROM_SCTP_INDATA + SCTP_LOC_4);
  ------------------
  |  |  772|      0|#define SCTP_LOC_4  0x00000004
  ------------------
  998|       |
  999|      0|				return;
 1000|      0|			}
 1001|       |			/*
 1002|       |			 * Ok we have two firsts and the one we just got
 1003|       |			 * is smaller than the one we previously placed.. yuck!
 1004|       |			 * We must swap them out.
 1005|       |			 */
 1006|       |			/* swap the mbufs */
 1007|    195|			tdata = control->data;
 1008|    195|			control->data = chk->data;
 1009|    195|			chk->data = tdata;
 1010|       |			/* Save the lengths */
 1011|    195|			chk->send_size = control->length;
 1012|       |			/* Recompute length of control and tail pointer */
 1013|    195|			sctp_setup_tail_pointer(control);
 1014|       |			/* Fix the FSN included */
 1015|    195|			tmp = control->fsn_included;
 1016|    195|			control->fsn_included = chk->rec.data.fsn;
 1017|    195|			chk->rec.data.fsn = tmp;
 1018|       |			/* Fix the TSN included */
 1019|    195|			tmp = control->sinfo_tsn;
 1020|    195|			control->sinfo_tsn = chk->rec.data.tsn;
 1021|    195|			chk->rec.data.tsn = tmp;
 1022|       |			/* Fix the PPID included */
 1023|    195|			tmp = control->sinfo_ppid;
 1024|    195|			control->sinfo_ppid = chk->rec.data.ppid;
 1025|    195|			chk->rec.data.ppid = tmp;
 1026|       |			/* Fix tail pointer */
 1027|    195|			goto place_chunk;
 1028|    195|		}
 1029|    527|		control->first_frag_seen = 1;
 1030|    527|		control->fsn_included = chk->rec.data.fsn;
 1031|    527|		control->top_fsn = chk->rec.data.fsn;
 1032|    527|		control->sinfo_tsn = chk->rec.data.tsn;
 1033|    527|		control->sinfo_ppid = chk->rec.data.ppid;
 1034|    527|		control->data = chk->data;
 1035|    527|		sctp_mark_non_revokable(asoc, chk->rec.data.tsn);
 1036|    527|		chk->data = NULL;
 1037|    527|		sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|    527|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|    527|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 527]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|    527|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 527, False: 0]
  |  |  ------------------
  |  |  149|    527|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|    527|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|    527|	do {                         \
  |  |  |  |  |  |  113|    527|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 527]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|    527|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|    527|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 527, False: 0]
  |  |  ------------------
  |  |  151|    527|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|    527|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|    527|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 527, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|    527|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|    527|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|    527|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 527]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|    527|	} \
  |  |  |  |  245|    527|}
  |  |  ------------------
  |  |  152|    527|			(_chk)->whoTo = NULL; \
  |  |  153|    527|		} \
  |  |  154|    527|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|    527|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 527]
  |  |  ------------------
  |  |  155|    527|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|    527|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|    527|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 527]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|    527|		} else { \
  |  |  159|    527|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|    527|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|    527|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|    527|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|    527|		} \
  |  |  163|    527|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|    527|}
  ------------------
 1038|    527|		sctp_setup_tail_pointer(control);
 1039|    527|		return;
 1040|    527|	}
 1041|  1.72k|place_chunk:
 1042|  1.72k|	inserted = 0;
 1043|  5.00k|	TAILQ_FOREACH(at, &control->reasm, sctp_next) {
 1044|  5.00k|		if (SCTP_TSN_GT(at->rec.data.fsn, chk->rec.data.fsn)) {
  ------------------
  |  |  889|  5.00k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  5.00k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 4.04k, False: 964]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 4.04k]
  |  |  |  |  ------------------
  |  |  |  |  884|  5.00k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 964, False: 4.04k]
  |  |  |  |  |  Branch (884:43): [True: 964, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1045|       |			/*
 1046|       |			 * This one in queue is bigger than the new one, insert
 1047|       |			 * the new one before at.
 1048|       |			 */
 1049|    964|			asoc->size_on_reasm_queue += chk->send_size;
 1050|    964|			sctp_ucount_incr(asoc->cnt_on_reasm_queue);
  ------------------
  |  |  266|    964|#define sctp_ucount_incr(val) { \
  |  |  267|    964|	val++; \
  |  |  268|    964|}
  ------------------
 1051|    964|			inserted = 1;
 1052|    964|			TAILQ_INSERT_BEFORE(at, chk, sctp_next);
 1053|    964|			break;
 1054|  4.04k|		} else if (at->rec.data.fsn == chk->rec.data.fsn) {
  ------------------
  |  Branch (1054:14): [True: 0, False: 4.04k]
  ------------------
 1055|       |			/*
 1056|       |			 * They sent a duplicate fsn number. This
 1057|       |			 * really should not happen since the FSN is
 1058|       |			 * a TSN and it should have been dropped earlier.
 1059|       |			 */
 1060|      0|			sctp_abort_in_reasm(stcb, control, chk,
 1061|      0|			                    abort_flag,
 1062|      0|			                    SCTP_FROM_SCTP_INDATA + SCTP_LOC_5);
  ------------------
  |  |  757|      0|#define SCTP_FROM_SCTP_INDATA       0x30000000
  ------------------
              			                    SCTP_FROM_SCTP_INDATA + SCTP_LOC_5);
  ------------------
  |  |  773|      0|#define SCTP_LOC_5  0x00000005
  ------------------
 1063|      0|			return;
 1064|      0|		}
 1065|  5.00k|	}
 1066|  1.72k|	if (inserted == 0) {
  ------------------
  |  Branch (1066:6): [True: 756, False: 964]
  ------------------
 1067|       |		/* Its at the end */
 1068|    756|		asoc->size_on_reasm_queue += chk->send_size;
 1069|    756|		sctp_ucount_incr(asoc->cnt_on_reasm_queue);
  ------------------
  |  |  266|    756|#define sctp_ucount_incr(val) { \
  |  |  267|    756|	val++; \
  |  |  268|    756|}
  ------------------
 1070|    756|		control->top_fsn = chk->rec.data.fsn;
 1071|    756|		TAILQ_INSERT_TAIL(&control->reasm, chk, sctp_next);
 1072|    756|	}
 1073|  1.72k|}
sctp_indata.c:sctp_setup_tail_pointer:
  663|  2.00k|{
  664|  2.00k|	struct mbuf *m, *prev = NULL;
  665|  2.00k|	struct sctp_tcb *stcb;
  666|       |
  667|  2.00k|	stcb = control->stcb;
  668|  2.00k|	control->held_length = 0;
  669|  2.00k|	control->length = 0;
  670|  2.00k|	m = control->data;
  671|  4.72k|	while (m) {
  ------------------
  |  Branch (671:9): [True: 2.72k, False: 2.00k]
  ------------------
  672|  2.72k|		if (SCTP_BUF_LEN(m) == 0) {
  ------------------
  |  |  795|  2.72k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.72k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (672:7): [True: 403, False: 2.31k]
  ------------------
  673|       |			/* Skip mbufs with NO length */
  674|    403|			if (prev == NULL) {
  ------------------
  |  Branch (674:8): [True: 403, False: 0]
  ------------------
  675|       |				/* First one */
  676|    403|				control->data = sctp_m_free(m);
  ------------------
  |  |   51|    403|#define sctp_m_free m_free
  ------------------
  677|    403|				m = control->data;
  678|    403|			} else {
  679|      0|				SCTP_BUF_NEXT(prev) = sctp_m_free(m);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
              				SCTP_BUF_NEXT(prev) = sctp_m_free(m);
  ------------------
  |  |   51|      0|#define sctp_m_free m_free
  ------------------
  680|      0|				m = SCTP_BUF_NEXT(prev);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  681|      0|			}
  682|    403|			if (m == NULL) {
  ------------------
  |  Branch (682:8): [True: 0, False: 403]
  ------------------
  683|      0|				control->tail_mbuf = prev;
  684|      0|			}
  685|    403|			continue;
  686|    403|		}
  687|  2.31k|		prev = m;
  688|  2.31k|		atomic_add_int(&control->length, SCTP_BUF_LEN(m));
  ------------------
  |  |   94|  2.31k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  689|  2.31k|		if (control->on_read_q) {
  ------------------
  |  Branch (689:7): [True: 0, False: 2.31k]
  ------------------
  690|       |			/*
  691|       |			 * On read queue so we must increment the
  692|       |			 * SB stuff, we assume caller has done any locks of SB.
  693|       |			 */
  694|      0|			sctp_sballoc(stcb, &stcb->sctp_socket->so_rcv, m);
  ------------------
  |  |  256|      0|#define sctp_sballoc(stcb, sb, m) { \
  |  |  257|      0|	SCTP_SB_INCR(sb, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |  963|      0|#define SCTP_SB_INCR(sb, incr)			\
  |  |  |  |  964|      0|{						\
  |  |  |  |  965|      0|	atomic_add_int(&(sb)->sb_cc, incr);	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  |  |  966|      0|}
  |  |  ------------------
  |  |  258|      0|	atomic_add_int(&(sb)->sb_mbcnt, MSIZE); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  259|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (259:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  260|      0|		atomic_add_int(&(stcb)->asoc.sb_cc, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  261|      0|		atomic_add_int(&(stcb)->asoc.my_rwnd_control_len, MSIZE); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  262|      0|	} \
  |  |  263|      0|}
  ------------------
  695|      0|		}
  696|  2.31k|		m = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|  2.31k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  2.31k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  697|  2.31k|	}
  698|  2.00k|	if (prev) {
  ------------------
  |  Branch (698:6): [True: 2.00k, False: 0]
  ------------------
  699|  2.00k|		control->tail_mbuf = prev;
  700|  2.00k|	}
  701|  2.00k|}
sctp_indata.c:sctp_add_chk_to_control:
 1303|    532|{
 1304|       |	/*
 1305|       |	 * Given a control and a chunk, merge the
 1306|       |	 * data from the chk onto the control and free
 1307|       |	 * up the chunk resources.
 1308|       |	 */
 1309|    532|	uint32_t added = 0;
 1310|    532|	bool i_locked = false;
 1311|       |
 1312|    532|	if (control->on_read_q) {
  ------------------
  |  Branch (1312:6): [True: 0, False: 532]
  ------------------
 1313|      0|		if (hold_rlock == 0) {
  ------------------
  |  Branch (1313:7): [True: 0, False: 0]
  ------------------
 1314|       |			/* Its being pd-api'd so we must do some locks. */
 1315|      0|			SCTP_INP_READ_LOCK(stcb->sctp_ep);
  ------------------
  |  |  346|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1316|      0|			i_locked = true;
 1317|      0|		}
 1318|      0|		if (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_CANT_READ) {
  ------------------
  |  |  551|      0|#define SCTP_PCB_FLAGS_SOCKET_CANT_READ	0x40000000
  ------------------
  |  Branch (1318:7): [True: 0, False: 0]
  ------------------
 1319|      0|			goto out;
 1320|      0|		}
 1321|      0|	}
 1322|    532|	if (control->data == NULL) {
  ------------------
  |  Branch (1322:6): [True: 0, False: 532]
  ------------------
 1323|      0|		control->data = chk->data;
 1324|      0|		sctp_setup_tail_pointer(control);
 1325|    532|	} else {
 1326|    532|		sctp_add_to_tail_pointer(control, chk->data, &added);
 1327|    532|	}
 1328|    532|	control->fsn_included = chk->rec.data.fsn;
 1329|    532|	asoc->size_on_reasm_queue -= chk->send_size;
 1330|    532|	sctp_ucount_decr(asoc->cnt_on_reasm_queue);
  ------------------
  |  |  270|    532|#define sctp_ucount_decr(val) { \
  |  |  271|    532|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 532, False: 0]
  |  |  ------------------
  |  |  272|    532|		val--; \
  |  |  273|    532|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|    532|}
  ------------------
 1331|    532|	sctp_mark_non_revokable(asoc, chk->rec.data.tsn);
 1332|    532|	chk->data = NULL;
 1333|    532|	if (chk->rec.data.rcv_flags & SCTP_DATA_FIRST_FRAG) {
  ------------------
  |  |  516|    532|#define SCTP_DATA_FIRST_FRAG       0x02
  ------------------
  |  Branch (1333:6): [True: 142, False: 390]
  ------------------
 1334|    142|		control->first_frag_seen = 1;
 1335|    142|		control->sinfo_tsn = chk->rec.data.tsn;
 1336|    142|		control->sinfo_ppid = chk->rec.data.ppid;
 1337|    142|	}
 1338|    532|	if (chk->rec.data.rcv_flags & SCTP_DATA_LAST_FRAG) {
  ------------------
  |  |  515|    532|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
  |  Branch (1338:6): [True: 269, False: 263]
  ------------------
 1339|       |		/* Its complete */
 1340|    269|		if ((control->on_strm_q) && (control->on_read_q)) {
  ------------------
  |  Branch (1340:7): [True: 269, False: 0]
  |  Branch (1340:31): [True: 0, False: 269]
  ------------------
 1341|      0|			if (control->pdapi_started) {
  ------------------
  |  Branch (1341:8): [True: 0, False: 0]
  ------------------
 1342|      0|				control->pdapi_started = 0;
 1343|      0|				strm->pd_api_started = 0;
 1344|      0|			}
 1345|      0|			if (control->on_strm_q == SCTP_ON_UNORDERED) {
  ------------------
  |  |  554|      0|#define SCTP_ON_UNORDERED 2
  ------------------
  |  Branch (1345:8): [True: 0, False: 0]
  ------------------
 1346|       |				/* Unordered */
 1347|      0|				TAILQ_REMOVE(&strm->uno_inqueue, control, next_instrm);
 1348|      0|				control->on_strm_q = 0;
 1349|      0|			} else if (control->on_strm_q == SCTP_ON_ORDERED) {
  ------------------
  |  |  553|      0|#define SCTP_ON_ORDERED 1
  ------------------
  |  Branch (1349:15): [True: 0, False: 0]
  ------------------
 1350|       |				/* Ordered */
 1351|      0|				TAILQ_REMOVE(&strm->inqueue, control, next_instrm);
 1352|       |				/*
 1353|       |				 * Don't need to decrement size_on_all_streams,
 1354|       |				 * since control is on the read queue.
 1355|       |				 */
 1356|      0|				sctp_ucount_decr(asoc->cnt_on_all_streams);
  ------------------
  |  |  270|      0|#define sctp_ucount_decr(val) { \
  |  |  271|      0|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|		val--; \
  |  |  273|      0|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|      0|}
  ------------------
 1357|      0|				control->on_strm_q = 0;
 1358|      0|#ifdef INVARIANTS
 1359|      0|			} else if (control->on_strm_q) {
  ------------------
  |  Branch (1359:15): [True: 0, False: 0]
  ------------------
 1360|      0|				panic("Unknown state on ctrl: %p on_strm_q: %d", control,
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1361|      0|				      control->on_strm_q);
 1362|      0|#endif
 1363|      0|			}
 1364|      0|		}
 1365|    269|		control->end_added = 1;
 1366|    269|		control->last_frag_seen = 1;
 1367|    269|	}
 1368|    532|out:
 1369|    532|	if (i_locked) {
  ------------------
  |  Branch (1369:6): [True: 0, False: 532]
  ------------------
 1370|      0|		SCTP_INP_READ_UNLOCK(stcb->sctp_ep);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1371|      0|	}
 1372|    532|	sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|    532|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|    532|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 532]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|    532|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 532, False: 0]
  |  |  ------------------
  |  |  149|    532|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|    532|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|    532|	do {                         \
  |  |  |  |  |  |  113|    532|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 532]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|    532|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|    532|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 532, False: 0]
  |  |  ------------------
  |  |  151|    532|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|    532|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|    532|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 532, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|    532|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|    532|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|    532|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 532]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|    532|	} \
  |  |  |  |  245|    532|}
  |  |  ------------------
  |  |  152|    532|			(_chk)->whoTo = NULL; \
  |  |  153|    532|		} \
  |  |  154|    532|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|    532|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 17, False: 515]
  |  |  ------------------
  |  |  155|    532|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|    515|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|    515|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 515]
  |  |  ------------------
  |  |  156|     17|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|     17|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|     17|	free(element);  \
  |  |  |  |  703|     17|}
  |  |  ------------------
  |  |  157|     17|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|     17|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|     17|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|    515|		} else { \
  |  |  159|    515|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|    515|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|    515|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|    515|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|    515|		} \
  |  |  163|    532|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|    532|}
  ------------------
 1373|    532|	return (added);
 1374|    532|}
sctp_indata.c:sctp_add_to_tail_pointer:
  705|    532|{
  706|    532|	struct mbuf *prev=NULL;
  707|    532|	struct sctp_tcb *stcb;
  708|       |
  709|    532|	stcb = control->stcb;
  710|    532|	if (stcb == NULL) {
  ------------------
  |  Branch (710:6): [True: 0, False: 532]
  ------------------
  711|      0|#ifdef INVARIANTS
  712|      0|		panic("Control broken");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  713|       |#else
  714|       |		return;
  715|       |#endif
  716|      0|	}
  717|    532|	if (control->tail_mbuf == NULL) {
  ------------------
  |  Branch (717:6): [True: 0, False: 532]
  ------------------
  718|       |		/* TSNH */
  719|      0|		sctp_m_freem(control->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
  720|      0|		control->data = m;
  721|      0|		sctp_setup_tail_pointer(control);
  722|      0|		return;
  723|      0|	}
  724|    532|	control->tail_mbuf->m_next = m;
  ------------------
  |  |  217|    532|#define	m_next		m_hdr.mh_next
  ------------------
  725|  1.42k|	while (m) {
  ------------------
  |  Branch (725:9): [True: 894, False: 532]
  ------------------
  726|    894|		if (SCTP_BUF_LEN(m) == 0) {
  ------------------
  |  |  795|    894|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    894|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (726:7): [True: 167, False: 727]
  ------------------
  727|       |			/* Skip mbufs with NO length */
  728|    167|			if (prev == NULL) {
  ------------------
  |  Branch (728:8): [True: 167, False: 0]
  ------------------
  729|       |				/* First one */
  730|    167|				control->tail_mbuf->m_next = sctp_m_free(m);
  ------------------
  |  |  217|    167|#define	m_next		m_hdr.mh_next
  ------------------
              				control->tail_mbuf->m_next = sctp_m_free(m);
  ------------------
  |  |   51|    167|#define sctp_m_free m_free
  ------------------
  731|    167|				m = control->tail_mbuf->m_next;
  ------------------
  |  |  217|    167|#define	m_next		m_hdr.mh_next
  ------------------
  732|    167|			} else {
  733|      0|				SCTP_BUF_NEXT(prev) = sctp_m_free(m);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
              				SCTP_BUF_NEXT(prev) = sctp_m_free(m);
  ------------------
  |  |   51|      0|#define sctp_m_free m_free
  ------------------
  734|      0|				m = SCTP_BUF_NEXT(prev);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  735|      0|			}
  736|    167|			if (m == NULL) {
  ------------------
  |  Branch (736:8): [True: 0, False: 167]
  ------------------
  737|      0|				control->tail_mbuf = prev;
  738|      0|			}
  739|    167|			continue;
  740|    167|		}
  741|    727|		prev = m;
  742|    727|		if (control->on_read_q) {
  ------------------
  |  Branch (742:7): [True: 0, False: 727]
  ------------------
  743|       |			/*
  744|       |			 * On read queue so we must increment the
  745|       |			 * SB stuff, we assume caller has done any locks of SB.
  746|       |			 */
  747|      0|			sctp_sballoc(stcb, &stcb->sctp_socket->so_rcv, m);
  ------------------
  |  |  256|      0|#define sctp_sballoc(stcb, sb, m) { \
  |  |  257|      0|	SCTP_SB_INCR(sb, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |  963|      0|#define SCTP_SB_INCR(sb, incr)			\
  |  |  |  |  964|      0|{						\
  |  |  |  |  965|      0|	atomic_add_int(&(sb)->sb_cc, incr);	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  |  |  966|      0|}
  |  |  ------------------
  |  |  258|      0|	atomic_add_int(&(sb)->sb_mbcnt, MSIZE); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  259|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (259:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  260|      0|		atomic_add_int(&(stcb)->asoc.sb_cc, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  261|      0|		atomic_add_int(&(stcb)->asoc.my_rwnd_control_len, MSIZE); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  262|      0|	} \
  |  |  263|      0|}
  ------------------
  748|      0|		}
  749|    727|		*added += SCTP_BUF_LEN(m);
  ------------------
  |  |  795|    727|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    727|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  750|    727|		atomic_add_int(&control->length, SCTP_BUF_LEN(m));
  ------------------
  |  |   94|    727|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  751|    727|		m = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|    727|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    727|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  752|    727|	}
  753|    532|	if (prev) {
  ------------------
  |  Branch (753:6): [True: 532, False: 0]
  ------------------
  754|    532|		control->tail_mbuf = prev;
  755|    532|	}
  756|    532|}
sctp_indata.c:sctp_deliver_reasm_check:
 1078|  5.24k|{
 1079|       |	/*
 1080|       |	 * Given a stream, strm, see if any of
 1081|       |	 * the SSN's on it that are fragmented
 1082|       |	 * are ready to deliver. If so go ahead
 1083|       |	 * and place them on the read queue. In
 1084|       |	 * so placing if we have hit the end, then
 1085|       |	 * we need to remove them from the stream's queue.
 1086|       |	 */
 1087|  5.24k|	struct sctp_queued_to_read *control, *nctl = NULL;
 1088|  5.24k|	uint32_t next_to_del;
 1089|  5.24k|	uint32_t pd_point;
 1090|  5.24k|	int ret = 0;
 1091|       |
 1092|  5.24k|	if (stcb->sctp_socket) {
  ------------------
  |  Branch (1092:6): [True: 5.24k, False: 0]
  ------------------
 1093|  5.24k|		pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket) >> SCTP_PARTIAL_DELIVERY_SHIFT,
  ------------------
  |  |   66|  5.24k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 5.24k]
  |  |  ------------------
  ------------------
 1094|  5.24k|			       stcb->sctp_ep->partial_delivery_point);
 1095|  5.24k|	} else {
 1096|      0|		pd_point = stcb->sctp_ep->partial_delivery_point;
 1097|      0|	}
 1098|  5.24k|	control = TAILQ_FIRST(&strm->uno_inqueue);
 1099|       |
 1100|  5.24k|	if ((control != NULL) &&
  ------------------
  |  Branch (1100:6): [True: 3.57k, False: 1.66k]
  ------------------
 1101|  5.24k|	    (asoc->idata_supported == 0)) {
  ------------------
  |  Branch (1101:6): [True: 2.39k, False: 1.17k]
  ------------------
 1102|       |		/* Special handling needed for "old" data format */
 1103|  2.39k|		if (sctp_handle_old_unordered_data(stcb, asoc, strm, control, pd_point, inp_read_lock_held)) {
  ------------------
  |  Branch (1103:7): [True: 2.39k, False: 0]
  ------------------
 1104|  2.39k|			goto done_un;
 1105|  2.39k|		}
 1106|  2.39k|	}
 1107|  2.84k|	if (strm->pd_api_started) {
  ------------------
  |  Branch (1107:6): [True: 0, False: 2.84k]
  ------------------
 1108|       |		/* Can't add more */
 1109|      0|		return (0);
 1110|      0|	}
 1111|  8.63k|	while (control) {
  ------------------
  |  Branch (1111:9): [True: 5.79k, False: 2.84k]
  ------------------
 1112|  5.79k|		SCTPDBG(SCTP_DEBUG_XXX, "Looking at control: %p e(%d) ssn: %u top_fsn: %u inc_fsn: %u -uo\n",
 1113|  5.79k|			control, control->end_added, control->mid, control->top_fsn, control->fsn_included);
 1114|  5.79k|		nctl = TAILQ_NEXT(control, next_instrm);
 1115|  5.79k|		if (control->end_added) {
  ------------------
  |  Branch (1115:7): [True: 21, False: 5.77k]
  ------------------
 1116|       |			/* We just put the last bit on */
 1117|     21|			if (control->on_strm_q) {
  ------------------
  |  Branch (1117:8): [True: 21, False: 0]
  ------------------
 1118|     21|#ifdef INVARIANTS
 1119|     21|				if (control->on_strm_q != SCTP_ON_UNORDERED) {
  ------------------
  |  |  554|     21|#define SCTP_ON_UNORDERED 2
  ------------------
  |  Branch (1119:9): [True: 0, False: 21]
  ------------------
 1120|      0|					panic("Huh control: %p on_q: %d -- not unordered?",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1121|      0|					      control, control->on_strm_q);
 1122|      0|				}
 1123|     21|#endif
 1124|     21|				SCTP_STAT_INCR_COUNTER64(sctps_reasmusrmsgs);
  ------------------
  |  | 1128|     21|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|     21|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|     21|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|     21|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1125|     21|				TAILQ_REMOVE(&strm->uno_inqueue, control, next_instrm);
 1126|     21|				if (asoc->size_on_all_streams >= control->length) {
  ------------------
  |  Branch (1126:9): [True: 21, False: 0]
  ------------------
 1127|     21|					asoc->size_on_all_streams -= control->length;
 1128|     21|				} else {
 1129|      0|#ifdef INVARIANTS
 1130|      0|					panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1131|       |#else
 1132|       |					asoc->size_on_all_streams = 0;
 1133|       |#endif
 1134|      0|				}
 1135|     21|				sctp_ucount_decr(asoc->cnt_on_all_streams);
  ------------------
  |  |  270|     21|#define sctp_ucount_decr(val) { \
  |  |  271|     21|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 21, False: 0]
  |  |  ------------------
  |  |  272|     21|		val--; \
  |  |  273|     21|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|     21|}
  ------------------
 1136|     21|				control->on_strm_q = 0;
 1137|     21|			}
 1138|     21|			if (control->on_read_q == 0) {
  ------------------
  |  Branch (1138:8): [True: 21, False: 0]
  ------------------
 1139|     21|				sctp_add_to_readq(stcb->sctp_ep, stcb,
 1140|     21|						  control,
 1141|     21|						  &stcb->sctp_socket->so_rcv, control->end_added,
 1142|     21|						  inp_read_lock_held, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     21|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1143|     21|			}
 1144|  5.77k|		} else {
 1145|       |			/* Can we do a PD-API for this un-ordered guy? */
 1146|  5.77k|			if ((control->length >= pd_point) && (strm->pd_api_started == 0)) {
  ------------------
  |  Branch (1146:8): [True: 0, False: 5.77k]
  |  Branch (1146:41): [True: 0, False: 0]
  ------------------
 1147|      0|				strm->pd_api_started = 1;
 1148|      0|				control->pdapi_started = 1;
 1149|      0|				sctp_add_to_readq(stcb->sctp_ep, stcb,
 1150|      0|						  control,
 1151|      0|						  &stcb->sctp_socket->so_rcv, control->end_added,
 1152|      0|						  inp_read_lock_held, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1153|       |
 1154|      0|				break;
 1155|      0|			}
 1156|  5.77k|		}
 1157|  5.79k|		control = nctl;
 1158|  5.79k|	}
 1159|  5.24k|done_un:
 1160|  5.24k|	control = TAILQ_FIRST(&strm->inqueue);
 1161|  5.24k|	if (strm->pd_api_started) {
  ------------------
  |  Branch (1161:6): [True: 0, False: 5.24k]
  ------------------
 1162|       |		/* Can't add more */
 1163|      0|		return (0);
 1164|      0|	}
 1165|  5.24k|	if (control == NULL) {
  ------------------
  |  Branch (1165:6): [True: 2.63k, False: 2.60k]
  ------------------
 1166|  2.63k|		return (ret);
 1167|  2.63k|	}
 1168|  2.60k|	if (SCTP_MID_EQ(asoc->idata_supported, strm->last_mid_delivered, control->mid)) {
  ------------------
  |  |  893|  2.60k|#define SCTP_MID_EQ(i, a, b) (((i) == 1) ? a == b : (uint16_t)a == (uint16_t)b)
  |  |  ------------------
  |  |  |  Branch (893:30): [True: 167, False: 2.43k]
  |  |  |  Branch (893:31): [True: 1.15k, False: 1.45k]
  |  |  ------------------
  ------------------
 1169|       |		/* Ok the guy at the top was being partially delivered
 1170|       |		 * completed, so we remove it. Note
 1171|       |		 * the pd_api flag was taken off when the
 1172|       |		 * chunk was merged on in sctp_queue_data_for_reasm below.
 1173|       |		 */
 1174|    167|		nctl = TAILQ_NEXT(control, next_instrm);
 1175|    167|		SCTPDBG(SCTP_DEBUG_XXX,
 1176|    167|			"Looking at control: %p e(%d) ssn: %u top_fsn: %u inc_fsn: %u (lastdel: %u)- o\n",
 1177|    167|			control, control->end_added, control->mid,
 1178|    167|			control->top_fsn, control->fsn_included,
 1179|    167|			strm->last_mid_delivered);
 1180|    167|		if (control->end_added) {
  ------------------
  |  Branch (1180:7): [True: 21, False: 146]
  ------------------
 1181|     21|			if (control->on_strm_q) {
  ------------------
  |  Branch (1181:8): [True: 21, False: 0]
  ------------------
 1182|     21|#ifdef INVARIANTS
 1183|     21|				if (control->on_strm_q != SCTP_ON_ORDERED) {
  ------------------
  |  |  553|     21|#define SCTP_ON_ORDERED 1
  ------------------
  |  Branch (1183:9): [True: 0, False: 21]
  ------------------
 1184|      0|					panic("Huh control: %p on_q: %d -- not ordered?",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1185|      0|					      control, control->on_strm_q);
 1186|      0|				}
 1187|     21|#endif
 1188|     21|				SCTP_STAT_INCR_COUNTER64(sctps_reasmusrmsgs);
  ------------------
  |  | 1128|     21|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|     21|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|     21|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|     21|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1189|     21|				TAILQ_REMOVE(&strm->inqueue, control, next_instrm);
 1190|     21|				if (asoc->size_on_all_streams >= control->length) {
  ------------------
  |  Branch (1190:9): [True: 21, False: 0]
  ------------------
 1191|     21|					asoc->size_on_all_streams -= control->length;
 1192|     21|				} else {
 1193|      0|#ifdef INVARIANTS
 1194|      0|					panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1195|       |#else
 1196|       |					asoc->size_on_all_streams = 0;
 1197|       |#endif
 1198|      0|				}
 1199|     21|				sctp_ucount_decr(asoc->cnt_on_all_streams);
  ------------------
  |  |  270|     21|#define sctp_ucount_decr(val) { \
  |  |  271|     21|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 21, False: 0]
  |  |  ------------------
  |  |  272|     21|		val--; \
  |  |  273|     21|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|     21|}
  ------------------
 1200|     21|				control->on_strm_q = 0;
 1201|     21|			}
 1202|     21|			if (strm->pd_api_started && control->pdapi_started) {
  ------------------
  |  Branch (1202:8): [True: 0, False: 21]
  |  Branch (1202:32): [True: 0, False: 0]
  ------------------
 1203|      0|				control->pdapi_started = 0;
 1204|      0|				strm->pd_api_started = 0;
 1205|      0|			}
 1206|     21|			if (control->on_read_q == 0) {
  ------------------
  |  Branch (1206:8): [True: 21, False: 0]
  ------------------
 1207|     21|				sctp_add_to_readq(stcb->sctp_ep, stcb,
 1208|     21|						  control,
 1209|     21|						  &stcb->sctp_socket->so_rcv, control->end_added,
 1210|     21|						  inp_read_lock_held, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     21|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1211|     21|			}
 1212|     21|			control = nctl;
 1213|     21|		}
 1214|    167|	}
 1215|  2.60k|	if (strm->pd_api_started) {
  ------------------
  |  Branch (1215:6): [True: 0, False: 2.60k]
  ------------------
 1216|       |		/* Can't add more must have gotten an un-ordered above being partially delivered. */
 1217|      0|		return (0);
 1218|      0|	}
 1219|  2.62k|deliver_more:
 1220|  2.62k|	next_to_del = strm->last_mid_delivered + 1;
 1221|  2.62k|	if (control) {
  ------------------
  |  Branch (1221:6): [True: 2.60k, False: 17]
  ------------------
 1222|  2.60k|		SCTPDBG(SCTP_DEBUG_XXX,
 1223|  2.60k|			"Looking at control: %p e(%d) ssn: %u top_fsn: %u inc_fsn: %u (nxtdel: %u)- o\n",
 1224|  2.60k|			control, control->end_added, control->mid, control->top_fsn, control->fsn_included,
 1225|  2.60k|			next_to_del);
 1226|  2.60k|		nctl = TAILQ_NEXT(control, next_instrm);
 1227|  2.60k|		if (SCTP_MID_EQ(asoc->idata_supported, control->mid, next_to_del) &&
  ------------------
  |  |  893|  5.20k|#define SCTP_MID_EQ(i, a, b) (((i) == 1) ? a == b : (uint16_t)a == (uint16_t)b)
  |  |  ------------------
  |  |  |  Branch (893:30): [True: 920, False: 1.68k]
  |  |  |  Branch (893:31): [True: 1.15k, False: 1.45k]
  |  |  ------------------
  ------------------
 1228|  2.60k|		    (control->first_frag_seen)) {
  ------------------
  |  Branch (1228:7): [True: 427, False: 493]
  ------------------
 1229|    427|			int done;
 1230|       |
 1231|       |			/* Ok we can deliver it onto the stream. */
 1232|    427|			if (control->end_added) {
  ------------------
  |  Branch (1232:8): [True: 17, False: 410]
  ------------------
 1233|       |				/* We are done with it afterwards */
 1234|     17|				if (control->on_strm_q) {
  ------------------
  |  Branch (1234:9): [True: 17, False: 0]
  ------------------
 1235|     17|#ifdef INVARIANTS
 1236|     17|					if (control->on_strm_q != SCTP_ON_ORDERED) {
  ------------------
  |  |  553|     17|#define SCTP_ON_ORDERED 1
  ------------------
  |  Branch (1236:10): [True: 0, False: 17]
  ------------------
 1237|      0|						panic("Huh control: %p on_q: %d -- not ordered?",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1238|      0|						      control, control->on_strm_q);
 1239|      0|					}
 1240|     17|#endif
 1241|     17|					SCTP_STAT_INCR_COUNTER64(sctps_reasmusrmsgs);
  ------------------
  |  | 1128|     17|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|     17|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|     17|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|     17|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1242|     17|					TAILQ_REMOVE(&strm->inqueue, control, next_instrm);
 1243|     17|					if (asoc->size_on_all_streams >= control->length) {
  ------------------
  |  Branch (1243:10): [True: 17, False: 0]
  ------------------
 1244|     17|						asoc->size_on_all_streams -= control->length;
 1245|     17|					} else {
 1246|      0|#ifdef INVARIANTS
 1247|      0|						panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1248|       |#else
 1249|       |						asoc->size_on_all_streams = 0;
 1250|       |#endif
 1251|      0|					}
 1252|     17|					sctp_ucount_decr(asoc->cnt_on_all_streams);
  ------------------
  |  |  270|     17|#define sctp_ucount_decr(val) { \
  |  |  271|     17|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 17, False: 0]
  |  |  ------------------
  |  |  272|     17|		val--; \
  |  |  273|     17|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|     17|}
  ------------------
 1253|     17|					control->on_strm_q = 0;
 1254|     17|				}
 1255|     17|				ret++;
 1256|     17|			}
 1257|    427|			if (((control->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|    427|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
              			if (((control->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|    427|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
  |  Branch (1257:8): [True: 7, False: 420]
  ------------------
 1258|       |				/* A singleton now slipping through - mark it non-revokable too */
 1259|      7|				sctp_mark_non_revokable(asoc, control->sinfo_tsn);
 1260|    420|			} else if (control->end_added == 0) {
  ------------------
  |  Branch (1260:15): [True: 410, False: 10]
  ------------------
 1261|       |				/* Check if we can defer adding until its all there */
 1262|    410|				if ((control->length < pd_point) || (strm->pd_api_started)) {
  ------------------
  |  Branch (1262:9): [True: 410, False: 0]
  |  Branch (1262:41): [True: 0, False: 0]
  ------------------
 1263|       |					/* Don't need it or cannot add more (one being delivered that way) */
 1264|    410|					goto out;
 1265|    410|				}
 1266|    410|			}
 1267|     17|			done = (control->end_added) && (control->last_frag_seen);
  ------------------
  |  Branch (1267:11): [True: 17, False: 0]
  |  Branch (1267:35): [True: 17, False: 0]
  ------------------
 1268|     17|			if (control->on_read_q == 0) {
  ------------------
  |  Branch (1268:8): [True: 17, False: 0]
  ------------------
 1269|     17|				if (!done) {
  ------------------
  |  Branch (1269:9): [True: 0, False: 17]
  ------------------
 1270|      0|					if (asoc->size_on_all_streams >= control->length) {
  ------------------
  |  Branch (1270:10): [True: 0, False: 0]
  ------------------
 1271|      0|						asoc->size_on_all_streams -= control->length;
 1272|      0|					} else {
 1273|      0|#ifdef INVARIANTS
 1274|      0|						panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1275|       |#else
 1276|       |						asoc->size_on_all_streams = 0;
 1277|       |#endif
 1278|      0|					}
 1279|      0|					strm->pd_api_started = 1;
 1280|      0|					control->pdapi_started = 1;
 1281|      0|				}
 1282|     17|				sctp_add_to_readq(stcb->sctp_ep, stcb,
 1283|     17|						  control,
 1284|     17|						  &stcb->sctp_socket->so_rcv, control->end_added,
 1285|     17|						  inp_read_lock_held, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     17|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1286|     17|			}
 1287|     17|			strm->last_mid_delivered = next_to_del;
 1288|     17|			if (done) {
  ------------------
  |  Branch (1288:8): [True: 17, False: 0]
  ------------------
 1289|     17|				control = nctl;
 1290|     17|				goto deliver_more;
 1291|     17|			}
 1292|     17|		}
 1293|  2.60k|	}
 1294|  2.60k|out:
 1295|  2.60k|	return (ret);
 1296|  2.62k|}
sctp_indata.c:sctp_handle_old_unordered_data:
  803|  2.39k|{
  804|       |	/* Special handling for the old un-ordered data chunk.
  805|       |	 * All the chunks/TSN's go to mid 0. So
  806|       |	 * we have to do the old style watching to see
  807|       |	 * if we have it all. If you return one, no other
  808|       |	 * control entries on the un-ordered queue will
  809|       |	 * be looked at. In theory there should be no others
  810|       |	 * entries in reality, unless the guy is sending both
  811|       |	 * unordered NDATA and unordered DATA...
  812|       |	 */
  813|  2.39k|	struct sctp_tmit_chunk *chk, *lchk, *tchk;
  814|  2.39k|	uint32_t fsn;
  815|  2.39k|	struct sctp_queued_to_read *nc;
  816|  2.39k|	int cnt_added;
  817|       |
  818|  2.39k|	if (control->first_frag_seen == 0) {
  ------------------
  |  Branch (818:6): [True: 1.04k, False: 1.35k]
  ------------------
  819|       |		/* Nothing we can do, we have not seen the first piece yet */
  820|  1.04k|		return (1);
  821|  1.04k|	}
  822|       |	/* Collapse any we can */
  823|  1.35k|	cnt_added = 0;
  824|  1.44k|restart:
  825|  1.44k|	fsn = control->fsn_included + 1;
  826|       |	/* Now what can we add? */
  827|  1.44k|	TAILQ_FOREACH_SAFE(chk, &control->reasm, sctp_next, lchk) {
  ------------------
  |  | 1123|  1.44k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  1.67k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 1.12k, False: 550]
  |  |  |  Branch (1124:24): [True: 1.12k, False: 0]
  |  |  ------------------
  |  | 1125|  1.44k|              (var) = (tvar))
  ------------------
  828|  1.12k|		if (chk->rec.data.fsn == fsn) {
  ------------------
  |  Branch (828:7): [True: 469, False: 655]
  ------------------
  829|       |			/* Ok lets add it */
  830|    469|			sctp_alloc_a_readq(stcb, nc);
  ------------------
  |  |  118|    469|#define sctp_alloc_a_readq(_stcb, _readq) { \
  |  |  119|    469|	(_readq) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_readq), struct sctp_queued_to_read); \
  |  |  ------------------
  |  |  |  |  697|    469|        (type *)malloc(zone);
  |  |  ------------------
  |  |  120|    469|	if ((_readq)) { \
  |  |  ------------------
  |  |  |  Branch (120:6): [True: 469, False: 0]
  |  |  ------------------
  |  |  121|    469|	     SCTP_INCR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  682|    469|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    469|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  122|    469|	} \
  |  |  123|    469|}
  ------------------
  831|    469|			if (nc == NULL) {
  ------------------
  |  Branch (831:8): [True: 0, False: 469]
  ------------------
  832|      0|				break;
  833|      0|			}
  834|    469|			memset(nc, 0, sizeof(struct sctp_queued_to_read));
  835|    469|			TAILQ_REMOVE(&control->reasm, chk, sctp_next);
  836|    469|			sctp_add_chk_to_control(control, strm, stcb, asoc, chk, inp_read_lock_held);
  837|    469|			fsn++;
  838|    469|			cnt_added++;
  839|    469|			chk = NULL;
  840|    469|			if (control->end_added) {
  ------------------
  |  Branch (840:8): [True: 237, False: 232]
  ------------------
  841|       |				/* We are done */
  842|    237|				if (!TAILQ_EMPTY(&control->reasm)) {
  ------------------
  |  Branch (842:9): [True: 186, False: 51]
  ------------------
  843|       |					/*
  844|       |					 * Ok we have to move anything left on
  845|       |					 * the control queue to a new control.
  846|       |					 */
  847|    186|					sctp_build_readq_entry_from_ctl(nc, control);
  848|    186|					tchk = TAILQ_FIRST(&control->reasm);
  849|    186|					if (tchk->rec.data.rcv_flags & SCTP_DATA_FIRST_FRAG) {
  ------------------
  |  |  516|    186|#define SCTP_DATA_FIRST_FRAG       0x02
  ------------------
  |  Branch (849:10): [True: 145, False: 41]
  ------------------
  850|    145|						TAILQ_REMOVE(&control->reasm, tchk, sctp_next);
  851|    145|						if (asoc->size_on_reasm_queue >= tchk->send_size) {
  ------------------
  |  Branch (851:11): [True: 145, False: 0]
  ------------------
  852|    145|							asoc->size_on_reasm_queue -= tchk->send_size;
  853|    145|						} else {
  854|      0|#ifdef INVARIANTS
  855|      0|						panic("size_on_reasm_queue = %u smaller than chunk length %u", asoc->size_on_reasm_queue, tchk->send_size);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  856|       |#else
  857|       |						asoc->size_on_reasm_queue = 0;
  858|       |#endif
  859|      0|						}
  860|    145|						sctp_ucount_decr(asoc->cnt_on_reasm_queue);
  ------------------
  |  |  270|    145|#define sctp_ucount_decr(val) { \
  |  |  271|    145|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 145, False: 0]
  |  |  ------------------
  |  |  272|    145|		val--; \
  |  |  273|    145|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|    145|}
  ------------------
  861|    145|						nc->first_frag_seen = 1;
  862|    145|						nc->fsn_included = tchk->rec.data.fsn;
  863|    145|						nc->data = tchk->data;
  864|    145|						nc->sinfo_ppid = tchk->rec.data.ppid;
  865|    145|						nc->sinfo_tsn = tchk->rec.data.tsn;
  866|    145|						sctp_mark_non_revokable(asoc, tchk->rec.data.tsn);
  867|    145|						tchk->data = NULL;
  868|    145|						sctp_free_a_chunk(stcb, tchk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|    145|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|    145|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 145]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|    145|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 145, False: 0]
  |  |  ------------------
  |  |  149|    145|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|    145|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|    145|	do {                         \
  |  |  |  |  |  |  113|    145|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 145]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|    145|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|    145|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 145, False: 0]
  |  |  ------------------
  |  |  151|    145|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|    145|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|    145|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 145, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|    145|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|    145|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|    145|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 145]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|    145|	} \
  |  |  |  |  245|    145|}
  |  |  ------------------
  |  |  152|    145|			(_chk)->whoTo = NULL; \
  |  |  153|    145|		} \
  |  |  154|    145|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|    145|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 12, False: 133]
  |  |  ------------------
  |  |  155|    145|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|    133|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|    133|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 133]
  |  |  ------------------
  |  |  156|     12|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|     12|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|     12|	free(element);  \
  |  |  |  |  703|     12|}
  |  |  ------------------
  |  |  157|     12|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|     12|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|     12|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|    133|		} else { \
  |  |  159|    133|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|    133|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|    133|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|    133|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|    133|		} \
  |  |  163|    145|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|    145|}
  ------------------
  869|    145|						sctp_setup_tail_pointer(nc);
  870|    145|						tchk = TAILQ_FIRST(&control->reasm);
  871|    145|					}
  872|       |					/* Spin the rest onto the queue */
  873|    686|					while (tchk) {
  ------------------
  |  Branch (873:13): [True: 500, False: 186]
  ------------------
  874|    500|						TAILQ_REMOVE(&control->reasm, tchk, sctp_next);
  875|    500|						TAILQ_INSERT_TAIL(&nc->reasm, tchk, sctp_next);
  876|    500|						tchk = TAILQ_FIRST(&control->reasm);
  877|    500|					}
  878|       |					/* Now lets add it to the queue after removing control */
  879|    186|					TAILQ_INSERT_TAIL(&strm->uno_inqueue, nc, next_instrm);
  880|    186|					nc->on_strm_q = SCTP_ON_UNORDERED;
  ------------------
  |  |  554|    186|#define SCTP_ON_UNORDERED 2
  ------------------
  881|    186|					if (control->on_strm_q) {
  ------------------
  |  Branch (881:10): [True: 186, False: 0]
  ------------------
  882|    186|						TAILQ_REMOVE(&strm->uno_inqueue, control, next_instrm);
  883|    186|						control->on_strm_q = 0;
  884|    186|					}
  885|    186|				}
  886|    237|				if (control->pdapi_started) {
  ------------------
  |  Branch (886:9): [True: 0, False: 237]
  ------------------
  887|      0|					strm->pd_api_started = 0;
  888|      0|					control->pdapi_started = 0;
  889|      0|				}
  890|    237|				if (control->on_strm_q) {
  ------------------
  |  Branch (890:9): [True: 51, False: 186]
  ------------------
  891|     51|					TAILQ_REMOVE(&strm->uno_inqueue, control, next_instrm);
  892|     51|					control->on_strm_q = 0;
  893|     51|					SCTP_STAT_INCR_COUNTER64(sctps_reasmusrmsgs);
  ------------------
  |  | 1128|     51|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|     51|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|     51|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|     51|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  894|     51|				}
  895|    237|				if (control->on_read_q == 0) {
  ------------------
  |  Branch (895:9): [True: 237, False: 0]
  ------------------
  896|    237|					sctp_add_to_readq(stcb->sctp_ep, stcb, control,
  897|    237|							  &stcb->sctp_socket->so_rcv, control->end_added,
  898|    237|							  inp_read_lock_held, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    237|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  899|    237|#if defined(__Userspace__)
  900|    237|				} else {
  901|      0|					sctp_invoke_recv_callback(stcb->sctp_ep, stcb, control, inp_read_lock_held);
  902|      0|#endif
  903|      0|				}
  904|    237|				sctp_wakeup_the_read_socket(stcb->sctp_ep, stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    237|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  905|    237|				if ((nc->first_frag_seen) && !TAILQ_EMPTY(&nc->reasm)) {
  ------------------
  |  Branch (905:9): [True: 145, False: 92]
  |  Branch (905:34): [True: 86, False: 59]
  ------------------
  906|       |					/* Switch to the new guy and continue */
  907|     86|					control = nc;
  908|     86|					goto restart;
  909|    151|				} else {
  910|    151|					if (nc->on_strm_q == 0) {
  ------------------
  |  Branch (910:10): [True: 51, False: 100]
  ------------------
  911|     51|						sctp_free_a_readq(stcb, nc);
  ------------------
  |  |  105|     51|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|     51|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 51]
  |  |  ------------------
  |  |  107|     51|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|     51|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|     51|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|     51|	free(element);  \
  |  |  |  |  703|     51|}
  |  |  ------------------
  |  |  109|     51|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|     51|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|     51|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|     51|}
  ------------------
  912|     51|					}
  913|    151|				}
  914|    151|				return (1);
  915|    237|			} else {
  916|    232|				sctp_free_a_readq(stcb, nc);
  ------------------
  |  |  105|    232|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|    232|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 232]
  |  |  ------------------
  |  |  107|    232|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|    232|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|    232|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|    232|	free(element);  \
  |  |  |  |  703|    232|}
  |  |  ------------------
  |  |  109|    232|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|    232|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|    232|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|    232|}
  ------------------
  917|    232|			}
  918|    655|		} else {
  919|       |			/* Can't add more */
  920|    655|			break;
  921|    655|		}
  922|  1.12k|	}
  923|  1.20k|	if (cnt_added && strm->pd_api_started) {
  ------------------
  |  Branch (923:6): [True: 155, False: 1.05k]
  |  Branch (923:19): [True: 0, False: 155]
  ------------------
  924|      0|#if defined(__Userspace__)
  925|      0|		sctp_invoke_recv_callback(stcb->sctp_ep, stcb, control, inp_read_lock_held);
  926|      0|#endif
  927|      0|		sctp_wakeup_the_read_socket(stcb->sctp_ep, stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  928|      0|	}
  929|  1.20k|	if ((control->length > pd_point) && (strm->pd_api_started == 0)) {
  ------------------
  |  Branch (929:6): [True: 0, False: 1.20k]
  |  Branch (929:38): [True: 0, False: 0]
  ------------------
  930|      0|		strm->pd_api_started = 1;
  931|      0|		control->pdapi_started = 1;
  932|      0|		sctp_add_to_readq(stcb->sctp_ep, stcb, control,
  933|      0|		                  &stcb->sctp_socket->so_rcv, control->end_added,
  934|      0|		                  inp_read_lock_held, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  935|      0|		sctp_wakeup_the_read_socket(stcb->sctp_ep, stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  936|      0|		return (0);
  937|  1.20k|	} else {
  938|  1.20k|		return (1);
  939|  1.20k|	}
  940|  1.20k|}
sctp_indata.c:sctp_build_readq_entry_from_ctl:
  760|    186|{
  761|    186|	memset(nc, 0, sizeof(struct sctp_queued_to_read));
  762|    186|	nc->sinfo_stream = control->sinfo_stream;
  763|    186|	nc->mid = control->mid;
  764|    186|	TAILQ_INIT(&nc->reasm);
  765|    186|	nc->top_fsn = control->top_fsn;
  766|    186|	nc->mid = control->mid;
  767|    186|	nc->sinfo_flags = control->sinfo_flags;
  768|    186|	nc->sinfo_ppid = control->sinfo_ppid;
  769|    186|	nc->sinfo_context = control->sinfo_context;
  770|    186|	nc->fsn_included = 0xffffffff;
  771|    186|	nc->sinfo_tsn = control->sinfo_tsn;
  772|    186|	nc->sinfo_cumtsn = control->sinfo_cumtsn;
  773|    186|	nc->sinfo_assoc_id = control->sinfo_assoc_id;
  774|    186|	nc->whoFrom = control->whoFrom;
  775|    186|	atomic_add_int(&nc->whoFrom->ref_count, 1);
  ------------------
  |  |   94|    186|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  776|    186|	nc->stcb = control->stcb;
  777|    186|	nc->port_from = control->port_from;
  778|    186|	nc->do_not_ref_stcb = control->do_not_ref_stcb;
  779|    186|}
sctp_indata.c:sctp_kick_prsctp_reorder_queue:
 5312|  4.83k|{
 5313|  4.83k|	struct sctp_queued_to_read *control, *ncontrol;
 5314|  4.83k|	struct sctp_association *asoc;
 5315|  4.83k|	uint32_t mid;
 5316|  4.83k|	int need_reasm_check = 0;
 5317|       |
 5318|  4.83k|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|  4.83k|	do {                         \
  |  |  113|  4.83k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 4.83k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  4.83k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5319|  4.83k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  4.83k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  4.83k|	do {                         \
  |  |  |  |  113|  4.83k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 4.83k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  4.83k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5320|  4.83k|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|  4.83k|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  4.83k|	do {                         \
  |  |  |  |  113|  4.83k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 4.83k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  4.83k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5321|       |
 5322|  4.83k|	asoc = &stcb->asoc;
 5323|  4.83k|	mid = strmin->last_mid_delivered;
 5324|       |	/*
 5325|       |	 * First deliver anything prior to and including the stream no that
 5326|       |	 * came in.
 5327|       |	 */
 5328|  4.83k|	TAILQ_FOREACH_SAFE(control, &strmin->inqueue, next_instrm, ncontrol) {
  ------------------
  |  | 1123|  4.83k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  4.83k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 4.83k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  4.83k|              (var) = (tvar))
  ------------------
 5329|      0|		if (SCTP_MID_GE(asoc->idata_supported, mid, control->mid)) {
  ------------------
  |  |  892|      0|#define SCTP_MID_GE(i, a, b) (((i) == 1) ? SCTP_UINT32_GE(a, b) : SCTP_UINT16_GE((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  885|      0|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define SCTP_MID_GE(i, a, b) (((i) == 1) ? SCTP_UINT32_GE(a, b) : SCTP_UINT16_GE((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  882|      0|#define SCTP_UINT16_GE(a, b) (SCTP_UINT16_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  880|      0|#define SCTP_UINT16_GT(a, b) (((a < b) && ((uint16_t)(b - a) > (1U<<15))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (880:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (880:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  881|      0|                              ((a > b) && ((uint16_t)(a - b) < (1U<<15))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (881:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (881:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (882:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (892:30): [True: 0, False: 0]
  |  |  |  Branch (892:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5330|       |			/* this is deliverable now */
 5331|      0|			if (((control->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|      0|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
              			if (((control->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|      0|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
  |  Branch (5331:8): [True: 0, False: 0]
  ------------------
 5332|      0|				if (control->on_strm_q) {
  ------------------
  |  Branch (5332:9): [True: 0, False: 0]
  ------------------
 5333|      0|					if (control->on_strm_q == SCTP_ON_ORDERED) {
  ------------------
  |  |  553|      0|#define SCTP_ON_ORDERED 1
  ------------------
  |  Branch (5333:10): [True: 0, False: 0]
  ------------------
 5334|      0|						TAILQ_REMOVE(&strmin->inqueue, control, next_instrm);
 5335|      0|					} else if (control->on_strm_q == SCTP_ON_UNORDERED) {
  ------------------
  |  |  554|      0|#define SCTP_ON_UNORDERED 2
  ------------------
  |  Branch (5335:17): [True: 0, False: 0]
  ------------------
 5336|      0|						TAILQ_REMOVE(&strmin->uno_inqueue, control, next_instrm);
 5337|      0|#ifdef INVARIANTS
 5338|      0|					} else {
 5339|      0|						panic("strmin: %p ctl: %p unknown %d",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5340|      0|						      strmin, control, control->on_strm_q);
 5341|      0|#endif
 5342|      0|					}
 5343|      0|					control->on_strm_q = 0;
 5344|      0|				}
 5345|       |				/* subtract pending on streams */
 5346|      0|				if (asoc->size_on_all_streams >= control->length) {
  ------------------
  |  Branch (5346:9): [True: 0, False: 0]
  ------------------
 5347|      0|					asoc->size_on_all_streams -= control->length;
 5348|      0|				} else {
 5349|      0|#ifdef INVARIANTS
 5350|      0|					panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5351|       |#else
 5352|       |					asoc->size_on_all_streams = 0;
 5353|       |#endif
 5354|      0|				}
 5355|      0|				sctp_ucount_decr(asoc->cnt_on_all_streams);
  ------------------
  |  |  270|      0|#define sctp_ucount_decr(val) { \
  |  |  271|      0|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|		val--; \
  |  |  273|      0|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|      0|}
  ------------------
 5356|       |				/* deliver it to at least the delivery-q */
 5357|      0|				if (stcb->sctp_socket) {
  ------------------
  |  Branch (5357:9): [True: 0, False: 0]
  ------------------
 5358|      0|					sctp_mark_non_revokable(asoc, control->sinfo_tsn);
 5359|      0|					sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 5360|      0|					                  &stcb->sctp_socket->so_rcv, 1,
 5361|      0|					                  SCTP_READ_LOCK_HELD, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |   40|      0|#define SCTP_READ_LOCK_HELD 1
  ------------------
              					                  SCTP_READ_LOCK_HELD, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 5362|      0|				}
 5363|      0|			} else {
 5364|       |				/* Its a fragmented message */
 5365|      0|				if (control->first_frag_seen) {
  ------------------
  |  Branch (5365:9): [True: 0, False: 0]
  ------------------
 5366|       |					/* Make it so this is next to deliver, we restore later */
 5367|      0|					strmin->last_mid_delivered = control->mid - 1;
 5368|      0|					need_reasm_check = 1;
 5369|      0|					break;
 5370|      0|				}
 5371|      0|			}
 5372|      0|		} else {
 5373|       |			/* no more delivery now. */
 5374|      0|			break;
 5375|      0|		}
 5376|      0|	}
 5377|  4.83k|	if (need_reasm_check) {
  ------------------
  |  Branch (5377:6): [True: 0, False: 4.83k]
  ------------------
 5378|      0|		int ret;
 5379|      0|		ret = sctp_deliver_reasm_check(stcb, &stcb->asoc, strmin, SCTP_READ_LOCK_HELD);
  ------------------
  |  |   40|      0|#define SCTP_READ_LOCK_HELD 1
  ------------------
 5380|      0|		if (SCTP_MID_GT(asoc->idata_supported, mid, strmin->last_mid_delivered)) {
  ------------------
  |  |  891|      0|#define SCTP_MID_GT(i, a, b) (((i) == 1) ? SCTP_UINT32_GT(a, b) : SCTP_UINT16_GT((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define SCTP_MID_GT(i, a, b) (((i) == 1) ? SCTP_UINT32_GT(a, b) : SCTP_UINT16_GT((uint16_t)a, (uint16_t)b))
  |  |  ------------------
  |  |  |  |  880|      0|#define SCTP_UINT16_GT(a, b) (((a < b) && ((uint16_t)(b - a) > (1U<<15))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (880:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (880:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  881|      0|                              ((a > b) && ((uint16_t)(a - b) < (1U<<15))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (881:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (881:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (891:30): [True: 0, False: 0]
  |  |  |  Branch (891:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5381|       |			/* Restore the next to deliver unless we are ahead */
 5382|      0|			strmin->last_mid_delivered = mid;
 5383|      0|		}
 5384|      0|		if (ret == 0) {
  ------------------
  |  Branch (5384:7): [True: 0, False: 0]
  ------------------
 5385|       |			/* Left the front Partial one on */
 5386|      0|			return;
 5387|      0|		}
 5388|      0|		need_reasm_check = 0;
 5389|      0|	}
 5390|       |	/*
 5391|       |	 * now we must deliver things in queue the normal way  if any are
 5392|       |	 * now ready.
 5393|       |	 */
 5394|  4.83k|	mid = strmin->last_mid_delivered + 1;
 5395|  4.83k|	TAILQ_FOREACH_SAFE(control, &strmin->inqueue, next_instrm, ncontrol) {
  ------------------
  |  | 1123|  4.83k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  4.83k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 4.83k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  4.83k|              (var) = (tvar))
  ------------------
 5396|      0|		if (SCTP_MID_EQ(asoc->idata_supported, mid, control->mid)) {
  ------------------
  |  |  893|      0|#define SCTP_MID_EQ(i, a, b) (((i) == 1) ? a == b : (uint16_t)a == (uint16_t)b)
  |  |  ------------------
  |  |  |  Branch (893:30): [True: 0, False: 0]
  |  |  |  Branch (893:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5397|      0|			if (((control->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|      0|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
              			if (((control->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) {
  ------------------
  |  |  517|      0|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
  |  Branch (5397:8): [True: 0, False: 0]
  ------------------
 5398|       |				/* this is deliverable now */
 5399|      0|				if (control->on_strm_q) {
  ------------------
  |  Branch (5399:9): [True: 0, False: 0]
  ------------------
 5400|      0|					if (control->on_strm_q == SCTP_ON_ORDERED) {
  ------------------
  |  |  553|      0|#define SCTP_ON_ORDERED 1
  ------------------
  |  Branch (5400:10): [True: 0, False: 0]
  ------------------
 5401|      0|						TAILQ_REMOVE(&strmin->inqueue, control, next_instrm);
 5402|      0|					} else if (control->on_strm_q == SCTP_ON_UNORDERED) {
  ------------------
  |  |  554|      0|#define SCTP_ON_UNORDERED 2
  ------------------
  |  Branch (5402:17): [True: 0, False: 0]
  ------------------
 5403|      0|						TAILQ_REMOVE(&strmin->uno_inqueue, control, next_instrm);
 5404|      0|#ifdef INVARIANTS
 5405|      0|					} else {
 5406|      0|						panic("strmin: %p ctl: %p unknown %d",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5407|      0|						      strmin, control, control->on_strm_q);
 5408|      0|#endif
 5409|      0|					}
 5410|      0|					control->on_strm_q = 0;
 5411|      0|				}
 5412|       |				/* subtract pending on streams */
 5413|      0|				if (asoc->size_on_all_streams >= control->length) {
  ------------------
  |  Branch (5413:9): [True: 0, False: 0]
  ------------------
 5414|      0|					asoc->size_on_all_streams -= control->length;
 5415|      0|				} else {
 5416|      0|#ifdef INVARIANTS
 5417|      0|					panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5418|       |#else
 5419|       |					asoc->size_on_all_streams = 0;
 5420|       |#endif
 5421|      0|				}
 5422|      0|				sctp_ucount_decr(asoc->cnt_on_all_streams);
  ------------------
  |  |  270|      0|#define sctp_ucount_decr(val) { \
  |  |  271|      0|	if (val > 0) { \
  |  |  ------------------
  |  |  |  Branch (271:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|		val--; \
  |  |  273|      0|	} else { \
  |  |  274|      0|		val = 0; \
  |  |  275|      0|	} \
  |  |  276|      0|}
  ------------------
 5423|       |				/* deliver it to at least the delivery-q */
 5424|      0|				strmin->last_mid_delivered = control->mid;
 5425|      0|				if (stcb->sctp_socket) {
  ------------------
  |  Branch (5425:9): [True: 0, False: 0]
  ------------------
 5426|      0|					sctp_mark_non_revokable(asoc, control->sinfo_tsn);
 5427|      0|					sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 5428|      0|					                  &stcb->sctp_socket->so_rcv, 1,
 5429|      0|					                  SCTP_READ_LOCK_HELD, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |   40|      0|#define SCTP_READ_LOCK_HELD 1
  ------------------
              					                  SCTP_READ_LOCK_HELD, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 5430|      0|				}
 5431|      0|				mid = strmin->last_mid_delivered + 1;
 5432|      0|			} else {
 5433|       |				/* Its a fragmented message */
 5434|      0|				if (control->first_frag_seen) {
  ------------------
  |  Branch (5434:9): [True: 0, False: 0]
  ------------------
 5435|       |					/* Make it so this is next to deliver */
 5436|      0|					strmin->last_mid_delivered = control->mid - 1;
 5437|      0|					need_reasm_check = 1;
 5438|      0|					break;
 5439|      0|				}
 5440|      0|			}
 5441|      0|		} else {
 5442|      0|			break;
 5443|      0|		}
 5444|      0|	}
 5445|  4.83k|	if (need_reasm_check) {
  ------------------
  |  Branch (5445:6): [True: 0, False: 4.83k]
  ------------------
 5446|      0|		(void)sctp_deliver_reasm_check(stcb, &stcb->asoc, strmin, SCTP_READ_LOCK_HELD);
  ------------------
  |  |   40|      0|#define SCTP_READ_LOCK_HELD 1
  ------------------
 5447|      0|	}
 5448|  4.83k|}

sctp_is_there_unsent_data:
  189|  12.2k|{
  190|  12.2k|	int unsent_data;
  191|  12.2k|	unsigned int i;
  192|  12.2k|	struct sctp_stream_queue_pending *sp;
  193|  12.2k|	struct sctp_association *asoc;
  194|       |
  195|  12.2k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  12.2k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  12.2k|	do {                         \
  |  |  |  |  113|  12.2k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 12.2k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  12.2k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  196|       |
  197|       |	/* This function returns if any stream has true unsent data on it.
  198|       |	 * Note that as it looks through it will clean up any places that
  199|       |	 * have old data that has been sent but left at top of stream queue.
  200|       |	 */
  201|  12.2k|	asoc = &stcb->asoc;
  202|  12.2k|	unsent_data = 0;
  203|  12.2k|	if (!stcb->asoc.ss_functions.sctp_ss_is_empty(stcb, asoc)) {
  ------------------
  |  Branch (203:6): [True: 3.62k, False: 8.62k]
  ------------------
  204|       |		/* Check to see if some data queued */
  205|  3.62k|		for (i = 0; i < stcb->asoc.streamoutcnt; i++) {
  ------------------
  |  Branch (205:15): [True: 3.62k, False: 0]
  ------------------
  206|       |			/*sa_ignore FREED_MEMORY*/
  207|  3.62k|			sp = TAILQ_FIRST(&stcb->asoc.strmout[i].outqueue);
  208|  3.62k|			if (sp == NULL) {
  ------------------
  |  Branch (208:8): [True: 0, False: 3.62k]
  ------------------
  209|      0|				continue;
  210|      0|			}
  211|  3.62k|			if ((sp->msg_is_complete) &&
  ------------------
  |  Branch (211:8): [True: 3.62k, False: 0]
  ------------------
  212|  3.62k|			    (sp->length == 0) &&
  ------------------
  |  Branch (212:8): [True: 0, False: 3.62k]
  ------------------
  213|  3.62k|			    (sp->sender_all_done)) {
  ------------------
  |  Branch (213:8): [True: 0, False: 0]
  ------------------
  214|       |				/* We are doing differed cleanup. Last
  215|       |				 * time through when we took all the data
  216|       |				 * the sender_all_done was not set.
  217|       |				 */
  218|      0|				if (sp->put_last_out == 0) {
  ------------------
  |  Branch (218:9): [True: 0, False: 0]
  ------------------
  219|      0|					SCTP_PRINTF("Gak, put out entire msg with NO end!-1\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
  220|      0|					SCTP_PRINTF("sender_done:%d len:%d msg_comp:%d put_last_out:%d\n",
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
  221|      0|					            sp->sender_all_done,
  222|      0|					            sp->length,
  223|      0|					            sp->msg_is_complete,
  224|      0|					            sp->put_last_out);
  225|      0|				}
  226|      0|				atomic_subtract_int(&stcb->asoc.stream_queue_cnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
  227|      0|				TAILQ_REMOVE(&stcb->asoc.strmout[i].outqueue, sp, next);
  228|      0|				stcb->asoc.ss_functions.sctp_ss_remove_from_stream(stcb, asoc, &asoc->strmout[i], sp);
  229|      0|				if (sp->net) {
  ------------------
  |  Branch (229:9): [True: 0, False: 0]
  ------------------
  230|      0|					sctp_free_remote_addr(sp->net);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
  231|      0|					sp->net = NULL;
  232|      0|				}
  233|      0|				if (sp->data) {
  ------------------
  |  Branch (233:9): [True: 0, False: 0]
  ------------------
  234|      0|					sctp_m_freem(sp->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
  235|      0|					sp->data = NULL;
  236|      0|				}
  237|      0|				sctp_free_a_strmoq(stcb, sp, so_locked);
  ------------------
  |  |  125|      0|#define sctp_free_a_strmoq(_stcb, _strmoq, _so_locked) { \
  |  |  126|      0|	if ((_strmoq)->holds_key_ref) { \
  |  |  ------------------
  |  |  |  Branch (126:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  127|      0|		sctp_auth_key_release(stcb, sp->auth_keyid, _so_locked); \
  |  |  128|      0|		(_strmoq)->holds_key_ref = 0; \
  |  |  129|      0|	} \
  |  |  130|      0|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_strmoq), (_strmoq)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  131|      0|	SCTP_DECR_STRMOQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  691|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_strmoq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  132|      0|}
  ------------------
  238|      0|				if (!TAILQ_EMPTY(&stcb->asoc.strmout[i].outqueue)) {
  ------------------
  |  Branch (238:9): [True: 0, False: 0]
  ------------------
  239|      0|					unsent_data++;
  240|      0|				}
  241|  3.62k|			} else {
  242|  3.62k|				unsent_data++;
  243|  3.62k|			}
  244|  3.62k|			if (unsent_data > 0) {
  ------------------
  |  Branch (244:8): [True: 3.62k, False: 0]
  ------------------
  245|  3.62k|				break;
  246|  3.62k|			}
  247|  3.62k|		}
  248|  3.62k|	}
  249|  12.2k|	return (unsent_data);
  250|  12.2k|}
sctp_reset_in_stream:
 3694|    624|{
 3695|    624|	uint32_t i;
 3696|    624|	uint16_t temp;
 3697|       |
 3698|       |	/*
 3699|       |	 * We set things to 0xffffffff since this is the last delivered sequence
 3700|       |	 * and we will be sending in 0 after the reset.
 3701|       |	 */
 3702|       |
 3703|    624|	if (number_entries) {
  ------------------
  |  Branch (3703:6): [True: 300, False: 324]
  ------------------
 3704|  7.50k|		for (i = 0; i < number_entries; i++) {
  ------------------
  |  Branch (3704:15): [True: 7.20k, False: 300]
  ------------------
 3705|  7.20k|			temp = ntohs(list[i]);
 3706|  7.20k|			if (temp >= stcb->asoc.streamincnt) {
  ------------------
  |  Branch (3706:8): [True: 4.69k, False: 2.51k]
  ------------------
 3707|  4.69k|				continue;
 3708|  4.69k|			}
 3709|  2.51k|			stcb->asoc.strmin[temp].last_mid_delivered = 0xffffffff;
 3710|  2.51k|		}
 3711|    324|	} else {
 3712|    324|		list = NULL;
 3713|  83.5k|		for (i = 0; i < stcb->asoc.streamincnt; i++) {
  ------------------
  |  Branch (3713:15): [True: 83.2k, False: 324]
  ------------------
 3714|  83.2k|			stcb->asoc.strmin[i].last_mid_delivered = 0xffffffff;
 3715|  83.2k|		}
 3716|    324|	}
 3717|    624|	sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_RECV, stcb, number_entries, (void *)list, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  719|    624|#define SCTP_NOTIFY_STR_RESET_RECV              17
  ------------------
              	sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_RECV, stcb, number_entries, (void *)list, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    624|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3718|    624|}
sctp_common_input_processing:
 5704|  28.1k|{
 5705|  28.1k|	char msg[SCTP_DIAG_INFO_LEN];
 5706|  28.1k|	struct mbuf *m = *mm, *op_err;
 5707|  28.1k|	struct sctp_inpcb *inp = NULL, *inp_decr = NULL;
 5708|  28.1k|	struct sctp_tcb *stcb = NULL;
 5709|  28.1k|	struct sctp_nets *net = NULL;
 5710|  28.1k|#if defined(__Userspace__)
 5711|  28.1k|	struct socket *upcall_socket = NULL;
 5712|  28.1k|#endif
 5713|  28.1k|	uint32_t high_tsn;
 5714|  28.1k|	uint32_t cksum_in_hdr;
 5715|  28.1k|	int un_sent;
 5716|  28.1k|	int cnt_ctrl_ready = 0;
 5717|  28.1k|	int fwd_tsn_seen = 0, data_processed = 0;
 5718|  28.1k|	bool cksum_validated, stcb_looked_up;
 5719|       |
 5720|  28.1k|	SCTP_STAT_INCR(sctps_recvdatagrams);
  ------------------
  |  | 1112|  28.1k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  28.1k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  28.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5721|       |#ifdef SCTP_AUDITING_ENABLED
 5722|       |	sctp_audit_log(0xE0, 1);
 5723|       |	sctp_auditing(0, inp, stcb, net);
 5724|       |#endif
 5725|       |
 5726|  28.1k|	stcb_looked_up = false;
 5727|  28.1k|	if (compute_crc != 0) {
  ------------------
  |  Branch (5727:6): [True: 0, False: 28.1k]
  ------------------
 5728|      0|		cksum_validated = false;
 5729|      0|		cksum_in_hdr = sh->checksum;
 5730|      0|		if (cksum_in_hdr != htonl(0)) {
  ------------------
  |  Branch (5730:7): [True: 0, False: 0]
  ------------------
 5731|      0|			uint32_t cksum_calculated;
 5732|       |
 5733|      0|validate_cksum:
 5734|      0|			sh->checksum = 0;
 5735|      0|			cksum_calculated = sctp_calculate_cksum(m, iphlen);
 5736|      0|			sh->checksum = cksum_in_hdr;
 5737|      0|			if (cksum_calculated != cksum_in_hdr) {
  ------------------
  |  Branch (5737:8): [True: 0, False: 0]
  ------------------
 5738|      0|				if (stcb_looked_up) {
  ------------------
  |  Branch (5738:9): [True: 0, False: 0]
  ------------------
 5739|       |					/*
 5740|       |					 * The packet has a zero checksum, which
 5741|       |					 * is not the correct CRC, no stcb has
 5742|       |					 * been found or an stcb has been found
 5743|       |					 * but an incorrect zero checksum is not
 5744|       |					 * acceptable.
 5745|       |					 */
 5746|      0|					KASSERT(cksum_in_hdr == htonl(0),
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5747|      0|					        ("cksum in header not zero: %x",
 5748|      0|					         ntohl(cksum_in_hdr)));
 5749|      0|					if ((inp == NULL) &&
  ------------------
  |  Branch (5749:10): [True: 0, False: 0]
  ------------------
 5750|      0|					    (SCTP_BASE_SYSCTL(sctp_ootb_with_zero_cksum) == 1)) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (5750:10): [True: 0, False: 0]
  ------------------
 5751|       |						/*
 5752|       |						 * This is an OOTB packet,
 5753|       |						 * depending on the sysctl
 5754|       |						 * variable, pretend that the
 5755|       |						 * checksum is acceptable,
 5756|       |						 * to allow an appropriate
 5757|       |						 * response (ABORT, for examlpe)
 5758|       |						 * to be sent.
 5759|       |						 */
 5760|      0|						KASSERT(stcb == NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5761|      0|						        ("stcb is %p", stcb));
 5762|      0|						SCTP_STAT_INCR(sctps_recvzerocrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5763|      0|						goto cksum_validated;
 5764|      0|					}
 5765|      0|				} else {
 5766|      0|					stcb = sctp_findassociation_addr(m, offset, src, dst,
 5767|      0|					                                 sh, ch, &inp, &net, vrf_id);
 5768|      0|				}
 5769|      0|				SCTPDBG(SCTP_DEBUG_INPUT1, "Bad cksum in SCTP packet:%x calculated:%x m:%p mlen:%d iphlen:%d\n",
 5770|      0|				        ntohl(cksum_in_hdr), ntohl(cksum_calculated), (void *)m, length, iphlen);
 5771|      0|#if defined(INET) || defined(INET6)
 5772|      0|				if ((ch->chunk_type != SCTP_INITIATION) &&
  ------------------
  |  |  458|      0|#define SCTP_INITIATION		0x01
  ------------------
  |  Branch (5772:9): [True: 0, False: 0]
  ------------------
 5773|      0|				    (net != NULL) && (net->port != port)) {
  ------------------
  |  Branch (5773:9): [True: 0, False: 0]
  |  Branch (5773:26): [True: 0, False: 0]
  ------------------
 5774|      0|					if (net->port == 0) {
  ------------------
  |  Branch (5774:10): [True: 0, False: 0]
  ------------------
 5775|       |						/* UDP encapsulation turned on. */
 5776|      0|						net->mtu -= sizeof(struct udphdr);
 5777|      0|						if (stcb->asoc.smallest_mtu > net->mtu) {
  ------------------
  |  Branch (5777:11): [True: 0, False: 0]
  ------------------
 5778|      0|							sctp_pathmtu_adjustment(stcb, net->mtu, true);
 5779|      0|						}
 5780|      0|					} else if (port == 0) {
  ------------------
  |  Branch (5780:17): [True: 0, False: 0]
  ------------------
 5781|       |						/* UDP encapsulation turned off. */
 5782|      0|						net->mtu += sizeof(struct udphdr);
 5783|       |						/* XXX Update smallest_mtu */
 5784|      0|					}
 5785|      0|					net->port = port;
 5786|      0|				}
 5787|      0|#endif
 5788|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5789|       |				if (net != NULL) {
 5790|       |					net->flowtype = mflowtype;
 5791|       |					net->flowid = mflowid;
 5792|       |				}
 5793|       |				SCTP_PROBE5(receive, NULL, stcb, m, stcb, sh);
 5794|       |#endif
 5795|      0|				if ((inp != NULL) && (stcb != NULL)) {
  ------------------
  |  Branch (5795:9): [True: 0, False: 0]
  |  Branch (5795:26): [True: 0, False: 0]
  ------------------
 5796|      0|					if (stcb->asoc.pktdrop_supported) {
  ------------------
  |  Branch (5796:10): [True: 0, False: 0]
  ------------------
 5797|      0|						sctp_send_packet_dropped(stcb, net, m, length, iphlen, 1);
 5798|      0|						sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_INPUT_ERROR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  363|      0|#define SCTP_OUTPUT_FROM_INPUT_ERROR    2
  ------------------
              						sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_INPUT_ERROR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 5799|      0|					}
 5800|      0|				} else if ((inp != NULL) && (stcb == NULL)) {
  ------------------
  |  Branch (5800:16): [True: 0, False: 0]
  |  Branch (5800:33): [True: 0, False: 0]
  ------------------
 5801|      0|					inp_decr = inp;
 5802|      0|				}
 5803|      0|				SCTP_STAT_INCR(sctps_badsum);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5804|      0|				SCTP_STAT_INCR_COUNTER32(sctps_checksumerrors);
  ------------------
  |  | 1127|      0|#define SCTP_STAT_INCR_COUNTER32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5805|      0|				goto out;
 5806|      0|			} else {
 5807|      0|				cksum_validated = true;
 5808|      0|			}
 5809|      0|		}
 5810|      0|		KASSERT(cksum_validated || cksum_in_hdr == htonl(0),
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5811|      0|		        ("cksum 0x%08x not zero and not validated", ntohl(cksum_in_hdr)));
 5812|      0|		if (!cksum_validated) {
  ------------------
  |  Branch (5812:7): [True: 0, False: 0]
  ------------------
 5813|      0|			stcb = sctp_findassociation_addr(m, offset, src, dst,
 5814|      0|			                                 sh, ch, &inp, &net, vrf_id);
 5815|      0|			stcb_looked_up = true;
 5816|      0|			if (stcb == NULL) {
  ------------------
  |  Branch (5816:8): [True: 0, False: 0]
  ------------------
 5817|      0|				goto validate_cksum;
 5818|      0|			}
 5819|      0|			if (stcb->asoc.rcv_edmid == SCTP_EDMID_NONE) {
  ------------------
  |  |  809|      0|#define SCTP_EDMID_NONE             0
  ------------------
  |  Branch (5819:8): [True: 0, False: 0]
  ------------------
 5820|      0|				goto validate_cksum;
 5821|      0|			}
 5822|      0|			KASSERT(stcb->asoc.rcv_edmid == SCTP_EDMID_LOWER_LAYER_DTLS,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5823|      0|				("Unexpected EDMID %u", stcb->asoc.rcv_edmid));
 5824|      0|			SCTP_STAT_INCR(sctps_recvzerocrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5825|      0|		}
 5826|      0|	}
 5827|  28.1k|cksum_validated:
 5828|       |	/* Destination port of 0 is illegal, based on RFC4960. */
 5829|  28.1k|	if (sh->dest_port == htons(0)) {
  ------------------
  |  Branch (5829:6): [True: 0, False: 28.1k]
  ------------------
 5830|      0|		SCTP_STAT_INCR(sctps_hdrops);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5831|      0|		if ((stcb == NULL) && (inp != NULL)) {
  ------------------
  |  Branch (5831:7): [True: 0, False: 0]
  |  Branch (5831:25): [True: 0, False: 0]
  ------------------
 5832|      0|			inp_decr = inp;
 5833|      0|		}
 5834|      0|		goto out;
 5835|      0|	}
 5836|  28.1k|	if (!stcb_looked_up) {
  ------------------
  |  Branch (5836:6): [True: 28.1k, False: 0]
  ------------------
 5837|  28.1k|		stcb = sctp_findassociation_addr(m, offset, src, dst,
 5838|  28.1k|		                                 sh, ch, &inp, &net, vrf_id);
 5839|  28.1k|	}
 5840|  28.1k|#if defined(INET) || defined(INET6)
 5841|  28.1k|	if ((ch->chunk_type != SCTP_INITIATION) &&
  ------------------
  |  |  458|  28.1k|#define SCTP_INITIATION		0x01
  ------------------
  |  Branch (5841:6): [True: 28.1k, False: 25]
  ------------------
 5842|  28.1k|	    (net != NULL) && (net->port != port)) {
  ------------------
  |  Branch (5842:6): [True: 28.1k, False: 0]
  |  Branch (5842:23): [True: 0, False: 28.1k]
  ------------------
 5843|      0|		if (net->port == 0) {
  ------------------
  |  Branch (5843:7): [True: 0, False: 0]
  ------------------
 5844|       |			/* UDP encapsulation turned on. */
 5845|      0|			net->mtu -= sizeof(struct udphdr);
 5846|      0|			if (stcb->asoc.smallest_mtu > net->mtu) {
  ------------------
  |  Branch (5846:8): [True: 0, False: 0]
  ------------------
 5847|      0|				sctp_pathmtu_adjustment(stcb, net->mtu, true);
 5848|      0|			}
 5849|      0|		} else if (port == 0) {
  ------------------
  |  Branch (5849:14): [True: 0, False: 0]
  ------------------
 5850|       |			/* UDP encapsulation turned off. */
 5851|      0|			net->mtu += sizeof(struct udphdr);
 5852|       |			/* XXX Update smallest_mtu */
 5853|      0|		}
 5854|      0|		net->port = port;
 5855|      0|	}
 5856|  28.1k|#endif
 5857|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5858|       |	if (net != NULL) {
 5859|       |		net->flowtype = mflowtype;
 5860|       |		net->flowid = mflowid;
 5861|       |	}
 5862|       |#endif
 5863|  28.1k|	if (inp == NULL) {
  ------------------
  |  Branch (5863:6): [True: 0, False: 28.1k]
  ------------------
 5864|      0|		SCTP_STAT_INCR(sctps_noport);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5865|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5866|       |		SCTP_PROBE5(receive, NULL, stcb, m, stcb, sh);
 5867|       |		if (badport_bandlim(BANDLIM_SCTP_OOTB) < 0) {
 5868|       |			goto out;
 5869|       |		}
 5870|       |#endif
 5871|      0|		if (ch->chunk_type == SCTP_SHUTDOWN_ACK) {
  ------------------
  |  |  465|      0|#define SCTP_SHUTDOWN_ACK	0x08
  ------------------
  |  Branch (5871:7): [True: 0, False: 0]
  ------------------
 5872|      0|			SCTP_STAT_INCR_COUNTER64(sctps_incontrolchunks);
  ------------------
  |  | 1128|      0|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5873|      0|			sctp_send_shutdown_complete2(src, dst, sh,
 5874|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5875|       |			                             mflowtype, mflowid, fibnum,
 5876|       |#endif
 5877|      0|			                             vrf_id, port);
 5878|      0|			goto out;
 5879|      0|		}
 5880|      0|		if (ch->chunk_type == SCTP_SHUTDOWN_COMPLETE) {
  ------------------
  |  |  471|      0|#define SCTP_SHUTDOWN_COMPLETE	0x0e
  ------------------
  |  Branch (5880:7): [True: 0, False: 0]
  ------------------
 5881|      0|			SCTP_STAT_INCR_COUNTER64(sctps_incontrolchunks);
  ------------------
  |  | 1128|      0|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5882|      0|			goto out;
 5883|      0|		}
 5884|      0|		if (ch->chunk_type != SCTP_ABORT_ASSOCIATION) {
  ------------------
  |  |  463|      0|#define SCTP_ABORT_ASSOCIATION	0x06
  ------------------
  |  Branch (5884:7): [True: 0, False: 0]
  ------------------
 5885|      0|			if ((SCTP_BASE_SYSCTL(sctp_blackhole) == 0) ||
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (5885:8): [True: 0, False: 0]
  ------------------
 5886|      0|			    ((SCTP_BASE_SYSCTL(sctp_blackhole) == 1) &&
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (5886:9): [True: 0, False: 0]
  ------------------
 5887|      0|			     (ch->chunk_type != SCTP_INIT))) {
  ------------------
  |  |   92|      0|#define SCTP_INIT	0x0001
  ------------------
  |  Branch (5887:9): [True: 0, False: 0]
  ------------------
 5888|      0|				op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 5889|      0|				                             "Out of the blue");
 5890|      0|				sctp_send_abort(m, iphlen, src, dst,
 5891|      0|				                sh, 0, op_err,
 5892|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5893|       |				                mflowtype, mflowid, fibnum,
 5894|       |#endif
 5895|      0|				                vrf_id, port);
 5896|      0|			}
 5897|      0|		}
 5898|      0|		goto out;
 5899|  28.1k|	} else if (stcb == NULL) {
  ------------------
  |  Branch (5899:13): [True: 0, False: 28.1k]
  ------------------
 5900|      0|		inp_decr = inp;
 5901|      0|	}
 5902|  28.1k|	SCTPDBG(SCTP_DEBUG_INPUT1, "Ok, Common input processing called, m:%p iphlen:%d offset:%d length:%d stcb:%p\n",
 5903|  28.1k|		(void *)m, iphlen, offset, length, (void *)stcb);
 5904|  28.1k|	if (stcb) {
  ------------------
  |  Branch (5904:6): [True: 28.1k, False: 0]
  ------------------
 5905|       |		/* always clear this before beginning a packet */
 5906|  28.1k|		stcb->asoc.authenticated = 0;
 5907|  28.1k|		stcb->asoc.seen_a_sack_this_pkt = 0;
 5908|  28.1k|		SCTPDBG(SCTP_DEBUG_INPUT1, "stcb:%p state:%x\n",
 5909|  28.1k|			(void *)stcb, stcb->asoc.state);
 5910|       |
 5911|  28.1k|		if ((stcb->asoc.state & SCTP_STATE_WAS_ABORTED) ||
  ------------------
  |  |  467|  28.1k|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (5911:7): [True: 0, False: 28.1k]
  ------------------
 5912|  28.1k|		    (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED)) {
  ------------------
  |  |  465|  28.1k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (5912:7): [True: 0, False: 28.1k]
  ------------------
 5913|       |			/*-
 5914|       |			 * If we hit here, we had a ref count
 5915|       |			 * up when the assoc was aborted and the
 5916|       |			 * timer is clearing out the assoc, we should
 5917|       |			 * NOT respond to any packet.. its OOTB.
 5918|       |			 */
 5919|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5920|      0|			stcb = NULL;
 5921|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5922|       |			SCTP_PROBE5(receive, NULL, stcb, m, stcb, sh);
 5923|       |#endif
 5924|      0|			SCTP_SNPRINTF(msg, sizeof(msg), "OOTB, %s:%d at %s", __FILE__, __LINE__, __func__);
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 5925|      0|			op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 5926|      0|			                             msg);
 5927|      0|			sctp_handle_ootb(m, iphlen, offset, src, dst, sh, inp, op_err,
 5928|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5929|       |			                 mflowtype, mflowid, inp->fibnum,
 5930|       |#endif
 5931|      0|			                 vrf_id, port);
 5932|      0|			goto out;
 5933|      0|		}
 5934|  28.1k|	}
 5935|  28.1k|#if defined(__Userspace__)
 5936|  28.1k|	if ((stcb != NULL) &&
  ------------------
  |  Branch (5936:6): [True: 28.1k, False: 0]
  ------------------
 5937|  28.1k|	    ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) == 0) &&
  ------------------
  |  |  549|  28.1k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (5937:6): [True: 28.1k, False: 0]
  ------------------
 5938|  28.1k|	    (stcb->sctp_socket != NULL)) {
  ------------------
  |  Branch (5938:6): [True: 28.1k, False: 0]
  ------------------
 5939|  28.1k|		if (stcb->sctp_socket->so_head != NULL) {
  ------------------
  |  Branch (5939:7): [True: 0, False: 28.1k]
  ------------------
 5940|      0|			upcall_socket = stcb->sctp_socket->so_head;
 5941|  28.1k|		} else {
 5942|  28.1k|			upcall_socket = stcb->sctp_socket;
 5943|  28.1k|		}
 5944|  28.1k|		SOCK_LOCK(upcall_socket);
  ------------------
  |  |  527|  28.1k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|  28.1k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5945|  28.1k|		soref(upcall_socket);
  ------------------
  |  |  404|  28.1k|#define	soref(so) do {							\
  |  |  405|  28.1k|	SOCK_LOCK_ASSERT(so);						\
  |  |  ------------------
  |  |  |  |  325|  28.1k|#define	SOCK_LOCK_ASSERT(_so)		SOCKBUF_LOCK_ASSERT(&(_so)->so_rcv)
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|  28.1k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  406|  28.1k|	++(so)->so_count;						\
  |  |  407|  28.1k|	SCTPDBG(SCTP_DEBUG_USR, "soref(%p) -> %d, %s:%s:%d\n",		\
  |  |  408|  28.1k|		(so), (so)->so_count,					\
  |  |  409|  28.1k|		__func__, __FILE__, __LINE__)				\
  |  |  410|  28.1k|} while (0)
  |  |  ------------------
  |  |  |  Branch (410:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5946|  28.1k|		SOCK_UNLOCK(upcall_socket);
  ------------------
  |  |  529|  28.1k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|  28.1k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5947|  28.1k|	}
 5948|  28.1k|#endif
 5949|  28.1k|	if (IS_SCTP_CONTROL(ch)) {
  ------------------
  |  |  385|  28.1k|#define IS_SCTP_CONTROL(a) (((a)->chunk_type != SCTP_DATA) && ((a)->chunk_type != SCTP_IDATA))
  |  |  ------------------
  |  |  |  |  457|  28.1k|#define SCTP_DATA		0x00
  |  |  ------------------
  |  |               #define IS_SCTP_CONTROL(a) (((a)->chunk_type != SCTP_DATA) && ((a)->chunk_type != SCTP_IDATA))
  |  |  ------------------
  |  |  |  |  477|  25.8k|#define SCTP_IDATA		0x40
  |  |  ------------------
  |  |  |  Branch (385:29): [True: 25.8k, False: 2.28k]
  |  |  |  Branch (385:63): [True: 23.6k, False: 2.19k]
  |  |  ------------------
  ------------------
 5950|       |		/* process the control portion of the SCTP packet */
 5951|       |		/* sa_ignore NO_NULL_CHK */
 5952|  23.6k|		stcb = sctp_process_control(m, iphlen, &offset, length,
 5953|  23.6k|		                            src, dst, sh, ch,
 5954|  23.6k|		                            inp, stcb, &net, &fwd_tsn_seen,
 5955|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5956|       |		                            mflowtype, mflowid, fibnum,
 5957|       |#endif
 5958|  23.6k|		                            vrf_id, port);
 5959|  23.6k|		if (stcb) {
  ------------------
  |  Branch (5959:7): [True: 22.5k, False: 1.05k]
  ------------------
 5960|       |			/* This covers us if the cookie-echo was there
 5961|       |			 * and it changes our INP.
 5962|       |			 */
 5963|  22.5k|			inp = stcb->sctp_ep;
 5964|  22.5k|#if defined(INET) || defined(INET6)
 5965|  22.5k|			if ((ch->chunk_type != SCTP_INITIATION) &&
  ------------------
  |  |  458|  22.5k|#define SCTP_INITIATION		0x01
  ------------------
  |  Branch (5965:8): [True: 22.5k, False: 2]
  ------------------
 5966|  22.5k|			    (net != NULL) && (net->port != port)) {
  ------------------
  |  Branch (5966:8): [True: 22.5k, False: 0]
  |  Branch (5966:25): [True: 0, False: 22.5k]
  ------------------
 5967|      0|				if (net->port == 0) {
  ------------------
  |  Branch (5967:9): [True: 0, False: 0]
  ------------------
 5968|       |					/* UDP encapsulation turned on. */
 5969|      0|					net->mtu -= sizeof(struct udphdr);
 5970|      0|					if (stcb->asoc.smallest_mtu > net->mtu) {
  ------------------
  |  Branch (5970:10): [True: 0, False: 0]
  ------------------
 5971|      0|						sctp_pathmtu_adjustment(stcb, net->mtu, true);
 5972|      0|					}
 5973|      0|				} else if (port == 0) {
  ------------------
  |  Branch (5973:16): [True: 0, False: 0]
  ------------------
 5974|       |					/* UDP encapsulation turned off. */
 5975|      0|					net->mtu += sizeof(struct udphdr);
 5976|       |					/* XXX Update smallest_mtu */
 5977|      0|				}
 5978|      0|				net->port = port;
 5979|      0|			}
 5980|  22.5k|#endif
 5981|  22.5k|		}
 5982|  23.6k|	} else {
 5983|       |		/*
 5984|       |		 * no control chunks, so pre-process DATA chunks (these
 5985|       |		 * checks are taken care of by control processing)
 5986|       |		 */
 5987|       |
 5988|       |		/*
 5989|       |		 * if DATA only packet, and auth is required, then punt...
 5990|       |		 * can't have authenticated without any AUTH (control)
 5991|       |		 * chunks
 5992|       |		 */
 5993|  4.48k|		if ((stcb != NULL) &&
  ------------------
  |  Branch (5993:7): [True: 4.48k, False: 0]
  ------------------
 5994|  4.48k|		    sctp_auth_is_required_chunk(SCTP_DATA, stcb->asoc.local_auth_chunks)) {
  ------------------
  |  |  100|  4.48k|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:50): [True: 0, False: 4.48k]
  |  |  |  Branch (100:51): [True: 0, False: 4.48k]
  |  |  ------------------
  ------------------
 5995|       |			/* "silently" ignore */
 5996|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5997|       |			SCTP_PROBE5(receive, NULL, stcb, m, stcb, sh);
 5998|       |#endif
 5999|      0|			SCTP_STAT_INCR(sctps_recvauthmissing);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6000|      0|			goto out;
 6001|      0|		}
 6002|  4.48k|		if (stcb == NULL) {
  ------------------
  |  Branch (6002:7): [True: 0, False: 4.48k]
  ------------------
 6003|       |			/* out of the blue DATA chunk */
 6004|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6005|       |			SCTP_PROBE5(receive, NULL, NULL, m, NULL, sh);
 6006|       |#endif
 6007|      0|			SCTP_SNPRINTF(msg, sizeof(msg), "OOTB, %s:%d at %s", __FILE__, __LINE__, __func__);
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 6008|      0|			op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 6009|      0|			                             msg);
 6010|      0|			sctp_handle_ootb(m, iphlen, offset, src, dst, sh, inp, op_err,
 6011|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6012|       |			                 mflowtype, mflowid, fibnum,
 6013|       |#endif
 6014|      0|					 vrf_id, port);
 6015|      0|			goto out;
 6016|      0|		}
 6017|  4.48k|		if (stcb->asoc.my_vtag != ntohl(sh->v_tag)) {
  ------------------
  |  Branch (6017:7): [True: 0, False: 4.48k]
  ------------------
 6018|       |			/* v_tag mismatch! */
 6019|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6020|       |			SCTP_PROBE5(receive, NULL, stcb, m, stcb, sh);
 6021|       |#endif
 6022|      0|			SCTP_STAT_INCR(sctps_badvtag);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6023|      0|			goto out;
 6024|      0|		}
 6025|  4.48k|	}
 6026|       |
 6027|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6028|       |	SCTP_PROBE5(receive, NULL, stcb, m, stcb, sh);
 6029|       |#endif
 6030|  28.1k|	if (stcb == NULL) {
  ------------------
  |  Branch (6030:6): [True: 1.05k, False: 27.0k]
  ------------------
 6031|       |		/*
 6032|       |		 * no valid TCB for this packet, or we found it's a bad
 6033|       |		 * packet while processing control, or we're done with this
 6034|       |		 * packet (done or skip rest of data), so we drop it...
 6035|       |		 */
 6036|  1.05k|		goto out;
 6037|  1.05k|	}
 6038|  27.0k|#if defined(__Userspace__)
 6039|  27.0k|	if ((upcall_socket == NULL) &&
  ------------------
  |  Branch (6039:6): [True: 0, False: 27.0k]
  ------------------
 6040|  27.0k|	    ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) == 0) &&
  ------------------
  |  |  549|      0|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (6040:6): [True: 0, False: 0]
  ------------------
 6041|  27.0k|	    (stcb->sctp_socket != NULL)) {
  ------------------
  |  Branch (6041:6): [True: 0, False: 0]
  ------------------
 6042|      0|		if (stcb->sctp_socket->so_head != NULL) {
  ------------------
  |  Branch (6042:7): [True: 0, False: 0]
  ------------------
 6043|      0|			upcall_socket = stcb->sctp_socket->so_head;
 6044|      0|		} else {
 6045|      0|			upcall_socket = stcb->sctp_socket;
 6046|      0|		}
 6047|      0|		SOCK_LOCK(upcall_socket);
  ------------------
  |  |  527|      0|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6048|      0|		soref(upcall_socket);
  ------------------
  |  |  404|      0|#define	soref(so) do {							\
  |  |  405|      0|	SOCK_LOCK_ASSERT(so);						\
  |  |  ------------------
  |  |  |  |  325|      0|#define	SOCK_LOCK_ASSERT(_so)		SOCKBUF_LOCK_ASSERT(&(_so)->so_rcv)
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|      0|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  406|      0|	++(so)->so_count;						\
  |  |  407|      0|	SCTPDBG(SCTP_DEBUG_USR, "soref(%p) -> %d, %s:%s:%d\n",		\
  |  |  408|      0|		(so), (so)->so_count,					\
  |  |  409|      0|		__func__, __FILE__, __LINE__)				\
  |  |  410|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (410:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6049|      0|		SOCK_UNLOCK(upcall_socket);
  ------------------
  |  |  529|      0|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6050|      0|	}
 6051|  27.0k|#endif
 6052|       |
 6053|       |	/*
 6054|       |	 * DATA chunk processing
 6055|       |	 */
 6056|       |	/* plow through the data chunks while length > offset */
 6057|       |
 6058|       |	/*
 6059|       |	 * Rest should be DATA only.  Check authentication state if AUTH for
 6060|       |	 * DATA is required.
 6061|       |	 */
 6062|  27.0k|	if ((length > offset) &&
  ------------------
  |  Branch (6062:6): [True: 5.96k, False: 21.1k]
  ------------------
 6063|  27.0k|	    (stcb != NULL) &&
  ------------------
  |  Branch (6063:6): [True: 5.96k, False: 0]
  ------------------
 6064|  27.0k|	    sctp_auth_is_required_chunk(SCTP_DATA, stcb->asoc.local_auth_chunks) &&
  ------------------
  |  |  100|  33.0k|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:50): [True: 0, False: 5.96k]
  |  |  |  Branch (100:51): [True: 0, False: 5.96k]
  |  |  ------------------
  ------------------
 6065|  27.0k|	    !stcb->asoc.authenticated) {
  ------------------
  |  Branch (6065:6): [True: 0, False: 0]
  ------------------
 6066|       |		/* "silently" ignore */
 6067|      0|		SCTP_STAT_INCR(sctps_recvauthmissing);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6068|      0|		SCTPDBG(SCTP_DEBUG_AUTH1,
 6069|      0|			"Data chunk requires AUTH, skipped\n");
 6070|      0|		goto trigger_send;
 6071|      0|	}
 6072|  27.0k|	if (length > offset) {
  ------------------
  |  Branch (6072:6): [True: 5.96k, False: 21.1k]
  ------------------
 6073|  5.96k|		int retval;
 6074|       |
 6075|       |		/*
 6076|       |		 * First check to make sure our state is correct. We would
 6077|       |		 * not get here unless we really did have a tag, so we don't
 6078|       |		 * abort if this happens, just dump the chunk silently.
 6079|       |		 */
 6080|  5.96k|		switch (SCTP_GET_STATE(stcb)) {
  ------------------
  |  |  472|  5.96k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  5.96k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
 6081|  1.50k|		case SCTP_STATE_COOKIE_ECHOED:
  ------------------
  |  |  458|  1.50k|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (6081:3): [True: 1.50k, False: 4.46k]
  ------------------
 6082|       |			/*
 6083|       |			 * we consider data with valid tags in this state
 6084|       |			 * shows us the cookie-ack was lost. Imply it was
 6085|       |			 * there.
 6086|       |			 */
 6087|  1.50k|			sctp_handle_cookie_ack((struct sctp_cookie_ack_chunk *)ch, stcb, net);
 6088|  1.50k|			break;
 6089|    294|		case SCTP_STATE_COOKIE_WAIT:
  ------------------
  |  |  457|    294|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (6089:3): [True: 294, False: 5.67k]
  ------------------
 6090|       |			/*
 6091|       |			 * We consider OOTB any data sent during asoc setup.
 6092|       |			 */
 6093|    294|			SCTP_SNPRINTF(msg, sizeof(msg), "OOTB, %s:%d at %s", __FILE__, __LINE__, __func__);
  ------------------
  |  |  814|    294|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 294]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 6094|    294|			op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
  ------------------
  |  |  584|    294|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 6095|    294|			                             msg);
 6096|    294|			sctp_handle_ootb(m, iphlen, offset, src, dst, sh, inp, op_err,
 6097|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6098|       |			                 mflowtype, mflowid, inp->fibnum,
 6099|       |#endif
 6100|    294|					 vrf_id, port);
 6101|    294|			goto out;
 6102|       |			/*sa_ignore NOTREACHED*/
 6103|      0|			break;
 6104|      0|		case SCTP_STATE_EMPTY:	/* should not happen */
  ------------------
  |  |  455|      0|#define SCTP_STATE_EMPTY		0x0000
  ------------------
  |  Branch (6104:3): [True: 0, False: 5.96k]
  ------------------
 6105|      0|		case SCTP_STATE_INUSE:	/* should not happen */
  ------------------
  |  |  456|      0|#define SCTP_STATE_INUSE		0x0001
  ------------------
  |  Branch (6105:3): [True: 0, False: 5.96k]
  ------------------
 6106|      5|		case SCTP_STATE_SHUTDOWN_RECEIVED:	/* This is a peer error */
  ------------------
  |  |  461|      5|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (6106:3): [True: 5, False: 5.96k]
  ------------------
 6107|      9|		case SCTP_STATE_SHUTDOWN_ACK_SENT:
  ------------------
  |  |  462|      9|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (6107:3): [True: 4, False: 5.96k]
  ------------------
 6108|      9|		default:
  ------------------
  |  Branch (6108:3): [True: 0, False: 5.96k]
  ------------------
 6109|      9|			goto out;
 6110|       |			/*sa_ignore NOTREACHED*/
 6111|      9|			break;
 6112|  4.16k|		case SCTP_STATE_OPEN:
  ------------------
  |  |  459|  4.16k|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (6112:3): [True: 4.16k, False: 1.80k]
  ------------------
 6113|  4.16k|		case SCTP_STATE_SHUTDOWN_SENT:
  ------------------
  |  |  460|  4.16k|#define SCTP_STATE_SHUTDOWN_SENT	0x0010
  ------------------
  |  Branch (6113:3): [True: 0, False: 5.96k]
  ------------------
 6114|  4.16k|			break;
 6115|  5.96k|		}
 6116|       |		/* plow through the data chunks while length > offset */
 6117|  5.66k|		retval = sctp_process_data(mm, iphlen, &offset, length,
 6118|  5.66k|		                           inp, stcb, net, &high_tsn);
 6119|  5.66k|		if (retval == 2) {
  ------------------
  |  Branch (6119:7): [True: 761, False: 4.90k]
  ------------------
 6120|       |			/*
 6121|       |			 * The association aborted, NO UNLOCK needed since
 6122|       |			 * the association is destroyed.
 6123|       |			 */
 6124|    761|			stcb = NULL;
 6125|    761|			goto out;
 6126|    761|		}
 6127|  4.90k|		if (retval == 0) {
  ------------------
  |  Branch (6127:7): [True: 4.90k, False: 0]
  ------------------
 6128|  4.90k|			data_processed = 1;
 6129|  4.90k|		}
 6130|       |		/*
 6131|       |		 * Anything important needs to have been m_copy'ed in
 6132|       |		 * process_data
 6133|       |		 */
 6134|  4.90k|	}
 6135|       |
 6136|       |	/* take care of ecn */
 6137|  26.0k|	if ((data_processed == 1) &&
  ------------------
  |  Branch (6137:6): [True: 4.90k, False: 21.1k]
  ------------------
 6138|  26.0k|	    (stcb->asoc.ecn_supported == 1) &&
  ------------------
  |  Branch (6138:6): [True: 4.90k, False: 0]
  ------------------
 6139|  26.0k|	    ((ecn_bits & SCTP_CE_BITS) == SCTP_CE_BITS)) {
  ------------------
  |  |  443|  4.90k|#define SCTP_CE_BITS		0x03
  ------------------
              	    ((ecn_bits & SCTP_CE_BITS) == SCTP_CE_BITS)) {
  ------------------
  |  |  443|  4.90k|#define SCTP_CE_BITS		0x03
  ------------------
  |  Branch (6139:6): [True: 0, False: 4.90k]
  ------------------
 6140|       |		/* Yep, we need to add a ECNE */
 6141|      0|		sctp_send_ecn_echo(stcb, net, high_tsn);
 6142|      0|	}
 6143|       |
 6144|  26.0k|	if ((data_processed == 0) && (fwd_tsn_seen)) {
  ------------------
  |  Branch (6144:6): [True: 21.1k, False: 4.90k]
  |  Branch (6144:31): [True: 841, False: 20.2k]
  ------------------
 6145|    841|		int was_a_gap;
 6146|    841|		uint32_t highest_tsn;
 6147|       |
 6148|    841|		if (SCTP_TSN_GT(stcb->asoc.highest_tsn_inside_nr_map, stcb->asoc.highest_tsn_inside_map)) {
  ------------------
  |  |  889|    841|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    841|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 841]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|    841|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 106, False: 735]
  |  |  |  |  |  Branch (884:43): [True: 106, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6149|    106|			highest_tsn = stcb->asoc.highest_tsn_inside_nr_map;
 6150|    735|		} else {
 6151|    735|			highest_tsn = stcb->asoc.highest_tsn_inside_map;
 6152|    735|		}
 6153|    841|		was_a_gap = SCTP_TSN_GT(highest_tsn, stcb->asoc.cumulative_tsn);
  ------------------
  |  |  889|    841|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    841|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 19, False: 822]
  |  |  |  |  |  Branch (883:43): [True: 19, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|    841|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 822]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6154|    841|		stcb->asoc.send_sack = 1;
 6155|    841|		sctp_sack_check(stcb, was_a_gap);
 6156|  25.1k|	} else if (fwd_tsn_seen) {
  ------------------
  |  Branch (6156:13): [True: 284, False: 24.8k]
  ------------------
 6157|    284|		stcb->asoc.send_sack = 1;
 6158|    284|	}
 6159|       |	/* trigger send of any chunks in queue... */
 6160|  26.0k|trigger_send:
 6161|       |#ifdef SCTP_AUDITING_ENABLED
 6162|       |	sctp_audit_log(0xE0, 2);
 6163|       |	sctp_auditing(1, inp, stcb, net);
 6164|       |#endif
 6165|  26.0k|	SCTPDBG(SCTP_DEBUG_INPUT1,
 6166|  26.0k|		"Check for chunk output prw:%d tqe:%d tf=%d\n",
 6167|  26.0k|		stcb->asoc.peers_rwnd,
 6168|  26.0k|		TAILQ_EMPTY(&stcb->asoc.control_send_queue),
 6169|  26.0k|		stcb->asoc.total_flight);
 6170|  26.0k|	un_sent = (stcb->asoc.total_output_queue_size - stcb->asoc.total_flight);
 6171|  26.0k|	if (!TAILQ_EMPTY(&stcb->asoc.control_send_queue)) {
  ------------------
  |  Branch (6171:6): [True: 18.9k, False: 7.08k]
  ------------------
 6172|  18.9k|		cnt_ctrl_ready = stcb->asoc.ctrl_queue_cnt - stcb->asoc.ecn_echo_cnt_onq;
 6173|  18.9k|	}
 6174|  26.0k|	if (!TAILQ_EMPTY(&stcb->asoc.asconf_send_queue) ||
  ------------------
  |  Branch (6174:6): [True: 0, False: 26.0k]
  ------------------
 6175|  26.0k|	    cnt_ctrl_ready ||
  ------------------
  |  Branch (6175:6): [True: 18.9k, False: 7.08k]
  ------------------
 6176|  26.0k|	    stcb->asoc.trigger_reset ||
  ------------------
  |  Branch (6176:6): [True: 0, False: 7.08k]
  ------------------
 6177|  26.0k|	    ((un_sent > 0) &&
  ------------------
  |  Branch (6177:7): [True: 422, False: 6.66k]
  ------------------
 6178|  19.3k|	     (stcb->asoc.peers_rwnd > 0 || stcb->asoc.total_flight == 0))) {
  ------------------
  |  Branch (6178:8): [True: 358, False: 64]
  |  Branch (6178:37): [True: 64, False: 0]
  ------------------
 6179|  19.3k|		SCTPDBG(SCTP_DEBUG_INPUT3, "Calling chunk OUTPUT\n");
 6180|  19.3k|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_CONTROL_PROC, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  364|  19.3k|#define SCTP_OUTPUT_FROM_CONTROL_PROC   3
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_CONTROL_PROC, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  19.3k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 6181|  19.3k|		SCTPDBG(SCTP_DEBUG_INPUT3, "chunk OUTPUT returns\n");
 6182|  19.3k|	}
 6183|       |#ifdef SCTP_AUDITING_ENABLED
 6184|       |	sctp_audit_log(0xE0, 3);
 6185|       |	sctp_auditing(2, inp, stcb, net);
 6186|       |#endif
 6187|  28.1k| out:
 6188|  28.1k|	if (stcb != NULL) {
  ------------------
  |  Branch (6188:6): [True: 26.3k, False: 1.81k]
  ------------------
 6189|  26.3k|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|  26.3k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  26.3k|	do {                         \
  |  |  |  |  113|  26.3k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 26.3k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  26.3k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6190|  26.3k|	}
 6191|  28.1k|#if defined(__Userspace__)
 6192|  28.1k|	if (upcall_socket != NULL) {
  ------------------
  |  Branch (6192:6): [True: 28.1k, False: 0]
  ------------------
 6193|  28.1k|		if (upcall_socket->so_upcall != NULL) {
  ------------------
  |  Branch (6193:7): [True: 28.1k, False: 0]
  ------------------
 6194|  28.1k|			if (soreadable(upcall_socket) ||
  ------------------
  |  |  443|  56.2k|    ((int)((so)->so_rcv.sb_cc) >= (so)->so_rcv.sb_lowat || \
  |  |  ------------------
  |  |  |  Branch (443:6): [True: 9.95k, False: 18.1k]
  |  |  ------------------
  |  |  444|  28.1k|	((so)->so_rcv.sb_state & SBS_CANTRCVMORE) || \
  |  |  ------------------
  |  |  |  |  360|  18.1k|#define	SBS_CANTRCVMORE		0x0020	/* can't receive more data from peer */
  |  |  ------------------
  |  |  |  Branch (444:2): [True: 0, False: 18.1k]
  |  |  ------------------
  |  |  445|  28.1k|	!TAILQ_EMPTY(&(so)->so_comp) || (so)->so_error)
  |  |  ------------------
  |  |  |  Branch (445:2): [True: 0, False: 18.1k]
  |  |  |  Branch (445:34): [True: 0, False: 18.1k]
  |  |  ------------------
  ------------------
 6195|  28.1k|			    sowriteable(upcall_socket) ||
  ------------------
  |  |  458|  46.3k|    ((sbspace(&(so)->so_snd) >= (so)->so_snd.sb_lowat && \
  |  |  ------------------
  |  |  |  |  434|  18.1k|    ((long) min((int)((sb)->sb_hiwat - (sb)->sb_cc), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   66|  18.1k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (66:19): [True: 0, False: 18.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  435|  18.1k|	 (int)((sb)->sb_mbmax - (sb)->sb_mbcnt)))
  |  |  ------------------
  |  |  |  Branch (458:7): [True: 18.1k, False: 0]
  |  |  ------------------
  |  |  459|  18.1k|      (((so)->so_state&SS_ISCONNECTED))) ||              \
  |  |  ------------------
  |  |  |  |  340|  18.1k|#define	SS_ISCONNECTED		0x0002	/* socket connected to a peer */
  |  |  ------------------
  |  |  |  Branch (459:7): [True: 4.88k, False: 13.3k]
  |  |  ------------------
  |  |  460|  18.1k|     ((so)->so_snd.sb_state & SBS_CANTSENDMORE) || \
  |  |  ------------------
  |  |  |  |  359|  13.3k|#define	SBS_CANTSENDMORE	0x0010	/* can't send more data to peer */
  |  |  ------------------
  |  |  |  Branch (460:6): [True: 0, False: 13.3k]
  |  |  ------------------
  |  |  461|  46.3k|     (so)->so_error)
  |  |  ------------------
  |  |  |  Branch (461:6): [True: 0, False: 13.3k]
  |  |  ------------------
  ------------------
 6196|  28.1k|			    upcall_socket->so_error) {
  ------------------
  |  Branch (6196:8): [True: 0, False: 13.3k]
  ------------------
 6197|  14.8k|				(*upcall_socket->so_upcall)(upcall_socket, upcall_socket->so_upcallarg, M_NOWAIT);
  ------------------
  |  |   60|  14.8k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 6198|  14.8k|			}
 6199|  28.1k|		}
 6200|  28.1k|		ACCEPT_LOCK();
  ------------------
  |  |  256|  28.1k|#define	ACCEPT_LOCK()	KASSERT(pthread_mutex_lock(&accept_mtx) == 0, ("%s: accept_mtx already locked", __func__))
  |  |  ------------------
  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6201|  28.1k|		SOCK_LOCK(upcall_socket);
  ------------------
  |  |  527|  28.1k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|  28.1k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6202|  28.1k|		sorele(upcall_socket);
  ------------------
  |  |  412|  28.1k|#define	sorele(so) do {							\
  |  |  413|  28.1k|	ACCEPT_LOCK_ASSERT();						\
  |  |  ------------------
  |  |  |  |  263|  28.1k|          KASSERT(pthread_mutex_trylock(&accept_mtx) == EBUSY, ("%s: accept_mtx not locked", __func__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  414|  28.1k|	SOCK_LOCK_ASSERT(so);						\
  |  |  ------------------
  |  |  |  |  325|  28.1k|#define	SOCK_LOCK_ASSERT(_so)		SOCKBUF_LOCK_ASSERT(&(_so)->so_rcv)
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|  28.1k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  415|  28.1k|	KASSERT((so)->so_count > 0, ("sorele"));			\
  |  |  ------------------
  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  416|  28.1k|	if (--(so)->so_count == 0) {					\
  |  |  ------------------
  |  |  |  Branch (416:6): [True: 0, False: 28.1k]
  |  |  ------------------
  |  |  417|      0|		SCTPDBG(SCTP_DEBUG_USR, "sorele(%p) -> %d, %s:%s:%d\n",	\
  |  |  418|      0|			(so), (so)->so_count,				\
  |  |  419|      0|			__func__, __FILE__, __LINE__)			\
  |  |  420|      0|		sofree(so);						\
  |  |  421|      0|	}								\
  |  |  422|  28.1k|	else {								\
  |  |  423|  28.1k|		SCTPDBG(SCTP_DEBUG_USR, "sorele(%p) -> %d, %s:%s:%d\n",	\
  |  |  424|  28.1k|			(so), (so)->so_count,				\
  |  |  425|  28.1k|			__func__, __FILE__, __LINE__)			\
  |  |  426|  28.1k|		SOCK_UNLOCK(so);					\
  |  |  ------------------
  |  |  |  |  529|  28.1k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  |  |  ------------------
  |  |  |  |  |  |  519|  28.1k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  427|  28.1k|		ACCEPT_UNLOCK();					\
  |  |  ------------------
  |  |  |  |  257|  28.1k|#define	ACCEPT_UNLOCK()	KASSERT(pthread_mutex_unlock(&accept_mtx) == 0, ("%s: accept_mtx not locked", __func__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|  28.1k|	}								\
  |  |  429|  28.1k|} while (0)
  |  |  ------------------
  |  |  |  Branch (429:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6203|  28.1k|	}
 6204|  28.1k|#endif
 6205|  28.1k|	if (inp_decr != NULL) {
  ------------------
  |  Branch (6205:6): [True: 0, False: 28.1k]
  ------------------
 6206|       |		/* reduce ref-count */
 6207|      0|		SCTP_INP_WLOCK(inp_decr);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6208|      0|		SCTP_INP_DECR_REF(inp_decr);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 6209|      0|		SCTP_INP_WUNLOCK(inp_decr);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6210|      0|	}
 6211|  28.1k|	return;
 6212|  28.1k|}
sctp_input.c:sctp_process_control:
 4711|  23.6k|{
 4712|  23.6k|	struct sctp_association *asoc;
 4713|  23.6k|	struct mbuf *op_err;
 4714|  23.6k|	char msg[SCTP_DIAG_INFO_LEN];
 4715|  23.6k|	uint32_t vtag_in;
 4716|  23.6k|	int num_chunks = 0;	/* number of control chunks processed */
 4717|  23.6k|	uint32_t chk_length, contiguous;
 4718|  23.6k|	int ret;
 4719|  23.6k|	int abort_no_unlock = 0;
 4720|  23.6k|	int ecne_seen = 0;
 4721|  23.6k|	int abort_flag;
 4722|       |	/*
 4723|       |	 * How big should this be, and should it be alloc'd? Lets try the
 4724|       |	 * d-mtu-ceiling for now (2k) and that should hopefully work ...
 4725|       |	 * until we get into jumbo grams and such..
 4726|       |	 */
 4727|  23.6k|	uint8_t chunk_buf[SCTP_CHUNK_BUFFER_SIZE];
 4728|  23.6k|	int got_auth = 0;
 4729|  23.6k|	uint32_t auth_offset = 0, auth_len = 0;
 4730|  23.6k|	int auth_skipped = 0;
 4731|  23.6k|	int asconf_cnt = 0;
 4732|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4733|       |	struct socket *so;
 4734|       |#endif
 4735|       |
 4736|  23.6k|	SCTPDBG(SCTP_DEBUG_INPUT1, "sctp_process_control: iphlen=%u, offset=%u, length=%u stcb:%p\n",
 4737|  23.6k|		iphlen, *offset, length, (void *)stcb);
 4738|       |
 4739|  23.6k|	if (stcb) {
  ------------------
  |  Branch (4739:6): [True: 23.6k, False: 0]
  ------------------
 4740|  23.6k|		SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  23.6k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  23.6k|	do {                         \
  |  |  |  |  113|  23.6k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 23.6k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  23.6k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4741|  23.6k|	}
 4742|       |	/* validate chunk header length... */
 4743|  23.6k|	if (ntohs(ch->chunk_length) < sizeof(*ch)) {
  ------------------
  |  Branch (4743:6): [True: 6, False: 23.6k]
  ------------------
 4744|      6|		SCTPDBG(SCTP_DEBUG_INPUT1, "Invalid header length %d\n",
 4745|      6|			ntohs(ch->chunk_length));
 4746|      6|		*offset = length;
 4747|      6|		return (stcb);
 4748|      6|	}
 4749|       |	/*
 4750|       |	 * validate the verification tag
 4751|       |	 */
 4752|  23.6k|	vtag_in = ntohl(sh->v_tag);
 4753|       |
 4754|  23.6k|	if (ch->chunk_type == SCTP_INITIATION) {
  ------------------
  |  |  458|  23.6k|#define SCTP_INITIATION		0x01
  ------------------
  |  Branch (4754:6): [True: 23, False: 23.6k]
  ------------------
 4755|     23|		SCTPDBG(SCTP_DEBUG_INPUT1, "Its an INIT of len:%d vtag:%x\n",
 4756|     23|			ntohs(ch->chunk_length), vtag_in);
 4757|     23|		if (vtag_in != 0) {
  ------------------
  |  Branch (4757:7): [True: 23, False: 0]
  ------------------
 4758|       |			/* protocol error- silently discard... */
 4759|     23|			SCTP_STAT_INCR(sctps_badvtag);
  ------------------
  |  | 1112|     23|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|     23|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|     23|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4760|     23|			if (stcb != NULL) {
  ------------------
  |  Branch (4760:8): [True: 23, False: 0]
  ------------------
 4761|     23|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|     23|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     23|	do {                         \
  |  |  |  |  113|     23|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 23]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     23|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4762|     23|			}
 4763|     23|			return (NULL);
 4764|     23|		}
 4765|  23.6k|	} else if (ch->chunk_type != SCTP_COOKIE_ECHO) {
  ------------------
  |  |  467|  23.6k|#define SCTP_COOKIE_ECHO	0x0a
  ------------------
  |  Branch (4765:13): [True: 23.5k, False: 43]
  ------------------
 4766|       |		/*
 4767|       |		 * If there is no stcb, skip the AUTH chunk and process
 4768|       |		 * later after a stcb is found (to validate the lookup was
 4769|       |		 * valid.
 4770|       |		 */
 4771|  23.5k|		if ((ch->chunk_type == SCTP_AUTHENTICATION) &&
  ------------------
  |  |  473|  23.5k|#define SCTP_AUTHENTICATION     0x0f
  ------------------
  |  Branch (4771:7): [True: 2.34k, False: 21.2k]
  ------------------
 4772|  23.5k|		    (stcb == NULL) &&
  ------------------
  |  Branch (4772:7): [True: 0, False: 2.34k]
  ------------------
 4773|  23.5k|		    (inp->auth_supported == 1)) {
  ------------------
  |  Branch (4773:7): [True: 0, False: 0]
  ------------------
 4774|       |			/* save this chunk for later processing */
 4775|      0|			auth_skipped = 1;
 4776|      0|			auth_offset = *offset;
 4777|      0|			auth_len = ntohs(ch->chunk_length);
 4778|       |
 4779|       |			/* (temporarily) move past this chunk */
 4780|      0|			*offset += SCTP_SIZE32(auth_len);
  ------------------
  |  |  383|      0|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 4781|      0|			if (*offset >= length) {
  ------------------
  |  Branch (4781:8): [True: 0, False: 0]
  ------------------
 4782|       |				/* no more data left in the mbuf chain */
 4783|      0|				*offset = length;
 4784|      0|				return (NULL);
 4785|      0|			}
 4786|      0|			ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, *offset,
 4787|      0|								   sizeof(struct sctp_chunkhdr), chunk_buf);
 4788|      0|		}
 4789|  23.5k|		if (ch == NULL) {
  ------------------
  |  Branch (4789:7): [True: 0, False: 23.5k]
  ------------------
 4790|       |			/* Help */
 4791|      0|			*offset = length;
 4792|      0|			return (stcb);
 4793|      0|		}
 4794|  23.5k|		if (ch->chunk_type == SCTP_COOKIE_ECHO) {
  ------------------
  |  |  467|  23.5k|#define SCTP_COOKIE_ECHO	0x0a
  ------------------
  |  Branch (4794:7): [True: 0, False: 23.5k]
  ------------------
 4795|      0|			goto process_control_chunks;
 4796|      0|		}
 4797|       |		/*
 4798|       |		 * first check if it's an ASCONF with an unknown src addr we
 4799|       |		 * need to look inside to find the association
 4800|       |		 */
 4801|  23.5k|		if (ch->chunk_type == SCTP_ASCONF && stcb == NULL) {
  ------------------
  |  |  492|  47.1k|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (4801:7): [True: 7, False: 23.5k]
  |  Branch (4801:40): [True: 0, False: 7]
  ------------------
 4802|      0|			struct sctp_chunkhdr *asconf_ch = ch;
 4803|      0|			uint32_t asconf_offset = 0, asconf_len = 0;
 4804|       |
 4805|       |			/* inp's refcount may be reduced */
 4806|      0|			SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 4807|       |
 4808|      0|			asconf_offset = *offset;
 4809|      0|			do {
 4810|      0|				asconf_len = ntohs(asconf_ch->chunk_length);
 4811|      0|				if (asconf_len < sizeof(struct sctp_asconf_paramhdr))
  ------------------
  |  Branch (4811:9): [True: 0, False: 0]
  ------------------
 4812|      0|					break;
 4813|      0|				stcb = sctp_findassociation_ep_asconf(m,
 4814|      0|				                                      *offset,
 4815|      0|				                                      dst,
 4816|      0|				                                      sh, &inp, netp, vrf_id);
 4817|      0|				if (stcb != NULL)
  ------------------
  |  Branch (4817:9): [True: 0, False: 0]
  ------------------
 4818|      0|					break;
 4819|      0|				asconf_offset += SCTP_SIZE32(asconf_len);
  ------------------
  |  |  383|      0|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 4820|      0|				asconf_ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, asconf_offset,
 4821|      0|										  sizeof(struct sctp_chunkhdr), chunk_buf);
 4822|      0|			} while (asconf_ch != NULL && asconf_ch->chunk_type == SCTP_ASCONF);
  ------------------
  |  |  492|      0|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (4822:13): [True: 0, False: 0]
  |  Branch (4822:34): [True: 0, False: 0]
  ------------------
 4823|      0|			if (stcb == NULL) {
  ------------------
  |  Branch (4823:8): [True: 0, False: 0]
  ------------------
 4824|       |				/*
 4825|       |				 * reduce inp's refcount if not reduced in
 4826|       |				 * sctp_findassociation_ep_asconf().
 4827|       |				 */
 4828|      0|				SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 4829|      0|			}
 4830|       |
 4831|       |			/* now go back and verify any auth chunk to be sure */
 4832|      0|			if (auth_skipped && (stcb != NULL)) {
  ------------------
  |  Branch (4832:8): [True: 0, False: 0]
  |  Branch (4832:24): [True: 0, False: 0]
  ------------------
 4833|      0|				struct sctp_auth_chunk *auth;
 4834|       |
 4835|      0|				if (auth_len <= SCTP_CHUNK_BUFFER_SIZE) {
  ------------------
  |  |  689|      0|#define SCTP_CHUNK_BUFFER_SIZE	512
  ------------------
  |  Branch (4835:9): [True: 0, False: 0]
  ------------------
 4836|      0|					auth = (struct sctp_auth_chunk *)sctp_m_getptr(m, auth_offset, auth_len, chunk_buf);
 4837|      0|					got_auth = 1;
 4838|      0|					auth_skipped = 0;
 4839|      0|				} else {
 4840|      0|					auth = NULL;
 4841|      0|				}
 4842|      0|				if ((auth == NULL) || sctp_handle_auth(stcb, auth, m,
  ------------------
  |  Branch (4842:9): [True: 0, False: 0]
  |  Branch (4842:27): [True: 0, False: 0]
  ------------------
 4843|      0|								       auth_offset)) {
 4844|       |					/* auth HMAC failed so dump it */
 4845|      0|					*offset = length;
 4846|      0|					return (stcb);
 4847|      0|				} else {
 4848|       |					/* remaining chunks are HMAC checked */
 4849|      0|					stcb->asoc.authenticated = 1;
 4850|      0|				}
 4851|      0|			}
 4852|      0|		}
 4853|  23.5k|		if (stcb == NULL) {
  ------------------
  |  Branch (4853:7): [True: 0, False: 23.5k]
  ------------------
 4854|      0|			SCTP_SNPRINTF(msg, sizeof(msg), "OOTB, %s:%d at %s", __FILE__, __LINE__, __func__);
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 4855|      0|			op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 4856|      0|			                             msg);
 4857|       |			/* no association, so it's out of the blue... */
 4858|      0|			sctp_handle_ootb(m, iphlen, *offset, src, dst, sh, inp, op_err,
 4859|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4860|       |			                 mflowtype, mflowid, inp->fibnum,
 4861|       |#endif
 4862|      0|					 vrf_id, port);
 4863|      0|			*offset = length;
 4864|      0|			return (NULL);
 4865|      0|		}
 4866|  23.5k|		asoc = &stcb->asoc;
 4867|       |		/* ABORT and SHUTDOWN can use either v_tag... */
 4868|  23.5k|		if ((ch->chunk_type == SCTP_ABORT_ASSOCIATION) ||
  ------------------
  |  |  463|  23.5k|#define SCTP_ABORT_ASSOCIATION	0x06
  ------------------
  |  Branch (4868:7): [True: 93, False: 23.4k]
  ------------------
 4869|  23.5k|		    (ch->chunk_type == SCTP_SHUTDOWN_COMPLETE) ||
  ------------------
  |  |  471|  23.4k|#define SCTP_SHUTDOWN_COMPLETE	0x0e
  ------------------
  |  Branch (4869:7): [True: 27, False: 23.4k]
  ------------------
 4870|  23.5k|		    (ch->chunk_type == SCTP_PACKET_DROPPED)) {
  ------------------
  |  |  482|  23.4k|#define SCTP_PACKET_DROPPED	0x81
  ------------------
  |  Branch (4870:7): [True: 540, False: 22.9k]
  ------------------
 4871|       |			/* Take the T-bit always into account. */
 4872|    660|			if ((((ch->chunk_flags & SCTP_HAD_NO_TCB) == 0) &&
  ------------------
  |  |  496|    660|#define SCTP_HAD_NO_TCB		0x01
  ------------------
  |  Branch (4872:9): [True: 634, False: 26]
  ------------------
 4873|    660|			     (vtag_in == asoc->my_vtag)) ||
  ------------------
  |  Branch (4873:9): [True: 634, False: 0]
  ------------------
 4874|    660|			    (((ch->chunk_flags & SCTP_HAD_NO_TCB) == SCTP_HAD_NO_TCB) &&
  ------------------
  |  |  496|     26|#define SCTP_HAD_NO_TCB		0x01
  ------------------
              			    (((ch->chunk_flags & SCTP_HAD_NO_TCB) == SCTP_HAD_NO_TCB) &&
  ------------------
  |  |  496|     26|#define SCTP_HAD_NO_TCB		0x01
  ------------------
  |  Branch (4874:9): [True: 26, False: 0]
  ------------------
 4875|     26|			     (asoc->peer_vtag != htonl(0)) &&
  ------------------
  |  Branch (4875:9): [True: 22, False: 4]
  ------------------
 4876|    634|			     (vtag_in == asoc->peer_vtag))) {
  ------------------
  |  Branch (4876:9): [True: 0, False: 22]
  ------------------
 4877|       |				/* this is valid */
 4878|    634|			} else {
 4879|       |				/* drop this packet... */
 4880|     26|				SCTP_STAT_INCR(sctps_badvtag);
  ------------------
  |  | 1112|     26|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|     26|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|     26|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4881|     26|				if (stcb != NULL) {
  ------------------
  |  Branch (4881:9): [True: 26, False: 0]
  ------------------
 4882|     26|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|     26|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     26|	do {                         \
  |  |  |  |  113|     26|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 26]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     26|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4883|     26|				}
 4884|     26|				return (NULL);
 4885|     26|			}
 4886|  22.9k|		} else {
 4887|       |			/* for all other chunks, vtag must match */
 4888|  22.9k|			if (vtag_in != asoc->my_vtag) {
  ------------------
  |  Branch (4888:8): [True: 0, False: 22.9k]
  ------------------
 4889|       |				/* invalid vtag... */
 4890|      0|				SCTPDBG(SCTP_DEBUG_INPUT3,
 4891|      0|					"invalid vtag: %xh, expect %xh\n",
 4892|      0|					vtag_in, asoc->my_vtag);
 4893|      0|				SCTP_STAT_INCR(sctps_badvtag);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4894|      0|				if (stcb != NULL) {
  ------------------
  |  Branch (4894:9): [True: 0, False: 0]
  ------------------
 4895|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4896|      0|				}
 4897|      0|				*offset = length;
 4898|      0|				return (NULL);
 4899|      0|			}
 4900|  22.9k|		}
 4901|  23.5k|	}			/* end if !SCTP_COOKIE_ECHO */
 4902|       |	/*
 4903|       |	 * process all control chunks...
 4904|       |	 */
 4905|  23.5k|	if (((ch->chunk_type == SCTP_SELECTIVE_ACK) ||
  ------------------
  |  |  460|  23.5k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (4905:7): [True: 111, False: 23.4k]
  ------------------
 4906|  23.5k|	     (ch->chunk_type == SCTP_NR_SELECTIVE_ACK) ||
  ------------------
  |  |  475|  23.4k|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
  |  Branch (4906:7): [True: 76, False: 23.4k]
  ------------------
 4907|  23.5k|	     (ch->chunk_type == SCTP_HEARTBEAT_REQUEST)) &&
  ------------------
  |  |  461|  23.4k|#define SCTP_HEARTBEAT_REQUEST	0x04
  ------------------
  |  Branch (4907:7): [True: 288, False: 23.1k]
  ------------------
 4908|  23.5k|	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  472|    475|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    475|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  458|    475|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (4908:6): [True: 152, False: 323]
  ------------------
 4909|       |		/* implied cookie-ack.. we must have lost the ack */
 4910|    152|		sctp_handle_cookie_ack((struct sctp_cookie_ack_chunk *)ch, stcb,
 4911|    152|				       *netp);
 4912|    152|	}
 4913|       |
 4914|  23.5k| process_control_chunks:
 4915|   718k|	while (IS_SCTP_CONTROL(ch)) {
  ------------------
  |  |  385|   718k|#define IS_SCTP_CONTROL(a) (((a)->chunk_type != SCTP_DATA) && ((a)->chunk_type != SCTP_IDATA))
  |  |  ------------------
  |  |  |  |  457|   718k|#define SCTP_DATA		0x00
  |  |  ------------------
  |  |               #define IS_SCTP_CONTROL(a) (((a)->chunk_type != SCTP_DATA) && ((a)->chunk_type != SCTP_IDATA))
  |  |  ------------------
  |  |  |  |  477|   717k|#define SCTP_IDATA		0x40
  |  |  ------------------
  |  |  |  Branch (385:29): [True: 717k, False: 1.31k]
  |  |  |  Branch (385:63): [True: 717k, False: 171]
  |  |  ------------------
  ------------------
 4916|       |		/* validate chunk length */
 4917|   717k|		chk_length = ntohs(ch->chunk_length);
 4918|   717k|		SCTPDBG(SCTP_DEBUG_INPUT2, "sctp_process_control: processing a chunk type=%u, len=%u\n",
 4919|   717k|			ch->chunk_type, chk_length);
 4920|   717k|		SCTP_LTRACE_CHK(inp, stcb, ch->chunk_type, chk_length);
 4921|   717k|		if (chk_length < sizeof(*ch) ||
  ------------------
  |  Branch (4921:7): [True: 75, False: 717k]
  ------------------
 4922|   717k|		    (*offset + (int)chk_length) > length) {
  ------------------
  |  Branch (4922:7): [True: 640, False: 716k]
  ------------------
 4923|    715|			*offset = length;
 4924|    715|			return (stcb);
 4925|    715|		}
 4926|   716k|		SCTP_STAT_INCR_COUNTER64(sctps_incontrolchunks);
  ------------------
  |  | 1128|   716k|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|   716k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|   716k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|   716k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4927|       |		/*
 4928|       |		 * INIT and INIT-ACK only gets the init ack "header" portion
 4929|       |		 * only because we don't have to process the peer's COOKIE.
 4930|       |		 * All others get a complete chunk.
 4931|       |		 */
 4932|   716k|		switch (ch->chunk_type) {
 4933|      7|		case SCTP_INITIATION:
  ------------------
  |  |  458|      7|#define SCTP_INITIATION		0x01
  ------------------
  |  Branch (4933:3): [True: 7, False: 716k]
  ------------------
 4934|      7|			contiguous = sizeof(struct sctp_init_chunk);
 4935|      7|			break;
 4936|  9.62k|		case SCTP_INITIATION_ACK:
  ------------------
  |  |  459|  9.62k|#define SCTP_INITIATION_ACK	0x02
  ------------------
  |  Branch (4936:3): [True: 9.62k, False: 706k]
  ------------------
 4937|  9.62k|			contiguous = sizeof(struct sctp_init_ack_chunk);
 4938|  9.62k|			break;
 4939|   706k|		default:
  ------------------
  |  Branch (4939:3): [True: 706k, False: 9.63k]
  ------------------
 4940|   706k|			contiguous = min(chk_length, sizeof(chunk_buf));
  ------------------
  |  |   66|   706k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 1.39k, False: 705k]
  |  |  ------------------
  ------------------
 4941|   706k|			break;
 4942|   716k|		}
 4943|   716k|		ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, *offset,
 4944|   716k|		                                           contiguous,
 4945|   716k|		                                           chunk_buf);
 4946|   716k|		if (ch == NULL) {
  ------------------
  |  Branch (4946:7): [True: 6, False: 716k]
  ------------------
 4947|      6|			*offset = length;
 4948|      6|			return (stcb);
 4949|      6|		}
 4950|       |
 4951|   716k|		num_chunks++;
 4952|       |		/* Save off the last place we got a control from */
 4953|   716k|		if (stcb != NULL) {
  ------------------
  |  Branch (4953:7): [True: 716k, False: 0]
  ------------------
 4954|   716k|			if (((netp != NULL) && (*netp != NULL)) || (ch->chunk_type == SCTP_ASCONF)) {
  ------------------
  |  |  492|      0|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (4954:9): [True: 716k, False: 0]
  |  Branch (4954:27): [True: 716k, False: 0]
  |  Branch (4954:47): [True: 0, False: 0]
  ------------------
 4955|       |				/*
 4956|       |				 * allow last_control to be NULL if
 4957|       |				 * ASCONF... ASCONF processing will find the
 4958|       |				 * right net later
 4959|       |				 */
 4960|   716k|				if ((netp != NULL) && (*netp != NULL))
  ------------------
  |  Branch (4960:9): [True: 716k, False: 0]
  |  Branch (4960:27): [True: 716k, False: 0]
  ------------------
 4961|   716k|					stcb->asoc.last_control_chunk_from = *netp;
 4962|   716k|			}
 4963|   716k|		}
 4964|       |#ifdef SCTP_AUDITING_ENABLED
 4965|       |		sctp_audit_log(0xB0, ch->chunk_type);
 4966|       |#endif
 4967|       |
 4968|       |		/* check to see if this chunk required auth, but isn't */
 4969|   716k|		if ((stcb != NULL) &&
  ------------------
  |  Branch (4969:7): [True: 716k, False: 0]
  ------------------
 4970|   716k|		    sctp_auth_is_required_chunk(ch->chunk_type, stcb->asoc.local_auth_chunks) &&
  ------------------
  |  |  100|  1.43M|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:50): [True: 8.07k, False: 708k]
  |  |  |  Branch (100:51): [True: 0, False: 716k]
  |  |  ------------------
  ------------------
 4971|   716k|		    !stcb->asoc.authenticated) {
  ------------------
  |  Branch (4971:7): [True: 1.75k, False: 6.31k]
  ------------------
 4972|       |			/* "silently" ignore */
 4973|  1.75k|			SCTP_STAT_INCR(sctps_recvauthmissing);
  ------------------
  |  | 1112|  1.75k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  1.75k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  1.75k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4974|  1.75k|			goto next_chunk;
 4975|  1.75k|		}
 4976|   714k|		switch (ch->chunk_type) {
 4977|      6|		case SCTP_INITIATION:
  ------------------
  |  |  458|      6|#define SCTP_INITIATION		0x01
  ------------------
  |  Branch (4977:3): [True: 6, False: 714k]
  ------------------
 4978|      6|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_INIT\n");
 4979|       |			/* The INIT chunk must be the only chunk. */
 4980|      6|			if ((num_chunks > 1) ||
  ------------------
  |  Branch (4980:8): [True: 6, False: 0]
  ------------------
 4981|      6|			    (length - *offset > (int)SCTP_SIZE32(chk_length))) {
  ------------------
  |  |  383|      0|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  |  Branch (4981:8): [True: 0, False: 0]
  ------------------
 4982|       |				/*
 4983|       |				 * RFC 4960bis requires stopping the
 4984|       |				 * processing of the packet.
 4985|       |				 */
 4986|      6|				*offset = length;
 4987|      6|				return (stcb);
 4988|      6|			}
 4989|       |			/* Honor our resource limit. */
 4990|      0|			if (chk_length > SCTP_LARGEST_INIT_ACCEPTED) {
  ------------------
  |  |   69|      0|#define SCTP_LARGEST_INIT_ACCEPTED (65535 - 2048)
  ------------------
  |  Branch (4990:8): [True: 0, False: 0]
  ------------------
 4991|      0|				op_err = sctp_generate_cause(SCTP_CAUSE_OUT_OF_RESC, "");
  ------------------
  |  |  372|      0|#define SCTP_CAUSE_OUT_OF_RESC		0x0004
  ------------------
 4992|      0|				sctp_send_abort(m, iphlen, src, dst, sh, 0, op_err,
 4993|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4994|       |				                mflowtype, mflowid, inp->fibnum,
 4995|       |#endif
 4996|      0|				                vrf_id, port);
 4997|      0|				*offset = length;
 4998|      0|				if (stcb != NULL) {
  ------------------
  |  Branch (4998:9): [True: 0, False: 0]
  ------------------
 4999|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5000|      0|				}
 5001|      0|				return (NULL);
 5002|      0|			}
 5003|      0|			sctp_handle_init(m, iphlen, *offset, src, dst, sh,
 5004|      0|			                 (struct sctp_init_chunk *)ch, inp,
 5005|      0|			                 stcb, *netp,
 5006|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5007|       |			                 mflowtype, mflowid,
 5008|       |#endif
 5009|      0|			                 vrf_id, port);
 5010|      0|			*offset = length;
 5011|      0|			if (stcb != NULL) {
  ------------------
  |  Branch (5011:8): [True: 0, False: 0]
  ------------------
 5012|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5013|      0|			}
 5014|      0|			return (NULL);
 5015|      0|			break;
 5016|    234|		case SCTP_PAD_CHUNK:
  ------------------
  |  |  487|    234|#define SCTP_PAD_CHUNK          0x84
  ------------------
  |  Branch (5016:3): [True: 234, False: 714k]
  ------------------
 5017|    234|			break;
 5018|  9.62k|		case SCTP_INITIATION_ACK:
  ------------------
  |  |  459|  9.62k|#define SCTP_INITIATION_ACK	0x02
  ------------------
  |  Branch (5018:3): [True: 9.62k, False: 704k]
  ------------------
 5019|  9.62k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_INIT_ACK\n");
 5020|  9.62k|			if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
  ------------------
  |  |  549|  9.62k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (5020:8): [True: 0, False: 9.62k]
  ------------------
 5021|       |				/* We are not interested anymore */
 5022|      0|				if ((stcb != NULL) && (stcb->asoc.total_output_queue_size)) {
  ------------------
  |  Branch (5022:9): [True: 0, False: 0]
  |  Branch (5022:27): [True: 0, False: 0]
  ------------------
 5023|      0|					;
 5024|      0|				} else {
 5025|      0|					*offset = length;
 5026|      0|					if (stcb != NULL) {
  ------------------
  |  Branch (5026:10): [True: 0, False: 0]
  ------------------
 5027|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5028|       |						so = SCTP_INP_SO(inp);
 5029|       |						atomic_add_int(&stcb->asoc.refcnt, 1);
 5030|       |						SCTP_TCB_UNLOCK(stcb);
 5031|       |						SCTP_SOCKET_LOCK(so, 1);
 5032|       |						SCTP_TCB_LOCK(stcb);
 5033|       |						atomic_subtract_int(&stcb->asoc.refcnt, 1);
 5034|       |#endif
 5035|      0|						(void)sctp_free_assoc(inp, stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|      0|#define SCTP_NORMAL_PROC      0
  ------------------
 5036|      0|						                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_29);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              						                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_29);
  ------------------
  |  |  797|      0|#define SCTP_LOC_29 0x0000001d
  ------------------
 5037|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5038|       |						SCTP_SOCKET_UNLOCK(so, 1);
 5039|       |#endif
 5040|      0|					}
 5041|      0|					return (NULL);
 5042|      0|				}
 5043|      0|			}
 5044|       |			/* The INIT-ACK chunk must be the only chunk. */
 5045|  9.62k|			if ((num_chunks > 1) ||
  ------------------
  |  Branch (5045:8): [True: 4, False: 9.61k]
  ------------------
 5046|  9.62k|			    (length - *offset > (int)SCTP_SIZE32(chk_length))) {
  ------------------
  |  |  383|  9.61k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  |  Branch (5046:8): [True: 3, False: 9.61k]
  ------------------
 5047|      7|				*offset = length;
 5048|      7|				return (stcb);
 5049|      7|			}
 5050|  9.61k|			if ((netp != NULL) && (*netp != NULL)) {
  ------------------
  |  Branch (5050:8): [True: 9.61k, False: 0]
  |  Branch (5050:26): [True: 9.61k, False: 0]
  ------------------
 5051|  9.61k|				ret = sctp_handle_init_ack(m, iphlen, *offset,
 5052|  9.61k|				                           src, dst, sh,
 5053|  9.61k|				                           (struct sctp_init_ack_chunk *)ch,
 5054|  9.61k|				                           stcb, *netp,
 5055|  9.61k|				                           &abort_no_unlock,
 5056|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5057|       |				                           mflowtype, mflowid,
 5058|       |#endif
 5059|  9.61k|				                           vrf_id);
 5060|  9.61k|			} else {
 5061|      0|				ret = -1;
 5062|      0|			}
 5063|  9.61k|			*offset = length;
 5064|  9.61k|			if (abort_no_unlock) {
  ------------------
  |  Branch (5064:8): [True: 550, False: 9.06k]
  ------------------
 5065|    550|				return (NULL);
 5066|    550|			}
 5067|       |			/*
 5068|       |			 * Special case, I must call the output routine to
 5069|       |			 * get the cookie echoed
 5070|       |			 */
 5071|  9.06k|			if ((stcb != NULL) && (ret == 0)) {
  ------------------
  |  Branch (5071:8): [True: 9.06k, False: 0]
  |  Branch (5071:26): [True: 9.06k, False: 1]
  ------------------
 5072|  9.06k|				sctp_chunk_output(stcb->sctp_ep, stcb, SCTP_OUTPUT_FROM_CONTROL_PROC, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  364|  9.06k|#define SCTP_OUTPUT_FROM_CONTROL_PROC   3
  ------------------
              				sctp_chunk_output(stcb->sctp_ep, stcb, SCTP_OUTPUT_FROM_CONTROL_PROC, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  9.06k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 5073|  9.06k|			}
 5074|  9.06k|			return (stcb);
 5075|      0|			break;
 5076|  5.84k|		case SCTP_SELECTIVE_ACK:
  ------------------
  |  |  460|  5.84k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (5076:3): [True: 5.84k, False: 708k]
  ------------------
 5077|  6.70k|		case SCTP_NR_SELECTIVE_ACK:
  ------------------
  |  |  475|  6.70k|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
  |  Branch (5077:3): [True: 861, False: 713k]
  ------------------
 5078|  6.70k|		{
 5079|  6.70k|			int abort_now = 0;
 5080|  6.70k|			uint32_t a_rwnd, cum_ack;
 5081|  6.70k|			uint16_t num_seg, num_nr_seg, num_dup;
 5082|  6.70k|			uint8_t flags;
 5083|  6.70k|			int offset_seg, offset_dup;
 5084|       |
 5085|  6.70k|			SCTPDBG(SCTP_DEBUG_INPUT3, "%s\n",
 5086|  6.70k|				ch->chunk_type == SCTP_SELECTIVE_ACK ? "SCTP_SACK" : "SCTP_NR_SACK");
 5087|  6.70k|			SCTP_STAT_INCR(sctps_recvsacks);
  ------------------
  |  | 1112|  6.70k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  6.70k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  6.70k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5088|  6.70k|			if (stcb == NULL) {
  ------------------
  |  Branch (5088:8): [True: 0, False: 6.70k]
  ------------------
 5089|      0|				SCTPDBG(SCTP_DEBUG_INDATA1, "No stcb when processing %s chunk\n",
 5090|      0|				        (ch->chunk_type == SCTP_SELECTIVE_ACK) ? "SCTP_SACK" : "SCTP_NR_SACK");
 5091|      0|				break;
 5092|      0|			}
 5093|  6.70k|			if (ch->chunk_type == SCTP_SELECTIVE_ACK) {
  ------------------
  |  |  460|  6.70k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (5093:8): [True: 5.84k, False: 861]
  ------------------
 5094|  5.84k|				if (chk_length < sizeof(struct sctp_sack_chunk)) {
  ------------------
  |  Branch (5094:9): [True: 3.89k, False: 1.95k]
  ------------------
 5095|  3.89k|					SCTPDBG(SCTP_DEBUG_INDATA1, "Bad size on SACK chunk, too small\n");
 5096|  3.89k|					break;
 5097|  3.89k|				}
 5098|  5.84k|			} else {
 5099|    861|				if (stcb->asoc.nrsack_supported == 0) {
  ------------------
  |  Branch (5099:9): [True: 3, False: 858]
  ------------------
 5100|      3|					goto unknown_chunk;
 5101|      3|				}
 5102|    858|				if (chk_length < sizeof(struct sctp_nr_sack_chunk)) {
  ------------------
  |  Branch (5102:9): [True: 557, False: 301]
  ------------------
 5103|    557|					SCTPDBG(SCTP_DEBUG_INDATA1, "Bad size on NR_SACK chunk, too small\n");
 5104|    557|					break;
 5105|    557|				}
 5106|    858|			}
 5107|  2.25k|			if (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_ACK_SENT) {
  ------------------
  |  |  472|  2.25k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  2.25k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			if (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_ACK_SENT) {
  ------------------
  |  |  462|  2.25k|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (5107:8): [True: 291, False: 1.96k]
  ------------------
 5108|       |				/*-
 5109|       |				 * If we have sent a shutdown-ack, we will pay no
 5110|       |				 * attention to a sack sent in to us since
 5111|       |				 * we don't care anymore.
 5112|       |				 */
 5113|    291|				break;
 5114|    291|			}
 5115|  1.96k|			flags = ch->chunk_flags;
 5116|  1.96k|			if (ch->chunk_type == SCTP_SELECTIVE_ACK) {
  ------------------
  |  |  460|  1.96k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (5116:8): [True: 1.66k, False: 301]
  ------------------
 5117|  1.66k|				struct sctp_sack_chunk *sack;
 5118|       |
 5119|  1.66k|				sack = (struct sctp_sack_chunk *)ch;
 5120|  1.66k|				cum_ack = ntohl(sack->sack.cum_tsn_ack);
 5121|  1.66k|				num_seg = ntohs(sack->sack.num_gap_ack_blks);
 5122|  1.66k|				num_nr_seg = 0;
 5123|  1.66k|				num_dup = ntohs(sack->sack.num_dup_tsns);
 5124|  1.66k|				a_rwnd = ntohl(sack->sack.a_rwnd);
 5125|  1.66k|				if (sizeof(struct sctp_sack_chunk) +
  ------------------
  |  Branch (5125:9): [True: 539, False: 1.12k]
  ------------------
 5126|  1.66k|				    num_seg * sizeof(struct sctp_gap_ack_block) +
 5127|  1.66k|				    num_dup * sizeof(uint32_t) != chk_length) {
 5128|    539|					SCTPDBG(SCTP_DEBUG_INDATA1, "Bad size of SACK chunk\n");
 5129|    539|					break;
 5130|    539|				}
 5131|  1.12k|				offset_seg = *offset + sizeof(struct sctp_sack_chunk);
 5132|  1.12k|				offset_dup = offset_seg + num_seg * sizeof(struct sctp_gap_ack_block);
 5133|  1.12k|			} else {
 5134|    301|				struct sctp_nr_sack_chunk *nr_sack;
 5135|       |
 5136|    301|				nr_sack = (struct sctp_nr_sack_chunk *)ch;
 5137|    301|				cum_ack = ntohl(nr_sack->nr_sack.cum_tsn_ack);
 5138|    301|				num_seg = ntohs(nr_sack->nr_sack.num_gap_ack_blks);
 5139|    301|				num_nr_seg = ntohs(nr_sack->nr_sack.num_nr_gap_ack_blks);
 5140|    301|				num_dup = ntohs(nr_sack->nr_sack.num_dup_tsns);
 5141|    301|				a_rwnd = ntohl(nr_sack->nr_sack.a_rwnd);
 5142|    301|				if (sizeof(struct sctp_nr_sack_chunk) +
  ------------------
  |  Branch (5142:9): [True: 241, False: 60]
  ------------------
 5143|    301|				    (num_seg + num_nr_seg) * sizeof(struct sctp_gap_ack_block) +
 5144|    301|				    num_dup * sizeof(uint32_t) != chk_length) {
 5145|    241|					SCTPDBG(SCTP_DEBUG_INDATA1, "Bad size of NR_SACK chunk\n");
 5146|    241|					break;
 5147|    241|				}
 5148|     60|				offset_seg = *offset + sizeof(struct sctp_nr_sack_chunk);
 5149|     60|				offset_dup = offset_seg + (num_seg + num_nr_seg) * sizeof(struct sctp_gap_ack_block);
 5150|     60|			}
 5151|  1.18k|			SCTPDBG(SCTP_DEBUG_INPUT3, "%s process cum_ack:%x num_seg:%d a_rwnd:%d\n",
 5152|  1.18k|				(ch->chunk_type == SCTP_SELECTIVE_ACK) ? "SCTP_SACK" : "SCTP_NR_SACK",
 5153|  1.18k|			        cum_ack, num_seg, a_rwnd);
 5154|  1.18k|			stcb->asoc.seen_a_sack_this_pkt = 1;
 5155|  1.18k|			if ((stcb->asoc.pr_sctp_cnt == 0) &&
  ------------------
  |  Branch (5155:8): [True: 1.18k, False: 0]
  ------------------
 5156|  1.18k|			    (num_seg == 0) && (num_nr_seg == 0) &&
  ------------------
  |  Branch (5156:8): [True: 904, False: 278]
  |  Branch (5156:26): [True: 903, False: 1]
  ------------------
 5157|  1.18k|			    SCTP_TSN_GE(cum_ack, stcb->asoc.last_acked_seq) &&
  ------------------
  |  |  890|    903|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|  2.08k|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|  1.80k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 229, False: 674]
  |  |  |  |  |  |  |  Branch (883:43): [True: 15, False: 214]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|  1.80k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 674, False: 214]
  |  |  |  |  |  |  |  Branch (884:43): [True: 47, False: 627]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 841]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5158|  1.18k|			    (stcb->asoc.saw_sack_with_frags == 0) &&
  ------------------
  |  Branch (5158:8): [True: 62, False: 0]
  ------------------
 5159|  1.18k|			    (stcb->asoc.saw_sack_with_nr_frags == 0) &&
  ------------------
  |  Branch (5159:8): [True: 62, False: 0]
  ------------------
 5160|  1.18k|			    (!TAILQ_EMPTY(&stcb->asoc.sent_queue))) {
  ------------------
  |  Branch (5160:8): [True: 24, False: 38]
  ------------------
 5161|       |				/*
 5162|       |				 * We have a SIMPLE sack having no
 5163|       |				 * prior segments and data on sent
 5164|       |				 * queue to be acked. Use the
 5165|       |				 * faster path sack processing. We
 5166|       |				 * also allow window update sacks
 5167|       |				 * with no missing segments to go
 5168|       |				 * this way too.
 5169|       |				 */
 5170|     24|				sctp_express_handle_sack(stcb, cum_ack, a_rwnd,
 5171|     24|				                         &abort_now, ecne_seen);
 5172|  1.15k|			} else {
 5173|  1.15k|				if ((netp != NULL) && (*netp != NULL)) {
  ------------------
  |  Branch (5173:9): [True: 1.15k, False: 0]
  |  Branch (5173:27): [True: 1.15k, False: 0]
  ------------------
 5174|  1.15k|					sctp_handle_sack(m, offset_seg, offset_dup, stcb,
 5175|  1.15k|					                 num_seg, num_nr_seg, num_dup, &abort_now, flags,
 5176|  1.15k|					                 cum_ack, a_rwnd, ecne_seen);
 5177|  1.15k|				}
 5178|  1.15k|			}
 5179|  1.18k|			if (abort_now) {
  ------------------
  |  Branch (5179:8): [True: 66, False: 1.11k]
  ------------------
 5180|       |				/* ABORT signal from sack processing */
 5181|     66|				*offset = length;
 5182|     66|				return (NULL);
 5183|     66|			}
 5184|  1.11k|			if (TAILQ_EMPTY(&stcb->asoc.send_queue) &&
 5185|  1.11k|			    TAILQ_EMPTY(&stcb->asoc.sent_queue) &&
 5186|  1.11k|			    (stcb->asoc.stream_queue_cnt == 0)) {
  ------------------
  |  Branch (5186:8): [True: 287, False: 110]
  ------------------
 5187|    287|				sctp_ulp_notify(SCTP_NOTIFY_SENDER_DRY, stcb,  0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  730|    287|#define SCTP_NOTIFY_SENDER_DRY                  28
  ------------------
              				sctp_ulp_notify(SCTP_NOTIFY_SENDER_DRY, stcb,  0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    287|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 5188|    287|			}
 5189|  1.11k|			break;
 5190|  1.18k|		}
 5191|  32.6k|		case SCTP_HEARTBEAT_REQUEST:
  ------------------
  |  |  461|  32.6k|#define SCTP_HEARTBEAT_REQUEST	0x04
  ------------------
  |  Branch (5191:3): [True: 32.6k, False: 681k]
  ------------------
 5192|  32.6k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_HEARTBEAT\n");
 5193|  32.6k|			if ((stcb != NULL) && (netp != NULL) && (*netp != NULL)) {
  ------------------
  |  Branch (5193:8): [True: 32.6k, False: 0]
  |  Branch (5193:26): [True: 32.6k, False: 0]
  |  Branch (5193:44): [True: 32.6k, False: 0]
  ------------------
 5194|  32.6k|				SCTP_STAT_INCR(sctps_recvheartbeat);
  ------------------
  |  | 1112|  32.6k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  32.6k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  32.6k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5195|  32.6k|				sctp_send_heartbeat_ack(stcb, m, *offset,
 5196|  32.6k|				                        chk_length, *netp);
 5197|  32.6k|			}
 5198|  32.6k|			break;
 5199|  6.32k|		case SCTP_HEARTBEAT_ACK:
  ------------------
  |  |  462|  6.32k|#define SCTP_HEARTBEAT_ACK	0x05
  ------------------
  |  Branch (5199:3): [True: 6.32k, False: 708k]
  ------------------
 5200|  6.32k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_HEARTBEAT_ACK\n");
 5201|  6.32k|			if ((stcb == NULL) || (chk_length != sizeof(struct sctp_heartbeat_chunk))) {
  ------------------
  |  Branch (5201:8): [True: 0, False: 6.32k]
  |  Branch (5201:26): [True: 1.94k, False: 4.37k]
  ------------------
 5202|       |				/* Its not ours */
 5203|  1.94k|				break;
 5204|  1.94k|			}
 5205|  4.37k|			SCTP_STAT_INCR(sctps_recvheartbeatack);
  ------------------
  |  | 1112|  4.37k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  4.37k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  4.37k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5206|  4.37k|			if ((netp != NULL) && (*netp != NULL)) {
  ------------------
  |  Branch (5206:8): [True: 4.37k, False: 0]
  |  Branch (5206:26): [True: 4.37k, False: 0]
  ------------------
 5207|  4.37k|				sctp_handle_heartbeat_ack((struct sctp_heartbeat_chunk *)ch,
 5208|  4.37k|				                          stcb, *netp);
 5209|  4.37k|			}
 5210|  4.37k|			break;
 5211|    111|		case SCTP_ABORT_ASSOCIATION:
  ------------------
  |  |  463|    111|#define SCTP_ABORT_ASSOCIATION	0x06
  ------------------
  |  Branch (5211:3): [True: 111, False: 714k]
  ------------------
 5212|    111|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_ABORT, stcb %p\n",
 5213|    111|				(void *)stcb);
 5214|    111|			*offset = length;
 5215|    111|			if ((stcb != NULL) && (netp != NULL) && (*netp != NULL)) {
  ------------------
  |  Branch (5215:8): [True: 111, False: 0]
  |  Branch (5215:26): [True: 111, False: 0]
  |  Branch (5215:44): [True: 111, False: 0]
  ------------------
 5216|    111|				if (sctp_handle_abort((struct sctp_abort_chunk *)ch, stcb, *netp)) {
  ------------------
  |  Branch (5216:9): [True: 105, False: 6]
  ------------------
 5217|    105|					return (NULL);
 5218|    105|				} else {
 5219|      6|					return (stcb);
 5220|      6|				}
 5221|    111|			} else {
 5222|      0|				return (NULL);
 5223|      0|			}
 5224|      0|			break;
 5225|  5.47k|		case SCTP_SHUTDOWN:
  ------------------
  |  |  464|  5.47k|#define SCTP_SHUTDOWN		0x07
  ------------------
  |  Branch (5225:3): [True: 5.47k, False: 709k]
  ------------------
 5226|  5.47k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_SHUTDOWN, stcb %p\n",
 5227|  5.47k|				(void *)stcb);
 5228|  5.47k|			if ((stcb == NULL) || (chk_length != sizeof(struct sctp_shutdown_chunk))) {
  ------------------
  |  Branch (5228:8): [True: 0, False: 5.47k]
  |  Branch (5228:26): [True: 1.14k, False: 4.32k]
  ------------------
 5229|  1.14k|				break;
 5230|  1.14k|			}
 5231|  4.32k|			if ((netp != NULL) && (*netp != NULL)) {
  ------------------
  |  Branch (5231:8): [True: 4.32k, False: 0]
  |  Branch (5231:26): [True: 4.32k, False: 0]
  ------------------
 5232|  4.32k|				abort_flag = 0;
 5233|  4.32k|				sctp_handle_shutdown((struct sctp_shutdown_chunk *)ch,
 5234|  4.32k|				                     stcb, *netp, &abort_flag);
 5235|  4.32k|				if (abort_flag) {
  ------------------
  |  Branch (5235:9): [True: 123, False: 4.20k]
  ------------------
 5236|    123|					*offset = length;
 5237|    123|					return (NULL);
 5238|    123|				}
 5239|  4.32k|			}
 5240|  4.20k|			break;
 5241|  4.20k|		case SCTP_SHUTDOWN_ACK:
  ------------------
  |  |  465|    492|#define SCTP_SHUTDOWN_ACK	0x08
  ------------------
  |  Branch (5241:3): [True: 492, False: 714k]
  ------------------
 5242|    492|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_SHUTDOWN_ACK, stcb %p\n", (void *)stcb);
 5243|    492|			if ((chk_length == sizeof(struct sctp_shutdown_ack_chunk)) &&
  ------------------
  |  Branch (5243:8): [True: 9, False: 483]
  ------------------
 5244|    492|			    (stcb != NULL) && (netp != NULL) && (*netp != NULL)) {
  ------------------
  |  Branch (5244:8): [True: 9, False: 0]
  |  Branch (5244:26): [True: 9, False: 0]
  |  Branch (5244:44): [True: 9, False: 0]
  ------------------
 5245|      9|				sctp_handle_shutdown_ack((struct sctp_shutdown_ack_chunk *)ch, stcb, *netp);
 5246|      9|				*offset = length;
 5247|      9|				return (NULL);
 5248|      9|			}
 5249|    483|			break;
 5250|   349k|		case SCTP_OPERATION_ERROR:
  ------------------
  |  |  466|   349k|#define SCTP_OPERATION_ERROR	0x09
  ------------------
  |  Branch (5250:3): [True: 349k, False: 364k]
  ------------------
 5251|   349k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_OP_ERR\n");
 5252|   349k|			if ((stcb != NULL) && (netp != NULL) && (*netp != NULL) &&
  ------------------
  |  Branch (5252:8): [True: 349k, False: 0]
  |  Branch (5252:26): [True: 349k, False: 0]
  |  Branch (5252:44): [True: 349k, False: 0]
  ------------------
 5253|   349k|			    sctp_handle_error(ch, stcb, *netp, contiguous) < 0) {
  ------------------
  |  Branch (5253:8): [True: 0, False: 349k]
  ------------------
 5254|      0|				*offset = length;
 5255|      0|				return (NULL);
 5256|      0|			}
 5257|   349k|			break;
 5258|   349k|		case SCTP_COOKIE_ECHO:
  ------------------
  |  |  467|     47|#define SCTP_COOKIE_ECHO	0x0a
  ------------------
  |  Branch (5258:3): [True: 47, False: 714k]
  ------------------
 5259|     47|			SCTPDBG(SCTP_DEBUG_INPUT3,
 5260|     47|				"SCTP_COOKIE_ECHO, stcb %p\n", (void *)stcb);
 5261|     47|			if ((stcb != NULL) && (stcb->asoc.total_output_queue_size > 0)) {
  ------------------
  |  Branch (5261:8): [True: 47, False: 0]
  |  Branch (5261:26): [True: 42, False: 5]
  ------------------
 5262|     42|				;
 5263|     42|			} else {
 5264|      5|				if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
  ------------------
  |  |  549|      5|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (5264:9): [True: 0, False: 5]
  ------------------
 5265|       |					/* We are not interested anymore */
 5266|      0|				abend:
 5267|      0|					if (stcb != NULL) {
  ------------------
  |  Branch (5267:10): [True: 0, False: 0]
  ------------------
 5268|      0|						SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5269|      0|					}
 5270|      0|					*offset = length;
 5271|      0|					return (NULL);
 5272|      0|				}
 5273|      5|			}
 5274|       |			/*-
 5275|       |			 * First are we accepting? We do this again here
 5276|       |			 * since it is possible that a previous endpoint WAS
 5277|       |			 * listening responded to a INIT-ACK and then
 5278|       |			 * closed. We opened and bound.. and are now no
 5279|       |			 * longer listening.
 5280|       |			 *
 5281|       |			 * XXXGL: notes on checking listen queue length.
 5282|       |			 * 1) SCTP_IS_LISTENING() doesn't necessarily mean
 5283|       |			 *    SOLISTENING(), because a listening "UDP type"
 5284|       |			 *    socket isn't listening in terms of the socket
 5285|       |			 *    layer.  It is a normal data flow socket, that
 5286|       |			 *    can fork off new connections.  Thus, we should
 5287|       |			 *    look into sol_qlen only in case we are !UDP.
 5288|       |			 * 2) Checking sol_qlen in general requires locking
 5289|       |			 *    the socket, and this code lacks that.
 5290|       |			 */
 5291|     47|			if ((stcb == NULL) &&
  ------------------
  |  Branch (5291:8): [True: 0, False: 47]
  ------------------
 5292|     47|			    (!SCTP_IS_LISTENING(inp) ||
  ------------------
  |  | 1146|      0|#define SCTP_IS_LISTENING(inp) ((inp->sctp_flags & SCTP_PCB_FLAGS_ACCEPTING) != 0)
  |  |  ------------------
  |  |  |  |  534|      0|#define SCTP_PCB_FLAGS_ACCEPTING	0x00000008
  |  |  ------------------
  ------------------
  |  Branch (5292:9): [True: 0, False: 0]
  ------------------
 5293|      0|			     (((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) == 0) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5293:10): [True: 0, False: 0]
  ------------------
 5294|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5295|       |			      inp->sctp_socket->sol_qlen >= inp->sctp_socket->sol_qlimit))) {
 5296|       |#else
 5297|      0|			      inp->sctp_socket->so_qlen >= inp->sctp_socket->so_qlimit))) {
  ------------------
  |  Branch (5297:10): [True: 0, False: 0]
  ------------------
 5298|      0|#endif
 5299|      0|				if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) &&
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5299:9): [True: 0, False: 0]
  ------------------
 5300|      0|				    (SCTP_BASE_SYSCTL(sctp_abort_if_one_2_one_hits_limit))) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (5300:9): [True: 0, False: 0]
  ------------------
 5301|      0|					op_err = sctp_generate_cause(SCTP_CAUSE_OUT_OF_RESC, "");
  ------------------
  |  |  372|      0|#define SCTP_CAUSE_OUT_OF_RESC		0x0004
  ------------------
 5302|      0|					sctp_abort_association(inp, stcb, m, iphlen,
 5303|      0|					                       src, dst, sh, op_err,
 5304|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5305|       |					                       mflowtype, mflowid,
 5306|       |#endif
 5307|      0|					                       vrf_id, port);
 5308|      0|				}
 5309|      0|				*offset = length;
 5310|      0|				return (NULL);
 5311|     47|			} else {
 5312|     47|				struct mbuf *ret_buf;
 5313|     47|				struct sctp_inpcb *linp;
 5314|     47|				struct sctp_tmit_chunk *chk;
 5315|       |
 5316|     47|				if (inp->sctp_flags & (SCTP_PCB_FLAGS_SOCKET_GONE |
  ------------------
  |  |  549|     47|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (5316:9): [True: 0, False: 47]
  ------------------
 5317|     47|				    SCTP_PCB_FLAGS_SOCKET_ALLGONE)) {
  ------------------
  |  |  550|     47|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
 5318|      0|					goto abend;
 5319|      0|				}
 5320|       |
 5321|     47|				if (stcb) {
  ------------------
  |  Branch (5321:9): [True: 47, False: 0]
  ------------------
 5322|     47|					linp = NULL;
 5323|     47|				} else {
 5324|      0|					linp = inp;
 5325|      0|				}
 5326|       |
 5327|     47|				if (linp != NULL) {
  ------------------
  |  Branch (5327:9): [True: 0, False: 47]
  ------------------
 5328|      0|					SCTP_ASOC_CREATE_LOCK(linp);
  ------------------
  |  |  427|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5329|      0|				}
 5330|       |
 5331|     47|				if (netp != NULL) {
  ------------------
  |  Branch (5331:9): [True: 47, False: 0]
  ------------------
 5332|     47|					struct sctp_tcb *locked_stcb;
 5333|       |
 5334|     47|					locked_stcb = stcb;
 5335|     47|					ret_buf =
 5336|     47|						sctp_handle_cookie_echo(m, iphlen,
 5337|     47|						                        *offset,
 5338|     47|						                        src, dst,
 5339|     47|						                        sh,
 5340|     47|						                        (struct sctp_cookie_echo_chunk *)ch,
 5341|     47|						                        &inp, &stcb, netp,
 5342|     47|						                        auth_skipped,
 5343|     47|						                        auth_offset,
 5344|     47|						                        auth_len,
 5345|     47|						                        &locked_stcb,
 5346|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5347|       |						                        mflowtype,
 5348|       |						                        mflowid,
 5349|       |#endif
 5350|     47|						                        vrf_id,
 5351|     47|						                        port);
 5352|     47|					if ((locked_stcb != NULL) && (locked_stcb != stcb)) {
  ------------------
  |  Branch (5352:10): [True: 47, False: 0]
  |  Branch (5352:35): [True: 0, False: 47]
  ------------------
 5353|      0|						SCTP_TCB_UNLOCK(locked_stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5354|      0|					}
 5355|     47|					if (stcb != NULL) {
  ------------------
  |  Branch (5355:10): [True: 47, False: 0]
  ------------------
 5356|     47|						SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|     47|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     47|	do {                         \
  |  |  |  |  113|     47|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 47]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     47|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5357|     47|					}
 5358|     47|				} else {
 5359|      0|					ret_buf = NULL;
 5360|      0|				}
 5361|     47|				if (linp != NULL) {
  ------------------
  |  Branch (5361:9): [True: 0, False: 47]
  ------------------
 5362|      0|					SCTP_ASOC_CREATE_UNLOCK(linp);
  ------------------
  |  |  430|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5363|      0|				}
 5364|     47|				if (ret_buf == NULL) {
  ------------------
  |  Branch (5364:9): [True: 47, False: 0]
  ------------------
 5365|     47|					if (stcb != NULL) {
  ------------------
  |  Branch (5365:10): [True: 47, False: 0]
  ------------------
 5366|     47|						SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|     47|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     47|	do {                         \
  |  |  |  |  113|     47|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 47]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     47|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5367|     47|					}
 5368|     47|					SCTPDBG(SCTP_DEBUG_INPUT3,
 5369|     47|						"GAK, null buffer\n");
 5370|     47|					*offset = length;
 5371|     47|					return (NULL);
 5372|     47|				}
 5373|       |				/* if AUTH skipped, see if it verified... */
 5374|      0|				if (auth_skipped) {
  ------------------
  |  Branch (5374:9): [True: 0, False: 0]
  ------------------
 5375|      0|					got_auth = 1;
 5376|      0|					auth_skipped = 0;
 5377|      0|				}
 5378|       |				/* Restart the timer if we have pending data */
 5379|      0|				TAILQ_FOREACH(chk, &stcb->asoc.sent_queue, sctp_next) {
 5380|      0|					if (chk->whoTo != NULL) {
  ------------------
  |  Branch (5380:10): [True: 0, False: 0]
  ------------------
 5381|      0|						break;
 5382|      0|					}
 5383|      0|				}
 5384|      0|				if (chk != NULL) {
  ------------------
  |  Branch (5384:9): [True: 0, False: 0]
  ------------------
 5385|      0|					sctp_timer_start(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep, stcb, chk->whoTo);
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 5386|      0|				}
 5387|      0|			}
 5388|      0|			break;
 5389|  57.2k|		case SCTP_COOKIE_ACK:
  ------------------
  |  |  468|  57.2k|#define SCTP_COOKIE_ACK		0x0b
  ------------------
  |  Branch (5389:3): [True: 57.2k, False: 657k]
  ------------------
 5390|  57.2k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_COOKIE_ACK, stcb %p\n", (void *)stcb);
 5391|  57.2k|			if ((stcb == NULL) || chk_length != sizeof(struct sctp_cookie_ack_chunk)) {
  ------------------
  |  Branch (5391:8): [True: 0, False: 57.2k]
  |  Branch (5391:26): [True: 2.67k, False: 54.6k]
  ------------------
 5392|  2.67k|				break;
 5393|  2.67k|			}
 5394|  54.6k|			if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
  ------------------
  |  |  549|  54.6k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (5394:8): [True: 0, False: 54.6k]
  ------------------
 5395|       |				/* We are not interested anymore */
 5396|      0|				if ((stcb) && (stcb->asoc.total_output_queue_size)) {
  ------------------
  |  Branch (5396:9): [True: 0, False: 0]
  |  Branch (5396:19): [True: 0, False: 0]
  ------------------
 5397|      0|					;
 5398|      0|				} else if (stcb) {
  ------------------
  |  Branch (5398:16): [True: 0, False: 0]
  ------------------
 5399|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5400|       |					so = SCTP_INP_SO(inp);
 5401|       |					atomic_add_int(&stcb->asoc.refcnt, 1);
 5402|       |					SCTP_TCB_UNLOCK(stcb);
 5403|       |					SCTP_SOCKET_LOCK(so, 1);
 5404|       |					SCTP_TCB_LOCK(stcb);
 5405|       |					atomic_subtract_int(&stcb->asoc.refcnt, 1);
 5406|       |#endif
 5407|      0|					(void)sctp_free_assoc(inp, stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|      0|#define SCTP_NORMAL_PROC      0
  ------------------
 5408|      0|					                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_30);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              					                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_30);
  ------------------
  |  |  798|      0|#define SCTP_LOC_30 0x0000001e
  ------------------
 5409|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5410|       |					SCTP_SOCKET_UNLOCK(so, 1);
 5411|       |#endif
 5412|      0|					*offset = length;
 5413|      0|					return (NULL);
 5414|      0|				}
 5415|      0|			}
 5416|  54.6k|			if ((netp != NULL) && (*netp != NULL)) {
  ------------------
  |  Branch (5416:8): [True: 54.6k, False: 0]
  |  Branch (5416:26): [True: 54.6k, False: 0]
  ------------------
 5417|  54.6k|				sctp_handle_cookie_ack((struct sctp_cookie_ack_chunk *)ch, stcb, *netp);
 5418|  54.6k|			}
 5419|  54.6k|			break;
 5420|  5.44k|		case SCTP_ECN_ECHO:
  ------------------
  |  |  469|  5.44k|#define SCTP_ECN_ECHO		0x0c
  ------------------
  |  Branch (5420:3): [True: 5.44k, False: 709k]
  ------------------
 5421|  5.44k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_ECN_ECHO\n");
 5422|  5.44k|			if (stcb == NULL) {
  ------------------
  |  Branch (5422:8): [True: 0, False: 5.44k]
  ------------------
 5423|      0|				break;
 5424|      0|			}
 5425|  5.44k|			if (stcb->asoc.ecn_supported == 0) {
  ------------------
  |  Branch (5425:8): [True: 0, False: 5.44k]
  ------------------
 5426|      0|				goto unknown_chunk;
 5427|      0|			}
 5428|  5.44k|			if ((chk_length != sizeof(struct sctp_ecne_chunk)) &&
  ------------------
  |  Branch (5428:8): [True: 4.67k, False: 778]
  ------------------
 5429|  5.44k|			    (chk_length != sizeof(struct old_sctp_ecne_chunk))) {
  ------------------
  |  Branch (5429:8): [True: 1.11k, False: 3.55k]
  ------------------
 5430|  1.11k|				break;
 5431|  1.11k|			}
 5432|  4.33k|			sctp_handle_ecn_echo((struct sctp_ecne_chunk *)ch, stcb);
 5433|  4.33k|			ecne_seen = 1;
 5434|  4.33k|			break;
 5435|  1.34k|		case SCTP_ECN_CWR:
  ------------------
  |  |  470|  1.34k|#define SCTP_ECN_CWR		0x0d
  ------------------
  |  Branch (5435:3): [True: 1.34k, False: 713k]
  ------------------
 5436|  1.34k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_ECN_CWR\n");
 5437|  1.34k|			if (stcb == NULL) {
  ------------------
  |  Branch (5437:8): [True: 0, False: 1.34k]
  ------------------
 5438|      0|				break;
 5439|      0|			}
 5440|  1.34k|			if (stcb->asoc.ecn_supported == 0) {
  ------------------
  |  Branch (5440:8): [True: 0, False: 1.34k]
  ------------------
 5441|      0|				goto unknown_chunk;
 5442|      0|			}
 5443|  1.34k|			if (chk_length != sizeof(struct sctp_cwr_chunk)) {
  ------------------
  |  Branch (5443:8): [True: 480, False: 862]
  ------------------
 5444|    480|				break;
 5445|    480|			}
 5446|    862|			sctp_handle_ecn_cwr((struct sctp_cwr_chunk *)ch, stcb, *netp);
 5447|    862|			break;
 5448|     24|		case SCTP_SHUTDOWN_COMPLETE:
  ------------------
  |  |  471|     24|#define SCTP_SHUTDOWN_COMPLETE	0x0e
  ------------------
  |  Branch (5448:3): [True: 24, False: 714k]
  ------------------
 5449|     24|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_SHUTDOWN_COMPLETE, stcb %p\n", (void *)stcb);
 5450|       |			/* must be first and only chunk */
 5451|     24|			if ((num_chunks > 1) ||
  ------------------
  |  Branch (5451:8): [True: 2, False: 22]
  ------------------
 5452|     24|			    (length - *offset > (int)SCTP_SIZE32(chk_length))) {
  ------------------
  |  |  383|     22|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  |  Branch (5452:8): [True: 8, False: 14]
  ------------------
 5453|     10|				*offset = length;
 5454|     10|				return (stcb);
 5455|     10|			}
 5456|     14|			if ((chk_length == sizeof(struct sctp_shutdown_complete_chunk)) &&
  ------------------
  |  Branch (5456:8): [True: 5, False: 9]
  ------------------
 5457|     14|			    (stcb != NULL) && (netp != NULL) && (*netp != NULL)) {
  ------------------
  |  Branch (5457:8): [True: 5, False: 0]
  |  Branch (5457:26): [True: 5, False: 0]
  |  Branch (5457:44): [True: 5, False: 0]
  ------------------
 5458|      5|				sctp_handle_shutdown_complete((struct sctp_shutdown_complete_chunk *)ch,
 5459|      5|				                              stcb, *netp);
 5460|      5|				*offset = length;
 5461|      5|				return (NULL);
 5462|      5|			}
 5463|      9|			break;
 5464|  4.85k|		case SCTP_ASCONF:
  ------------------
  |  |  492|  4.85k|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (5464:3): [True: 4.85k, False: 709k]
  ------------------
 5465|  4.85k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_ASCONF\n");
 5466|  4.85k|			if (stcb != NULL) {
  ------------------
  |  Branch (5466:8): [True: 4.85k, False: 0]
  ------------------
 5467|  4.85k|				if (stcb->asoc.asconf_supported == 0) {
  ------------------
  |  Branch (5467:9): [True: 303, False: 4.54k]
  ------------------
 5468|    303|					goto unknown_chunk;
 5469|    303|				}
 5470|  4.54k|				sctp_handle_asconf(m, *offset, src,
 5471|  4.54k|				                   (struct sctp_asconf_chunk *)ch, stcb, asconf_cnt == 0);
 5472|  4.54k|				asconf_cnt++;
 5473|  4.54k|			}
 5474|  4.54k|			break;
 5475|  4.54k|		case SCTP_ASCONF_ACK:
  ------------------
  |  |  480|  1.46k|#define	SCTP_ASCONF_ACK		0x80
  ------------------
  |  Branch (5475:3): [True: 1.46k, False: 713k]
  ------------------
 5476|  1.46k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_ASCONF_ACK\n");
 5477|  1.46k|			if (stcb == NULL) {
  ------------------
  |  Branch (5477:8): [True: 0, False: 1.46k]
  ------------------
 5478|      0|				break;
 5479|      0|			}
 5480|  1.46k|			if (stcb->asoc.asconf_supported == 0) {
  ------------------
  |  Branch (5480:8): [True: 779, False: 689]
  ------------------
 5481|    779|				goto unknown_chunk;
 5482|    779|			}
 5483|    689|			if (chk_length < sizeof(struct sctp_asconf_ack_chunk)) {
  ------------------
  |  Branch (5483:8): [True: 389, False: 300]
  ------------------
 5484|    389|				break;
 5485|    389|			}
 5486|    300|			if ((netp != NULL) && (*netp != NULL)) {
  ------------------
  |  Branch (5486:8): [True: 300, False: 0]
  |  Branch (5486:26): [True: 300, False: 0]
  ------------------
 5487|       |				/* He's alive so give him credit */
 5488|    300|				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  584|    300|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  669|    300|#define SCTP_THRESHOLD_LOGGING				0x02000000
  ------------------
  |  Branch (5488:9): [True: 0, False: 300]
  ------------------
 5489|      0|					sctp_misc_ints(SCTP_THRESHOLD_CLEAR,
  ------------------
  |  |  224|      0|#define SCTP_THRESHOLD_CLEAR       120
  ------------------
 5490|      0|					               stcb->asoc.overall_error_count,
 5491|      0|					               0,
 5492|      0|					               SCTP_FROM_SCTP_INPUT,
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
 5493|      0|					               __LINE__);
 5494|      0|				}
 5495|    300|				stcb->asoc.overall_error_count = 0;
 5496|    300|				sctp_handle_asconf_ack(m, *offset,
 5497|    300|				                       (struct sctp_asconf_ack_chunk *)ch, stcb, *netp, &abort_no_unlock);
 5498|    300|				if (abort_no_unlock)
  ------------------
  |  Branch (5498:9): [True: 0, False: 300]
  ------------------
 5499|      0|					return (NULL);
 5500|    300|			}
 5501|    300|			break;
 5502|  3.33k|		case SCTP_FORWARD_CUM_TSN:
  ------------------
  |  |  490|  3.33k|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
  |  Branch (5502:3): [True: 3.33k, False: 711k]
  ------------------
 5503|  4.75k|		case SCTP_IFORWARD_CUM_TSN:
  ------------------
  |  |  493|  4.75k|#define SCTP_IFORWARD_CUM_TSN	0xc2
  ------------------
  |  Branch (5503:3): [True: 1.42k, False: 713k]
  ------------------
 5504|  4.75k|			SCTPDBG(SCTP_DEBUG_INPUT3, "%s\n",
 5505|  4.75k|				ch->chunk_type == SCTP_FORWARD_CUM_TSN ? "FORWARD_TSN" : "I_FORWARD_TSN");
 5506|  4.75k|			if (stcb == NULL) {
  ------------------
  |  Branch (5506:8): [True: 0, False: 4.75k]
  ------------------
 5507|      0|				break;
 5508|      0|			}
 5509|  4.75k|			if (stcb->asoc.prsctp_supported == 0) {
  ------------------
  |  Branch (5509:8): [True: 994, False: 3.76k]
  ------------------
 5510|    994|				goto unknown_chunk;
 5511|    994|			}
 5512|  3.76k|			if (chk_length < sizeof(struct sctp_forward_tsn_chunk)) {
  ------------------
  |  Branch (5512:8): [True: 1.11k, False: 2.64k]
  ------------------
 5513|  1.11k|				break;
 5514|  1.11k|			}
 5515|  2.64k|			if (((stcb->asoc.idata_supported == 1) && (ch->chunk_type == SCTP_FORWARD_CUM_TSN)) ||
  ------------------
  |  |  490|    878|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
  |  Branch (5515:9): [True: 878, False: 1.76k]
  |  Branch (5515:46): [True: 14, False: 864]
  ------------------
 5516|  2.64k|			    ((stcb->asoc.idata_supported == 0) && (ch->chunk_type == SCTP_IFORWARD_CUM_TSN))) {
  ------------------
  |  |  493|  1.76k|#define SCTP_IFORWARD_CUM_TSN	0xc2
  ------------------
  |  Branch (5516:9): [True: 1.76k, False: 864]
  |  Branch (5516:46): [True: 1, False: 1.76k]
  ------------------
 5517|     15|				if (ch->chunk_type == SCTP_FORWARD_CUM_TSN) {
  ------------------
  |  |  490|     15|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
  |  Branch (5517:9): [True: 14, False: 1]
  ------------------
 5518|     14|					SCTP_SNPRINTF(msg, sizeof(msg), "%s", "FORWARD-TSN chunk received when I-FORWARD-TSN was negotiated");
  ------------------
  |  |  814|     14|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 14]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 5519|     14|				} else {
 5520|      1|					SCTP_SNPRINTF(msg, sizeof(msg), "%s", "I-FORWARD-TSN chunk received when FORWARD-TSN was negotiated");
  ------------------
  |  |  814|      1|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 1]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 5521|      1|				}
 5522|     15|				op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|     15|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
 5523|     15|				sctp_abort_an_association(inp, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     15|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 5524|     15|				*offset = length;
 5525|     15|				return (NULL);
 5526|     15|			}
 5527|  2.62k|			*fwd_tsn_seen = 1;
 5528|  2.62k|			if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
  ------------------
  |  |  549|  2.62k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (5528:8): [True: 0, False: 2.62k]
  ------------------
 5529|       |				/* We are not interested anymore */
 5530|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5531|       |				so = SCTP_INP_SO(inp);
 5532|       |				atomic_add_int(&stcb->asoc.refcnt, 1);
 5533|       |				SCTP_TCB_UNLOCK(stcb);
 5534|       |				SCTP_SOCKET_LOCK(so, 1);
 5535|       |				SCTP_TCB_LOCK(stcb);
 5536|       |				atomic_subtract_int(&stcb->asoc.refcnt, 1);
 5537|       |#endif
 5538|      0|				(void)sctp_free_assoc(inp, stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|      0|#define SCTP_NORMAL_PROC      0
  ------------------
 5539|      0|				                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_31);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              				                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_31);
  ------------------
  |  |  799|      0|#define SCTP_LOC_31 0x0000001f
  ------------------
 5540|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5541|       |				SCTP_SOCKET_UNLOCK(so, 1);
 5542|       |#endif
 5543|      0|				*offset = length;
 5544|      0|				return (NULL);
 5545|      0|			}
 5546|       |			/*
 5547|       |			 * For sending a SACK this looks like DATA
 5548|       |			 * chunks.
 5549|       |			 */
 5550|  2.62k|			stcb->asoc.last_data_chunk_from = stcb->asoc.last_control_chunk_from;
 5551|  2.62k|			abort_flag = 0;
 5552|  2.62k|			sctp_handle_forward_tsn(stcb,
 5553|  2.62k|			                        (struct sctp_forward_tsn_chunk *)ch, &abort_flag, m, *offset);
 5554|  2.62k|			if (abort_flag) {
  ------------------
  |  Branch (5554:8): [True: 85, False: 2.54k]
  ------------------
 5555|     85|				*offset = length;
 5556|     85|				return (NULL);
 5557|     85|			}
 5558|  2.54k|			break;
 5559|  13.3k|		case SCTP_STREAM_RESET:
  ------------------
  |  |  484|  13.3k|#define SCTP_STREAM_RESET       0x82
  ------------------
  |  Branch (5559:3): [True: 13.3k, False: 701k]
  ------------------
 5560|  13.3k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_STREAM_RESET\n");
 5561|  13.3k|			if (stcb == NULL) {
  ------------------
  |  Branch (5561:8): [True: 0, False: 13.3k]
  ------------------
 5562|      0|				break;
 5563|      0|			}
 5564|  13.3k|			if (stcb->asoc.reconfig_supported == 0) {
  ------------------
  |  Branch (5564:8): [True: 0, False: 13.3k]
  ------------------
 5565|      0|				goto unknown_chunk;
 5566|      0|			}
 5567|  13.3k|			if (chk_length < sizeof(struct sctp_stream_reset_tsn_req)) {
  ------------------
  |  Branch (5567:8): [True: 896, False: 12.4k]
  ------------------
 5568|    896|				break;
 5569|    896|			}
 5570|  12.4k|			if (sctp_handle_stream_reset(stcb, m, *offset, ch)) {
  ------------------
  |  Branch (5570:8): [True: 0, False: 12.4k]
  ------------------
 5571|       |				/* stop processing */
 5572|      0|				*offset = length;
 5573|      0|				return (NULL);
 5574|      0|			}
 5575|  12.4k|			break;
 5576|  12.4k|		case SCTP_PACKET_DROPPED:
  ------------------
  |  |  482|  10.1k|#define SCTP_PACKET_DROPPED	0x81
  ------------------
  |  Branch (5576:3): [True: 10.1k, False: 704k]
  ------------------
 5577|  10.1k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_PACKET_DROPPED\n");
 5578|  10.1k|			if (stcb == NULL) {
  ------------------
  |  Branch (5578:8): [True: 0, False: 10.1k]
  ------------------
 5579|      0|				break;
 5580|      0|			}
 5581|  10.1k|			if (stcb->asoc.pktdrop_supported == 0) {
  ------------------
  |  Branch (5581:8): [True: 348, False: 9.76k]
  ------------------
 5582|    348|				goto unknown_chunk;
 5583|    348|			}
 5584|  9.76k|			if (chk_length < sizeof(struct sctp_pktdrop_chunk)) {
  ------------------
  |  Branch (5584:8): [True: 1.06k, False: 8.70k]
  ------------------
 5585|  1.06k|				break;
 5586|  1.06k|			}
 5587|  8.70k|			if ((netp != NULL) && (*netp != NULL)) {
  ------------------
  |  Branch (5587:8): [True: 8.70k, False: 0]
  |  Branch (5587:26): [True: 8.70k, False: 0]
  ------------------
 5588|  8.70k|				sctp_handle_packet_dropped((struct sctp_pktdrop_chunk *)ch,
 5589|  8.70k|				                           stcb, *netp,
 5590|  8.70k|				                           min(chk_length, contiguous));
  ------------------
  |  |   66|  8.70k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 175, False: 8.52k]
  |  |  ------------------
  ------------------
 5591|  8.70k|			}
 5592|  8.70k|			break;
 5593|  3.24k|		case SCTP_AUTHENTICATION:
  ------------------
  |  |  473|  3.24k|#define SCTP_AUTHENTICATION     0x0f
  ------------------
  |  Branch (5593:3): [True: 3.24k, False: 711k]
  ------------------
 5594|  3.24k|			SCTPDBG(SCTP_DEBUG_INPUT3, "SCTP_AUTHENTICATION\n");
 5595|  3.24k|			if (stcb == NULL) {
  ------------------
  |  Branch (5595:8): [True: 0, False: 3.24k]
  ------------------
 5596|       |				/* save the first AUTH for later processing */
 5597|      0|				if (auth_skipped == 0) {
  ------------------
  |  Branch (5597:9): [True: 0, False: 0]
  ------------------
 5598|      0|					auth_offset = *offset;
 5599|      0|					auth_len = chk_length;
 5600|      0|					auth_skipped = 1;
 5601|      0|				}
 5602|       |				/* skip this chunk (temporarily) */
 5603|      0|				break;
 5604|      0|			}
 5605|  3.24k|			if (stcb->asoc.auth_supported == 0) {
  ------------------
  |  Branch (5605:8): [True: 0, False: 3.24k]
  ------------------
 5606|      0|				goto unknown_chunk;
 5607|      0|			}
 5608|  3.24k|			if ((chk_length < (sizeof(struct sctp_auth_chunk))) ||
  ------------------
  |  Branch (5608:8): [True: 5, False: 3.23k]
  ------------------
 5609|  3.24k|			    (chk_length > (sizeof(struct sctp_auth_chunk) +
  ------------------
  |  Branch (5609:8): [True: 5, False: 3.23k]
  ------------------
 5610|  3.23k|			                  SCTP_AUTH_DIGEST_LEN_MAX))) {
  ------------------
  |  |   43|  3.23k|#define SCTP_AUTH_DIGEST_LEN_MAX	SCTP_AUTH_DIGEST_LEN_SHA256
  |  |  ------------------
  |  |  |  |   42|  3.23k|#define SCTP_AUTH_DIGEST_LEN_SHA256	32
  |  |  ------------------
  ------------------
 5611|       |				/* Its not ours */
 5612|     10|				*offset = length;
 5613|     10|				return (stcb);
 5614|     10|			}
 5615|  3.23k|			if (got_auth == 1) {
  ------------------
  |  Branch (5615:8): [True: 737, False: 2.49k]
  ------------------
 5616|       |				/* skip this chunk... it's already auth'd */
 5617|    737|				break;
 5618|    737|			}
 5619|  2.49k|			got_auth = 1;
 5620|  2.49k|			if (sctp_handle_auth(stcb, (struct sctp_auth_chunk *)ch, m, *offset)) {
  ------------------
  |  Branch (5620:8): [True: 0, False: 2.49k]
  ------------------
 5621|       |				/* auth HMAC failed so dump the packet */
 5622|      0|				*offset = length;
 5623|      0|				return (stcb);
 5624|  2.49k|			} else {
 5625|       |				/* remaining chunks are HMAC checked */
 5626|  2.49k|				stcb->asoc.authenticated = 1;
 5627|  2.49k|			}
 5628|  2.49k|			break;
 5629|       |
 5630|   201k|		default:
  ------------------
  |  Branch (5630:3): [True: 201k, False: 513k]
  ------------------
 5631|   203k|		unknown_chunk:
 5632|       |			/* it's an unknown chunk! */
 5633|   203k|			if ((ch->chunk_type & 0x40) &&
  ------------------
  |  Branch (5633:8): [True: 200k, False: 2.96k]
  ------------------
 5634|   203k|			    (stcb != NULL) &&
  ------------------
  |  Branch (5634:8): [True: 200k, False: 0]
  ------------------
 5635|   203k|			    (SCTP_GET_STATE(stcb) != SCTP_STATE_EMPTY) &&
  ------------------
  |  |  472|   200k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|   200k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) != SCTP_STATE_EMPTY) &&
  ------------------
  |  |  455|   200k|#define SCTP_STATE_EMPTY		0x0000
  ------------------
  |  Branch (5635:8): [True: 200k, False: 0]
  ------------------
 5636|   203k|			    (SCTP_GET_STATE(stcb) != SCTP_STATE_INUSE) &&
  ------------------
  |  |  472|   200k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|   200k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) != SCTP_STATE_INUSE) &&
  ------------------
  |  |  456|   200k|#define SCTP_STATE_INUSE		0x0001
  ------------------
  |  Branch (5636:8): [True: 200k, False: 0]
  ------------------
 5637|   203k|			    (SCTP_GET_STATE(stcb) != SCTP_STATE_COOKIE_WAIT)) {
  ------------------
  |  |  472|   200k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|   200k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) != SCTP_STATE_COOKIE_WAIT)) {
  ------------------
  |  |  457|   200k|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (5637:8): [True: 196k, False: 4.83k]
  ------------------
 5638|   196k|				struct sctp_gen_error_cause *cause;
 5639|   196k|				int len;
 5640|       |
 5641|   196k|				op_err = sctp_get_mbuf_for_msg(sizeof(struct sctp_gen_error_cause),
 5642|   196k|				                               0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|   196k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              				                               0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|   196k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 5643|   196k|				if (op_err != NULL) {
  ------------------
  |  Branch (5643:9): [True: 196k, False: 0]
  ------------------
 5644|   196k|					len = min(SCTP_SIZE32(chk_length), (uint32_t)(length - *offset));
  ------------------
  |  |   66|   196k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 30, False: 195k]
  |  |  ------------------
  ------------------
 5645|   196k|					cause = mtod(op_err, struct sctp_gen_error_cause *);
  ------------------
  |  |   96|   196k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|   196k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5646|   196k|					cause->code = htons(SCTP_CAUSE_UNRECOG_CHUNK);
 5647|   196k|					cause->length = htons((uint16_t)(len + sizeof(struct sctp_gen_error_cause)));
 5648|   196k|					SCTP_BUF_LEN(op_err) = sizeof(struct sctp_gen_error_cause);
  ------------------
  |  |  795|   196k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   196k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5649|   196k|					SCTP_BUF_NEXT(op_err) = SCTP_M_COPYM(m, *offset, len, M_NOWAIT);
  ------------------
  |  |  796|   196k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|   196k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
              					SCTP_BUF_NEXT(op_err) = SCTP_M_COPYM(m, *offset, len, M_NOWAIT);
  ------------------
  |  |  764|   196k|#define SCTP_M_COPYM	m_copym
  ------------------
              					SCTP_BUF_NEXT(op_err) = SCTP_M_COPYM(m, *offset, len, M_NOWAIT);
  ------------------
  |  |   60|   196k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 5650|   196k|					if (SCTP_BUF_NEXT(op_err) != NULL) {
  ------------------
  |  |  796|   196k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|   196k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (5650:10): [True: 196k, False: 0]
  ------------------
 5651|       |#ifdef SCTP_MBUF_LOGGING
 5652|       |						if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MBUF_LOGGING_ENABLE) {
 5653|       |							sctp_log_mbc(SCTP_BUF_NEXT(op_err), SCTP_MBUF_ICOPY);
 5654|       |						}
 5655|       |#endif
 5656|   196k|						sctp_queue_op_err(stcb, op_err);
 5657|   196k|					} else {
 5658|      0|						sctp_m_freem(op_err);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5659|      0|					}
 5660|   196k|				}
 5661|   196k|			}
 5662|   203k|			if ((ch->chunk_type & 0x80) == 0) {
  ------------------
  |  Branch (5662:8): [True: 31, False: 203k]
  ------------------
 5663|       |				/* discard this packet */
 5664|     31|				*offset = length;
 5665|     31|				return (stcb);
 5666|     31|			}	/* else skip this bad chunk and continue... */
 5667|   203k|			break;
 5668|   714k|		}		/* switch (ch->chunk_type) */
 5669|       |
 5670|   706k|	next_chunk:
 5671|       |		/* get the next chunk */
 5672|   706k|		*offset += SCTP_SIZE32(chk_length);
  ------------------
  |  |  383|   706k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 5673|   706k|		if (*offset >= length) {
  ------------------
  |  Branch (5673:7): [True: 10.6k, False: 695k]
  ------------------
 5674|       |			/* no more data left in the mbuf chain */
 5675|  10.6k|			break;
 5676|  10.6k|		}
 5677|   695k|		ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, *offset,
 5678|   695k|		                                           sizeof(struct sctp_chunkhdr), chunk_buf);
 5679|   695k|		if (ch == NULL) {
  ------------------
  |  Branch (5679:7): [True: 551, False: 694k]
  ------------------
 5680|    551|			*offset = length;
 5681|    551|			return (stcb);
 5682|    551|		}
 5683|   695k|	}			/* while */
 5684|       |
 5685|  12.1k|	if ((asconf_cnt > 0) && (stcb != NULL)) {
  ------------------
  |  Branch (5685:6): [True: 1.77k, False: 10.4k]
  |  Branch (5685:26): [True: 1.77k, False: 0]
  ------------------
 5686|  1.77k|		sctp_send_asconf_ack(stcb);
 5687|  1.77k|	}
 5688|  12.1k|	return (stcb);
 5689|  23.5k|}
sctp_input.c:sctp_handle_init_ack:
 1355|  9.61k|{
 1356|  9.61k|	struct sctp_init_ack *init_ack;
 1357|  9.61k|	struct mbuf *op_err;
 1358|       |
 1359|  9.61k|	SCTPDBG(SCTP_DEBUG_INPUT2,
 1360|  9.61k|		"sctp_handle_init_ack: handling INIT-ACK\n");
 1361|       |
 1362|  9.61k|	if (stcb == NULL) {
  ------------------
  |  Branch (1362:6): [True: 0, False: 9.61k]
  ------------------
 1363|      0|		SCTPDBG(SCTP_DEBUG_INPUT2,
 1364|      0|			"sctp_handle_init_ack: TCB is null\n");
 1365|      0|		return (-1);
 1366|      0|	}
 1367|       |	/* Only process the INIT-ACK chunk in COOKIE WAIT state.*/
 1368|  9.61k|	if (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) {
  ------------------
  |  |  472|  9.61k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  9.61k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) {
  ------------------
  |  |  457|  9.61k|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (1368:6): [True: 9.61k, False: 1]
  ------------------
 1369|  9.61k|		init_ack = &cp->init;
 1370|       |		/* Validate parameters. */
 1371|  9.61k|		if ((ntohl(init_ack->initiate_tag) == 0) ||
  ------------------
  |  Branch (1371:7): [True: 1, False: 9.61k]
  ------------------
 1372|  9.61k|		    (ntohl(init_ack->a_rwnd) < SCTP_MIN_RWND) ||
  ------------------
  |  |  687|  9.61k|#define SCTP_MIN_RWND	1500
  ------------------
  |  Branch (1372:7): [True: 12, False: 9.60k]
  ------------------
 1373|  9.61k|		    (ntohs(init_ack->num_inbound_streams) == 0) ||
  ------------------
  |  Branch (1373:7): [True: 6, False: 9.59k]
  ------------------
 1374|  9.61k|		    (ntohs(init_ack->num_outbound_streams) == 0)) {
  ------------------
  |  Branch (1374:7): [True: 5, False: 9.59k]
  ------------------
 1375|       |			/* One of the mandatory parameters is illegal. */
 1376|     24|			op_err = sctp_generate_cause(SCTP_CAUSE_INVALID_PARAM, "");
  ------------------
  |  |  375|     24|#define SCTP_CAUSE_INVALID_PARAM	0x0007
  ------------------
 1377|     24|			sctp_abort_association(stcb->sctp_ep, stcb, m, iphlen,
 1378|     24|			                       src, dst, sh, op_err,
 1379|       |	#if defined(__FreeBSD__) && !defined(__Userspace__)
 1380|       |			                       mflowtype, mflowid,
 1381|       |	#endif
 1382|     24|			                       vrf_id, net->port);
 1383|     24|			*abort_no_unlock = 1;
 1384|     24|			return (-1);
 1385|     24|		}
 1386|  9.59k|		if (stcb->asoc.primary_destination->dest_state &
  ------------------
  |  Branch (1386:7): [True: 0, False: 9.59k]
  ------------------
 1387|  9.59k|		    SCTP_ADDR_UNCONFIRMED) {
  ------------------
  |  |  487|  9.59k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
 1388|       |			/*
 1389|       |			 * The primary is where we sent the INIT, we can
 1390|       |			 * always consider it confirmed when the INIT-ACK is
 1391|       |			 * returned. Do this before we load addresses
 1392|       |			 * though.
 1393|       |			 */
 1394|      0|			stcb->asoc.primary_destination->dest_state &=
 1395|      0|			    ~SCTP_ADDR_UNCONFIRMED;
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
 1396|      0|			sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_CONFIRMED,
  ------------------
  |  |  718|      0|#define SCTP_NOTIFY_INTERFACE_CONFIRMED         16
  ------------------
 1397|      0|			    stcb, 0, (void *)stcb->asoc.primary_destination, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1398|      0|		}
 1399|  9.59k|		if (sctp_process_init_ack(m, iphlen, offset, src, dst, sh, cp, stcb,
  ------------------
  |  Branch (1399:7): [True: 526, False: 9.06k]
  ------------------
 1400|  9.59k|		                          net, abort_no_unlock,
 1401|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 1402|       |		                          mflowtype, mflowid,
 1403|       |#endif
 1404|  9.59k|		                          vrf_id) < 0) {
 1405|       |			/* error in parsing parameters */
 1406|    526|			return (-1);
 1407|    526|		}
 1408|       |		/* Update our state. */
 1409|  9.06k|		SCTPDBG(SCTP_DEBUG_INPUT2, "moving to COOKIE-ECHOED state\n");
 1410|  9.06k|		SCTP_SET_STATE(stcb, SCTP_STATE_COOKIE_ECHOED);
  ------------------
  |  |  474|  9.06k|	sctp_set_state(_stcb, _state)
  ------------------
 1411|       |
 1412|       |		/* Reset the RTO calculation. */
 1413|  9.06k|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  584|  9.06k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  669|  9.06k|#define SCTP_THRESHOLD_LOGGING				0x02000000
  ------------------
  |  Branch (1413:7): [True: 0, False: 9.06k]
  ------------------
 1414|      0|			sctp_misc_ints(SCTP_THRESHOLD_CLEAR,
  ------------------
  |  |  224|      0|#define SCTP_THRESHOLD_CLEAR       120
  ------------------
 1415|      0|			               stcb->asoc.overall_error_count,
 1416|      0|			               0,
 1417|      0|			               SCTP_FROM_SCTP_INPUT,
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
 1418|      0|			               __LINE__);
 1419|      0|		}
 1420|  9.06k|		stcb->asoc.overall_error_count = 0;
 1421|  9.06k|		(void)SCTP_GETTIME_TIMEVAL(&stcb->asoc.time_entered);
  ------------------
  |  |  991|  9.06k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 1422|       |		/*
 1423|       |		 * Collapse the init timer back in case of a exponential
 1424|       |		 * backoff.
 1425|       |		 */
 1426|  9.06k|		sctp_timer_start(SCTP_TIMER_TYPE_COOKIE, stcb->sctp_ep,
  ------------------
  |  |  537|  9.06k|#define SCTP_TIMER_TYPE_COOKIE		6
  ------------------
 1427|  9.06k|		    stcb, net);
 1428|       |		/*
 1429|       |		 * The output routine at the end of the inbound data processing
 1430|       |		 * will cause the cookie to be sent.
 1431|       |		 */
 1432|  9.06k|		SCTPDBG(SCTP_DEBUG_INPUT1, "Leaving handle-init-ack end\n");
 1433|  9.06k|		return (0);
 1434|  9.59k|	} else {
 1435|      1|		return (-1);
 1436|      1|	}
 1437|  9.61k|}
sctp_input.c:sctp_process_init_ack:
  411|  9.59k|{
  412|  9.59k|	struct sctp_association *asoc;
  413|  9.59k|	struct mbuf *op_err;
  414|  9.59k|	int retval, abort_flag, cookie_found;
  415|  9.59k|	int initack_limit;
  416|  9.59k|	int nat_friendly = 0;
  417|       |
  418|       |	/* First verify that we have no illegal param's */
  419|  9.59k|	abort_flag = 0;
  420|  9.59k|	cookie_found = 0;
  421|       |
  422|  9.59k|	op_err = sctp_arethere_unrecognized_parameters(m,
  423|  9.59k|						       (offset + sizeof(struct sctp_init_chunk)),
  424|  9.59k|						       &abort_flag, (struct sctp_chunkhdr *)cp,
  425|  9.59k|						       &nat_friendly, &cookie_found, NULL);
  426|  9.59k|	if (abort_flag) {
  ------------------
  |  Branch (426:6): [True: 99, False: 9.49k]
  ------------------
  427|       |		/* Send an abort and notify peer */
  428|     99|		sctp_abort_association(stcb->sctp_ep, stcb, m, iphlen,
  429|     99|		                       src, dst, sh, op_err,
  430|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  431|       |		                       mflowtype, mflowid,
  432|       |#endif
  433|     99|		                       vrf_id, net->port);
  434|     99|		*abort_no_unlock = 1;
  435|     99|		return (-1);
  436|     99|	}
  437|  9.49k|	if (!cookie_found) {
  ------------------
  |  Branch (437:6): [True: 199, False: 9.29k]
  ------------------
  438|    199|		uint16_t len;
  439|       |
  440|       |		/* Only report the missing cookie parameter */
  441|    199|		if (op_err != NULL) {
  ------------------
  |  Branch (441:7): [True: 42, False: 157]
  ------------------
  442|     42|			sctp_m_freem(op_err);
  ------------------
  |  |   52|     42|#define sctp_m_freem m_freem
  ------------------
  443|     42|		}
  444|    199|		len = (uint16_t)(sizeof(struct sctp_error_missing_param) + sizeof(uint16_t));
  445|       |		/* We abort with an error of missing mandatory param */
  446|    199|		op_err = sctp_get_mbuf_for_msg(len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|    199|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		op_err = sctp_get_mbuf_for_msg(len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|    199|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
  447|    199|		if (op_err != NULL) {
  ------------------
  |  Branch (447:7): [True: 199, False: 0]
  ------------------
  448|    199|			struct sctp_error_missing_param *cause;
  449|       |
  450|    199|			SCTP_BUF_LEN(op_err) = len;
  ------------------
  |  |  795|    199|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    199|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  451|    199|			cause = mtod(op_err, struct sctp_error_missing_param *);
  ------------------
  |  |   96|    199|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    199|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
  452|       |			/* Subtract the reserved param */
  453|    199|			cause->cause.code = htons(SCTP_CAUSE_MISSING_PARAM);
  454|    199|			cause->cause.length = htons(len);
  455|    199|			cause->num_missing_params = htonl(1);
  456|    199|			cause->type[0] = htons(SCTP_STATE_COOKIE);
  457|    199|		}
  458|    199|		sctp_abort_association(stcb->sctp_ep, stcb, m, iphlen,
  459|    199|		                       src, dst, sh, op_err,
  460|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  461|       |		                       mflowtype, mflowid,
  462|       |#endif
  463|    199|		                       vrf_id, net->port);
  464|    199|		*abort_no_unlock = 1;
  465|    199|		return (-3);
  466|    199|	}
  467|  9.29k|	asoc = &stcb->asoc;
  468|  9.29k|	asoc->peer_supports_nat = (uint8_t)nat_friendly;
  469|       |	/* process the peer's parameters in the INIT-ACK */
  470|  9.29k|	if (sctp_process_init((struct sctp_init_chunk *)cp, stcb) < 0) {
  ------------------
  |  Branch (470:6): [True: 0, False: 9.29k]
  ------------------
  471|      0|		if (op_err != NULL) {
  ------------------
  |  Branch (471:7): [True: 0, False: 0]
  ------------------
  472|      0|			sctp_m_freem(op_err);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
  473|      0|		}
  474|      0|		op_err = sctp_generate_cause(SCTP_CAUSE_OUT_OF_RESC, "");
  ------------------
  |  |  372|      0|#define SCTP_CAUSE_OUT_OF_RESC		0x0004
  ------------------
  475|      0|		SCTPDBG(SCTP_DEBUG_INPUT1, "sctp_process_init() failed\n");
  476|      0|		sctp_abort_association(stcb->sctp_ep, stcb, m, iphlen,
  477|      0|		                       src, dst, sh, op_err,
  478|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  479|       |		                       mflowtype, mflowid,
  480|       |#endif
  481|      0|		                       vrf_id, net->port);
  482|      0|		*abort_no_unlock = 1;
  483|      0|		return (-1);
  484|      0|	}
  485|  9.29k|	initack_limit = offset + ntohs(cp->ch.chunk_length);
  486|       |	/* load all addresses */
  487|  9.29k|	if ((retval = sctp_load_addresses_from_init(stcb, m,
  ------------------
  |  Branch (487:6): [True: 228, False: 9.06k]
  ------------------
  488|  9.29k|	                                            offset + sizeof(struct sctp_init_chunk),
  489|  9.29k|	                                            initack_limit, src, dst, NULL, stcb->asoc.port)) < 0) {
  490|    228|		if (op_err != NULL) {
  ------------------
  |  Branch (490:7): [True: 67, False: 161]
  ------------------
  491|     67|			sctp_m_freem(op_err);
  ------------------
  |  |   52|     67|#define sctp_m_freem m_freem
  ------------------
  492|     67|		}
  493|    228|		op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
  ------------------
  |  |  584|    228|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  494|    228|		                             "Problem with address parameters");
  495|    228|		SCTPDBG(SCTP_DEBUG_INPUT1,
  496|    228|		        "Load addresses from INIT causes an abort %d\n",
  497|    228|		        retval);
  498|    228|		sctp_abort_association(stcb->sctp_ep, stcb, m, iphlen,
  499|    228|		                       src, dst, sh, op_err,
  500|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  501|       |		                       mflowtype, mflowid,
  502|       |#endif
  503|    228|		                       vrf_id, net->port);
  504|    228|		*abort_no_unlock = 1;
  505|    228|		return (-1);
  506|    228|	}
  507|       |	/* if the peer doesn't support asconf, flush the asconf queue */
  508|  9.06k|	if (asoc->asconf_supported == 0) {
  ------------------
  |  Branch (508:6): [True: 670, False: 8.39k]
  ------------------
  509|    670|		struct sctp_asconf_addr *param, *nparam;
  510|       |
  511|    670|		TAILQ_FOREACH_SAFE(param, &asoc->asconf_queue, next, nparam) {
  ------------------
  |  | 1123|    670|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|    670|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 670]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|    670|              (var) = (tvar))
  ------------------
  512|      0|			TAILQ_REMOVE(&asoc->asconf_queue, param, next);
  513|      0|			SCTP_FREE(param, SCTP_M_ASC_ADDR);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  514|      0|		}
  515|    670|	}
  516|       |
  517|  9.06k|	stcb->asoc.peer_hmac_id = sctp_negotiate_hmacid(stcb->asoc.peer_hmacs,
  518|  9.06k|	    stcb->asoc.local_hmacs);
  519|  9.06k|	if (op_err) {
  ------------------
  |  Branch (519:6): [True: 189, False: 8.87k]
  ------------------
  520|    189|		sctp_queue_op_err(stcb, op_err);
  521|       |		/* queuing will steal away the mbuf chain to the out queue */
  522|    189|		op_err = NULL;
  523|    189|	}
  524|       |	/* extract the cookie and queue it to "echo" it back... */
  525|  9.06k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  584|  9.06k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  669|  9.06k|#define SCTP_THRESHOLD_LOGGING				0x02000000
  ------------------
  |  Branch (525:6): [True: 0, False: 9.06k]
  ------------------
  526|      0|		sctp_misc_ints(SCTP_THRESHOLD_CLEAR,
  ------------------
  |  |  224|      0|#define SCTP_THRESHOLD_CLEAR       120
  ------------------
  527|      0|			       stcb->asoc.overall_error_count,
  528|      0|			       0,
  529|      0|			       SCTP_FROM_SCTP_INPUT,
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
  530|      0|			       __LINE__);
  531|      0|	}
  532|       |
  533|       |	/*
  534|       |	 * Cancel the INIT timer, We do this first before queueing the
  535|       |	 * cookie. We always cancel at the primary to assume that we are
  536|       |	 * canceling the timer started by the INIT which always goes to the
  537|       |	 * primary.
  538|       |	 */
  539|  9.06k|	sctp_timer_stop(SCTP_TIMER_TYPE_INIT, stcb->sctp_ep, stcb,
  ------------------
  |  |  533|  9.06k|#define SCTP_TIMER_TYPE_INIT		2
  ------------------
  540|  9.06k|	    asoc->primary_destination, SCTP_FROM_SCTP_INPUT + SCTP_LOC_3);
  ------------------
  |  |  755|  9.06k|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              	    asoc->primary_destination, SCTP_FROM_SCTP_INPUT + SCTP_LOC_3);
  ------------------
  |  |  771|  9.06k|#define SCTP_LOC_3  0x00000003
  ------------------
  541|       |
  542|       |	/* calculate the RTO */
  543|  9.06k|	if (asoc->overall_error_count == 0) {
  ------------------
  |  Branch (543:6): [True: 9.06k, False: 0]
  ------------------
  544|  9.06k|		sctp_calculate_rto(stcb, asoc, net, &asoc->time_entered,
  545|  9.06k|		                   SCTP_RTT_FROM_NON_DATA);
  ------------------
  |  |  340|  9.06k|#define SCTP_RTT_FROM_NON_DATA 0
  ------------------
  546|  9.06k|	}
  547|  9.06k|	stcb->asoc.overall_error_count = 0;
  548|  9.06k|	net->error_count = 0;
  549|  9.06k|#if defined(__Userspace__)
  550|  9.06k|	if (stcb->sctp_ep->recv_callback) {
  ------------------
  |  Branch (550:6): [True: 0, False: 9.06k]
  ------------------
  551|      0|		if (stcb->sctp_socket) {
  ------------------
  |  Branch (551:7): [True: 0, False: 0]
  ------------------
  552|      0|			uint32_t inqueue_bytes, sb_free_now;
  553|      0|			struct sctp_inpcb *inp;
  554|       |
  555|      0|			inp = stcb->sctp_ep;
  556|      0|			inqueue_bytes = stcb->asoc.total_output_queue_size - (stcb->asoc.chunks_on_out_queue * sizeof(struct sctp_data_chunk));
  557|      0|			sb_free_now = SCTP_SB_LIMIT_SND(stcb->sctp_socket) - (inqueue_bytes + stcb->asoc.sb_send_resv);
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
  558|       |
  559|       |			/* check if the amount free in the send socket buffer crossed the threshold */
  560|      0|			if (inp->send_callback &&
  ------------------
  |  Branch (560:8): [True: 0, False: 0]
  ------------------
  561|      0|			    (((inp->send_sb_threshold > 0) &&
  ------------------
  |  Branch (561:10): [True: 0, False: 0]
  ------------------
  562|      0|			      (sb_free_now >= inp->send_sb_threshold) &&
  ------------------
  |  Branch (562:10): [True: 0, False: 0]
  ------------------
  563|      0|			      (stcb->asoc.chunks_on_out_queue <= SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue))) ||
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (563:10): [True: 0, False: 0]
  ------------------
  564|      0|			     (inp->send_sb_threshold == 0))) {
  ------------------
  |  Branch (564:9): [True: 0, False: 0]
  ------------------
  565|      0|				atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  566|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  567|      0|				inp->send_callback(stcb->sctp_socket, sb_free_now, inp->ulp_info);
  568|      0|				SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  569|      0|				atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
  570|      0|			}
  571|      0|		}
  572|      0|	}
  573|  9.06k|#endif
  574|  9.06k|	retval = sctp_send_cookie_echo(m, offset, initack_limit, stcb, net);
  575|  9.06k|	return (retval);
  576|  9.06k|}
sctp_input.c:sctp_process_init:
  254|  9.29k|{
  255|  9.29k|	struct sctp_init *init;
  256|  9.29k|	struct sctp_association *asoc;
  257|  9.29k|	struct sctp_nets *lnet;
  258|  9.29k|	unsigned int i;
  259|       |
  260|  9.29k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  9.29k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  9.29k|	do {                         \
  |  |  |  |  113|  9.29k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 9.29k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  9.29k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  261|       |
  262|  9.29k|	init = &cp->init;
  263|  9.29k|	asoc = &stcb->asoc;
  264|       |	/* save off parameters */
  265|  9.29k|	asoc->peer_vtag = ntohl(init->initiate_tag);
  266|  9.29k|	asoc->peers_rwnd = ntohl(init->a_rwnd);
  267|       |	/* init tsn's */
  268|  9.29k|	asoc->highest_tsn_inside_map = asoc->asconf_seq_in = ntohl(init->initial_tsn) - 1;
  269|       |
  270|  9.29k|	if (!TAILQ_EMPTY(&asoc->nets)) {
  ------------------
  |  Branch (270:6): [True: 9.29k, False: 0]
  ------------------
  271|       |		/* update any ssthresh's that may have a default */
  272|  9.29k|		TAILQ_FOREACH(lnet, &asoc->nets, sctp_next) {
  273|  9.29k|			lnet->ssthresh = asoc->peers_rwnd;
  274|  9.29k|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & (SCTP_CWND_MONITOR_ENABLE|SCTP_CWND_LOGGING_ENABLE)) {
  ------------------
  |  |  584|  9.29k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & (SCTP_CWND_MONITOR_ENABLE|SCTP_CWND_LOGGING_ENABLE)) {
  ------------------
  |  |  647|  9.29k|#define SCTP_CWND_MONITOR_ENABLE			0x00000002
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & (SCTP_CWND_MONITOR_ENABLE|SCTP_CWND_LOGGING_ENABLE)) {
  ------------------
  |  |  648|  9.29k|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  |  Branch (274:8): [True: 0, False: 9.29k]
  ------------------
  275|      0|				sctp_log_cwnd(stcb, lnet, 0, SCTP_CWND_INITIALIZATION);
  ------------------
  |  |  166|      0|#define SCTP_CWND_INITIALIZATION    62
  ------------------
  276|      0|			}
  277|  9.29k|		}
  278|  9.29k|	}
  279|  9.29k|	if (asoc->pre_open_streams > ntohs(init->num_inbound_streams)) {
  ------------------
  |  Branch (279:6): [True: 487, False: 8.80k]
  ------------------
  280|    487|		unsigned int newcnt;
  281|    487|		struct sctp_stream_out *outs;
  282|    487|		struct sctp_stream_queue_pending *sp, *nsp;
  283|    487|		struct sctp_tmit_chunk *chk, *nchk;
  284|       |
  285|       |		/* abandon the upper streams */
  286|    487|		newcnt = ntohs(init->num_inbound_streams);
  287|    487|		TAILQ_FOREACH_SAFE(chk, &asoc->send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|    487|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|    487|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 487]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|    487|              (var) = (tvar))
  ------------------
  288|      0|			if (chk->rec.data.sid >= newcnt) {
  ------------------
  |  Branch (288:8): [True: 0, False: 0]
  ------------------
  289|      0|				TAILQ_REMOVE(&asoc->send_queue, chk, sctp_next);
  290|      0|				asoc->send_queue_cnt--;
  291|      0|				if (asoc->strmout[chk->rec.data.sid].chunks_on_queues > 0) {
  ------------------
  |  Branch (291:9): [True: 0, False: 0]
  ------------------
  292|      0|					asoc->strmout[chk->rec.data.sid].chunks_on_queues--;
  293|      0|#ifdef INVARIANTS
  294|      0|				} else {
  295|      0|					panic("No chunks on the queues for sid %u.", chk->rec.data.sid);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  296|      0|#endif
  297|      0|				}
  298|      0|				if (chk->data != NULL) {
  ------------------
  |  Branch (298:9): [True: 0, False: 0]
  ------------------
  299|      0|					sctp_free_bufspace(stcb, asoc, chk, 1);
  300|      0|					sctp_ulp_notify(SCTP_NOTIFY_UNSENT_DG_FAIL, stcb,
  ------------------
  |  |  708|      0|#define SCTP_NOTIFY_UNSENT_DG_FAIL               6
  ------------------
  301|      0|					                0, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  302|      0|					if (chk->data) {
  ------------------
  |  Branch (302:10): [True: 0, False: 0]
  ------------------
  303|      0|						sctp_m_freem(chk->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
  304|      0|						chk->data = NULL;
  305|      0|					}
  306|      0|				}
  307|      0|				sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
  308|       |				/*sa_ignore FREED_MEMORY*/
  309|      0|			}
  310|      0|		}
  311|    487|		if (asoc->strmout) {
  ------------------
  |  Branch (311:7): [True: 487, False: 0]
  ------------------
  312|  77.3k|			for (i = newcnt; i < asoc->pre_open_streams; i++) {
  ------------------
  |  Branch (312:21): [True: 76.8k, False: 487]
  ------------------
  313|  76.8k|				outs = &asoc->strmout[i];
  314|  76.8k|				TAILQ_FOREACH_SAFE(sp, &outs->outqueue, next, nsp) {
  ------------------
  |  | 1123|  76.8k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  76.8k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 76.8k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  76.8k|              (var) = (tvar))
  ------------------
  315|      0|					atomic_subtract_int(&stcb->asoc.stream_queue_cnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
  316|      0|					TAILQ_REMOVE(&outs->outqueue, sp, next);
  317|      0|					stcb->asoc.ss_functions.sctp_ss_remove_from_stream(stcb, asoc, outs, sp);
  318|      0|					sctp_ulp_notify(SCTP_NOTIFY_SPECIAL_SP_FAIL,
  ------------------
  |  |  709|      0|#define SCTP_NOTIFY_SPECIAL_SP_FAIL              7
  ------------------
  319|      0|					    stcb, 0, sp, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  320|      0|					if (sp->data) {
  ------------------
  |  Branch (320:10): [True: 0, False: 0]
  ------------------
  321|      0|						sctp_m_freem(sp->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
  322|      0|						sp->data = NULL;
  323|      0|					}
  324|      0|					if (sp->net) {
  ------------------
  |  Branch (324:10): [True: 0, False: 0]
  ------------------
  325|      0|						sctp_free_remote_addr(sp->net);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
  326|      0|						sp->net = NULL;
  327|      0|					}
  328|       |					/* Free the chunk */
  329|      0|					sctp_free_a_strmoq(stcb, sp, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  125|      0|#define sctp_free_a_strmoq(_stcb, _strmoq, _so_locked) { \
  |  |  126|      0|	if ((_strmoq)->holds_key_ref) { \
  |  |  ------------------
  |  |  |  Branch (126:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  127|      0|		sctp_auth_key_release(stcb, sp->auth_keyid, _so_locked); \
  |  |  128|      0|		(_strmoq)->holds_key_ref = 0; \
  |  |  129|      0|	} \
  |  |  130|      0|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_strmoq), (_strmoq)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  131|      0|	SCTP_DECR_STRMOQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  691|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_strmoq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  132|      0|}
  ------------------
  330|       |					/*sa_ignore FREED_MEMORY*/
  331|      0|				}
  332|  76.8k|				outs->state = SCTP_STREAM_CLOSED;
  ------------------
  |  |  668|  76.8k|#define SCTP_STREAM_CLOSED           0x00
  ------------------
  333|  76.8k|			}
  334|    487|		}
  335|       |		/* cut back the count */
  336|    487|		asoc->pre_open_streams = newcnt;
  337|    487|	}
  338|  9.29k|	asoc->streamoutcnt = asoc->pre_open_streams;
  339|  9.29k|	if (asoc->strmout) {
  ------------------
  |  Branch (339:6): [True: 9.29k, False: 0]
  ------------------
  340|  2.32M|		for (i = 0; i < asoc->streamoutcnt; i++) {
  ------------------
  |  Branch (340:15): [True: 2.31M, False: 9.29k]
  ------------------
  341|  2.31M|			asoc->strmout[i].state = SCTP_STREAM_OPEN;
  ------------------
  |  |  670|  2.31M|#define SCTP_STREAM_OPEN             0x02
  ------------------
  342|  2.31M|		}
  343|  9.29k|	}
  344|       |	/* EY - nr_sack: initialize highest tsn in nr_mapping_array */
  345|  9.29k|	asoc->highest_tsn_inside_nr_map = asoc->highest_tsn_inside_map;
  346|  9.29k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  584|  9.29k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  652|  9.29k|#define SCTP_MAP_LOGGING_ENABLE				0x00000100
  ------------------
  |  Branch (346:6): [True: 0, False: 9.29k]
  ------------------
  347|      0|		sctp_log_map(0, 5, asoc->highest_tsn_inside_map, SCTP_MAP_SLIDE_RESULT);
  ------------------
  |  |  128|      0|#define SCTP_MAP_SLIDE_RESULT       23
  ------------------
  348|      0|	}
  349|       |	/* This is the next one we expect */
  350|  9.29k|	asoc->str_reset_seq_in = asoc->asconf_seq_in + 1;
  351|       |
  352|  9.29k|	asoc->mapping_array_base_tsn = ntohl(init->initial_tsn);
  353|  9.29k|	asoc->tsn_last_delivered = asoc->cumulative_tsn = asoc->asconf_seq_in;
  354|       |
  355|  9.29k|	asoc->advanced_peer_ack_point = asoc->last_acked_seq;
  356|       |	/* open the requested streams */
  357|       |
  358|  9.29k|	if (asoc->strmin != NULL) {
  ------------------
  |  Branch (358:6): [True: 0, False: 9.29k]
  ------------------
  359|       |		/* Free the old ones */
  360|      0|		for (i = 0; i < asoc->streamincnt; i++) {
  ------------------
  |  Branch (360:15): [True: 0, False: 0]
  ------------------
  361|      0|			sctp_clean_up_stream(stcb, &asoc->strmin[i].inqueue);
  362|      0|			sctp_clean_up_stream(stcb, &asoc->strmin[i].uno_inqueue);
  363|      0|		}
  364|      0|		SCTP_FREE(asoc->strmin, SCTP_M_STRMI);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  365|      0|	}
  366|  9.29k|	if (asoc->max_inbound_streams > ntohs(init->num_outbound_streams)) {
  ------------------
  |  Branch (366:6): [True: 314, False: 8.97k]
  ------------------
  367|    314|		asoc->streamincnt = ntohs(init->num_outbound_streams);
  368|  8.97k|	} else {
  369|  8.97k|		asoc->streamincnt = asoc->max_inbound_streams;
  370|  8.97k|	}
  371|  9.29k|	SCTP_MALLOC(asoc->strmin, struct sctp_stream_in *, asoc->streamincnt *
  ------------------
  |  |  669|  9.29k|	do {								\
  |  |  670|  9.29k|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|  9.29k|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|  9.29k|    do {								\
  |  |  |  |  198|  9.29k|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  18.5k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|  9.29k|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|  9.29k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  372|  9.29k|		    sizeof(struct sctp_stream_in), SCTP_M_STRMI);
  373|  9.29k|	if (asoc->strmin == NULL) {
  ------------------
  |  Branch (373:6): [True: 0, False: 9.29k]
  ------------------
  374|       |		/* we didn't get memory for the streams! */
  375|      0|		SCTPDBG(SCTP_DEBUG_INPUT2, "process_init: couldn't get memory for the streams!\n");
  376|      0|		return (-1);
  377|      0|	}
  378|  2.33M|	for (i = 0; i < asoc->streamincnt; i++) {
  ------------------
  |  Branch (378:14): [True: 2.32M, False: 9.29k]
  ------------------
  379|  2.32M|		asoc->strmin[i].sid = i;
  380|  2.32M|		asoc->strmin[i].last_mid_delivered = 0xffffffff;
  381|  2.32M|		TAILQ_INIT(&asoc->strmin[i].inqueue);
  382|  2.32M|		TAILQ_INIT(&asoc->strmin[i].uno_inqueue);
  383|  2.32M|		asoc->strmin[i].pd_api_started = 0;
  384|  2.32M|		asoc->strmin[i].delivery_started = 0;
  385|  2.32M|	}
  386|       |	/*
  387|       |	 * load_address_from_init will put the addresses into the
  388|       |	 * association when the COOKIE is processed or the INIT-ACK is
  389|       |	 * processed. Both types of COOKIE's existing and new call this
  390|       |	 * routine. It will remove addresses that are no longer in the
  391|       |	 * association (for the restarting case where addresses are
  392|       |	 * removed). Up front when the INIT arrives we will discard it if it
  393|       |	 * is a restart and new addresses have been added.
  394|       |	 */
  395|       |	/* sa_ignore MEMLEAK */
  396|  9.29k|	return (0);
  397|  9.29k|}
sctp_input.c:sctp_handle_heartbeat_ack:
  581|  4.37k|{
  582|  4.37k|	union sctp_sockstore store;
  583|  4.37k|	struct sctp_nets *r_net, *f_net;
  584|  4.37k|	struct timeval tv;
  585|  4.37k|	int req_prim = 0;
  586|  4.37k|	uint16_t old_error_counter;
  587|       |
  588|  4.37k|	if (ntohs(cp->ch.chunk_length) != sizeof(struct sctp_heartbeat_chunk)) {
  ------------------
  |  Branch (588:6): [True: 0, False: 4.37k]
  ------------------
  589|       |		/* Invalid length */
  590|      0|		return;
  591|      0|	}
  592|       |
  593|  4.37k|	memset(&store, 0, sizeof(store));
  594|  4.37k|	switch (cp->heartbeat.hb_info.addr_family) {
  595|      0|#ifdef INET
  596|  1.61k|	case AF_INET:
  ------------------
  |  Branch (596:2): [True: 1.61k, False: 2.75k]
  ------------------
  597|  1.61k|		if (cp->heartbeat.hb_info.addr_len == sizeof(struct sockaddr_in)) {
  ------------------
  |  Branch (597:7): [True: 1.48k, False: 134]
  ------------------
  598|  1.48k|			store.sin.sin_family = cp->heartbeat.hb_info.addr_family;
  599|       |#ifdef HAVE_SIN_LEN
  600|       |			store.sin.sin_len = cp->heartbeat.hb_info.addr_len;
  601|       |#endif
  602|  1.48k|			store.sin.sin_port = stcb->rport;
  603|  1.48k|			memcpy(&store.sin.sin_addr, cp->heartbeat.hb_info.address,
  604|  1.48k|			       sizeof(store.sin.sin_addr));
  605|  1.48k|		} else {
  606|    134|			return;
  607|    134|		}
  608|  1.48k|		break;
  609|  1.48k|#endif
  610|  1.48k|#ifdef INET6
  611|  1.48k|	case AF_INET6:
  ------------------
  |  Branch (611:2): [True: 742, False: 3.63k]
  ------------------
  612|    742|		if (cp->heartbeat.hb_info.addr_len == sizeof(struct sockaddr_in6)) {
  ------------------
  |  Branch (612:7): [True: 198, False: 544]
  ------------------
  613|    198|			store.sin6.sin6_family = cp->heartbeat.hb_info.addr_family;
  614|       |#ifdef HAVE_SIN6_LEN
  615|       |			store.sin6.sin6_len = cp->heartbeat.hb_info.addr_len;
  616|       |#endif
  617|    198|			store.sin6.sin6_port = stcb->rport;
  618|    198|			memcpy(&store.sin6.sin6_addr, cp->heartbeat.hb_info.address, sizeof(struct in6_addr));
  619|    544|		} else {
  620|    544|			return;
  621|    544|		}
  622|    198|		break;
  623|    198|#endif
  624|    198|#if defined(__Userspace__)
  625|  1.23k|	case AF_CONN:
  ------------------
  |  | 1008|  1.23k|#define AF_CONN 123
  ------------------
  |  Branch (625:2): [True: 1.23k, False: 3.13k]
  ------------------
  626|  1.23k|		if (cp->heartbeat.hb_info.addr_len == sizeof(struct sockaddr_conn)) {
  ------------------
  |  Branch (626:7): [True: 1.03k, False: 203]
  ------------------
  627|  1.03k|			store.sconn.sconn_family = cp->heartbeat.hb_info.addr_family;
  628|       |#ifdef HAVE_SCONN_LEN
  629|       |			store.sconn.sconn_len = cp->heartbeat.hb_info.addr_len;
  630|       |#endif
  631|  1.03k|			store.sconn.sconn_port = stcb->rport;
  632|  1.03k|			memcpy(&store.sconn.sconn_addr, cp->heartbeat.hb_info.address, sizeof(void *));
  633|  1.03k|		} else {
  634|    203|			return;
  635|    203|		}
  636|  1.03k|		break;
  637|  1.03k|#endif
  638|  1.03k|	default:
  ------------------
  |  Branch (638:2): [True: 778, False: 3.59k]
  ------------------
  639|    778|		return;
  640|  4.37k|	}
  641|  2.71k|	r_net = sctp_findnet(stcb, &store.sa);
  642|  2.71k|	if (r_net == NULL) {
  ------------------
  |  Branch (642:6): [True: 832, False: 1.88k]
  ------------------
  643|    832|		SCTPDBG(SCTP_DEBUG_INPUT1, "Huh? I can't find the address I sent it to, discard\n");
  644|    832|		return;
  645|    832|	}
  646|  1.88k|	if ((r_net && (r_net->dest_state & SCTP_ADDR_UNCONFIRMED)) &&
  ------------------
  |  |  487|  1.88k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (646:7): [True: 1.88k, False: 0]
  |  Branch (646:16): [True: 361, False: 1.52k]
  ------------------
  647|  1.88k|	    (r_net->heartbeat_random1 == cp->heartbeat.hb_info.random_value1) &&
  ------------------
  |  Branch (647:6): [True: 134, False: 227]
  ------------------
  648|  1.88k|	    (r_net->heartbeat_random2 == cp->heartbeat.hb_info.random_value2)) {
  ------------------
  |  Branch (648:6): [True: 39, False: 95]
  ------------------
  649|       |		/*
  650|       |		 * If the its a HB and it's random value is correct when can
  651|       |		 * confirm the destination.
  652|       |		 */
  653|     39|		r_net->dest_state &= ~SCTP_ADDR_UNCONFIRMED;
  ------------------
  |  |  487|     39|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  654|     39|		if (r_net->dest_state & SCTP_ADDR_REQ_PRIMARY) {
  ------------------
  |  |  488|     39|#define SCTP_ADDR_REQ_PRIMARY           0x400
  ------------------
  |  Branch (654:7): [True: 2, False: 37]
  ------------------
  655|      2|			stcb->asoc.primary_destination = r_net;
  656|      2|			r_net->dest_state &= ~SCTP_ADDR_REQ_PRIMARY;
  ------------------
  |  |  488|      2|#define SCTP_ADDR_REQ_PRIMARY           0x400
  ------------------
  657|      2|			f_net = TAILQ_FIRST(&stcb->asoc.nets);
  658|      2|			if (f_net != r_net) {
  ------------------
  |  Branch (658:8): [True: 2, False: 0]
  ------------------
  659|       |				/* first one on the list is NOT the primary
  660|       |				 * sctp_cmpaddr() is much more efficient if
  661|       |				 * the primary is the first on the list, make it
  662|       |				 * so.
  663|       |				 */
  664|      2|				TAILQ_REMOVE(&stcb->asoc.nets, r_net, sctp_next);
  665|      2|				TAILQ_INSERT_HEAD(&stcb->asoc.nets, r_net, sctp_next);
  666|      2|			}
  667|      2|			req_prim = 1;
  668|      2|		}
  669|     39|		sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_CONFIRMED,
  ------------------
  |  |  718|     39|#define SCTP_NOTIFY_INTERFACE_CONFIRMED         16
  ------------------
  670|     39|		    stcb, 0, (void *)r_net, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     39|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  671|     39|		sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep, stcb,
  ------------------
  |  |  536|     39|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
  672|     39|		                r_net, SCTP_FROM_SCTP_INPUT + SCTP_LOC_4);
  ------------------
  |  |  755|     39|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              		                r_net, SCTP_FROM_SCTP_INPUT + SCTP_LOC_4);
  ------------------
  |  |  772|     39|#define SCTP_LOC_4  0x00000004
  ------------------
  673|     39|		sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep, stcb, r_net);
  ------------------
  |  |  536|     39|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
  674|     39|	}
  675|  1.88k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  584|  1.88k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  669|  1.88k|#define SCTP_THRESHOLD_LOGGING				0x02000000
  ------------------
  |  Branch (675:6): [True: 0, False: 1.88k]
  ------------------
  676|      0|		sctp_misc_ints(SCTP_THRESHOLD_CLEAR,
  ------------------
  |  |  224|      0|#define SCTP_THRESHOLD_CLEAR       120
  ------------------
  677|      0|			       stcb->asoc.overall_error_count,
  678|      0|			       0,
  679|      0|			       SCTP_FROM_SCTP_INPUT,
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
  680|      0|			       __LINE__);
  681|      0|	}
  682|  1.88k|	stcb->asoc.overall_error_count = 0;
  683|  1.88k|	old_error_counter = r_net->error_count;
  684|  1.88k|	r_net->error_count = 0;
  685|  1.88k|	r_net->hb_responded = 1;
  686|  1.88k|	tv.tv_sec = cp->heartbeat.hb_info.time_value_1;
  687|  1.88k|	tv.tv_usec = cp->heartbeat.hb_info.time_value_2;
  688|       |	/* Now lets do a RTO with this */
  689|  1.88k|	sctp_calculate_rto(stcb, &stcb->asoc, r_net, &tv,
  690|  1.88k|	                   SCTP_RTT_FROM_NON_DATA);
  ------------------
  |  |  340|  1.88k|#define SCTP_RTT_FROM_NON_DATA 0
  ------------------
  691|  1.88k|	if ((r_net->dest_state & SCTP_ADDR_REACHABLE) == 0) {
  ------------------
  |  |  481|  1.88k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (691:6): [True: 0, False: 1.88k]
  ------------------
  692|      0|		r_net->dest_state |= SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  693|      0|		sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_UP, stcb,
  ------------------
  |  |  706|      0|#define SCTP_NOTIFY_INTERFACE_UP                 4
  ------------------
  694|      0|				0, (void *)r_net, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  695|      0|	}
  696|  1.88k|	if (r_net->dest_state & SCTP_ADDR_PF) {
  ------------------
  |  |  490|  1.88k|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (696:6): [True: 0, False: 1.88k]
  ------------------
  697|      0|		r_net->dest_state &= ~SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
  698|      0|		stcb->asoc.cc_functions.sctp_cwnd_update_exit_pf(stcb, net);
  699|      0|	}
  700|  1.88k|	if (old_error_counter > 0) {
  ------------------
  |  Branch (700:6): [True: 0, False: 1.88k]
  ------------------
  701|      0|		sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep,
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
  702|      0|		                stcb, r_net, SCTP_FROM_SCTP_INPUT + SCTP_LOC_5);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              		                stcb, r_net, SCTP_FROM_SCTP_INPUT + SCTP_LOC_5);
  ------------------
  |  |  773|      0|#define SCTP_LOC_5  0x00000005
  ------------------
  703|      0|		sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep, stcb, r_net);
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
  704|      0|	}
  705|  1.88k|	if (r_net == stcb->asoc.primary_destination) {
  ------------------
  |  Branch (705:6): [True: 1.52k, False: 359]
  ------------------
  706|  1.52k|		if (stcb->asoc.alternate) {
  ------------------
  |  Branch (706:7): [True: 373, False: 1.14k]
  ------------------
  707|       |			/* release the alternate, primary is good */
  708|    373|			sctp_free_remote_addr(stcb->asoc.alternate);
  ------------------
  |  |  228|    373|#define sctp_free_remote_addr(__net) { \
  |  |  229|    373|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 373, False: 0]
  |  |  ------------------
  |  |  230|    373|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|    373|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|    373|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 373]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|    373|	} \
  |  |  245|    373|}
  ------------------
  709|    373|			stcb->asoc.alternate = NULL;
  710|    373|		}
  711|  1.52k|	}
  712|       |	/* Mobility adaptation */
  713|  1.88k|	if (req_prim) {
  ------------------
  |  Branch (713:6): [True: 2, False: 1.87k]
  ------------------
  714|      2|		if ((sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|      4|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 2]
  |  |  ------------------
  ------------------
  715|      2|		                                 SCTP_MOBILITY_BASE) ||
  716|      2|		    sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|      2|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 2]
  |  |  ------------------
  ------------------
  717|      2|		                                SCTP_MOBILITY_FASTHANDOFF)) &&
  718|      2|		    sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|      0|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  719|      2|		                                SCTP_MOBILITY_PRIM_DELETED)) {
  720|      0|			sctp_timer_stop(SCTP_TIMER_TYPE_PRIM_DELETED,
  ------------------
  |  |  548|      0|#define SCTP_TIMER_TYPE_PRIM_DELETED	17
  ------------------
  721|      0|			                stcb->sctp_ep, stcb, NULL,
  722|      0|			                SCTP_FROM_SCTP_INPUT + SCTP_LOC_6);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              			                SCTP_FROM_SCTP_INPUT + SCTP_LOC_6);
  ------------------
  |  |  774|      0|#define SCTP_LOC_6  0x00000006
  ------------------
  723|      0|			if (sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|      0|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  724|      0|			                                SCTP_MOBILITY_FASTHANDOFF)) {
  725|      0|				sctp_assoc_immediate_retrans(stcb,
  726|      0|				                             stcb->asoc.primary_destination);
  727|      0|			}
  728|      0|			if (sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|      0|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  729|      0|				                        SCTP_MOBILITY_BASE)) {
  730|      0|				sctp_move_chunks_from_net(stcb,
  731|      0|				                          stcb->asoc.deleted_primary);
  732|      0|			}
  733|      0|			sctp_delete_prim_timer(stcb->sctp_ep, stcb);
  734|      0|		}
  735|      2|	}
  736|  1.88k|}
sctp_input.c:sctp_handle_abort:
  810|    111|{
  811|       |#if defined(__APPLE__) && !defined(__Userspace__)
  812|       |	struct socket *so;
  813|       |#endif
  814|    111|	uint16_t len;
  815|    111|	uint16_t error;
  816|       |
  817|    111|	SCTPDBG(SCTP_DEBUG_INPUT2, "sctp_handle_abort: handling ABORT\n");
  818|    111|	if (stcb == NULL)
  ------------------
  |  Branch (818:6): [True: 0, False: 111]
  ------------------
  819|      0|		return (0);
  820|       |
  821|    111|	len = ntohs(abort->ch.chunk_length);
  822|    111|	if (len >= sizeof(struct sctp_chunkhdr) + sizeof(struct sctp_error_cause)) {
  ------------------
  |  Branch (822:6): [True: 76, False: 35]
  ------------------
  823|       |		/* Need to check the cause codes for our
  824|       |		 * two magic nat aborts which don't kill the assoc
  825|       |		 * necessarily.
  826|       |		 */
  827|     76|		struct sctp_error_cause *cause;
  828|       |
  829|     76|		cause = (struct sctp_error_cause *)(abort + 1);
  830|     76|		error = ntohs(cause->code);
  831|     76|		if (error == SCTP_CAUSE_NAT_COLLIDING_STATE) {
  ------------------
  |  |  391|     76|#define SCTP_CAUSE_NAT_COLLIDING_STATE  0x00b0
  ------------------
  |  Branch (831:7): [True: 6, False: 70]
  ------------------
  832|      6|			SCTPDBG(SCTP_DEBUG_INPUT2, "Received Colliding state, ABORT flags:%x\n",
  833|      6|			                           abort->ch.chunk_flags);
  834|      6|			if (sctp_handle_nat_colliding_state(stcb)) {
  ------------------
  |  Branch (834:8): [True: 5, False: 1]
  ------------------
  835|      5|				return (0);
  836|      5|			}
  837|     70|		} else if (error == SCTP_CAUSE_NAT_MISSING_STATE) {
  ------------------
  |  |  392|     70|#define SCTP_CAUSE_NAT_MISSING_STATE    0x00b1
  ------------------
  |  Branch (837:14): [True: 1, False: 69]
  ------------------
  838|      1|			SCTPDBG(SCTP_DEBUG_INPUT2, "Received missing state, ABORT flags:%x\n",
  839|      1|			                           abort->ch.chunk_flags);
  840|      1|			if (sctp_handle_nat_missing_state(stcb, net)) {
  ------------------
  |  Branch (840:8): [True: 1, False: 0]
  ------------------
  841|      1|				return (0);
  842|      1|			}
  843|      1|		}
  844|     76|	} else {
  845|     35|		error = 0;
  846|     35|	}
  847|       |	/* stop any receive timers */
  848|    105|	sctp_timer_stop(SCTP_TIMER_TYPE_RECV, stcb->sctp_ep, stcb, NULL,
  ------------------
  |  |  534|    105|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
  849|    105|	                SCTP_FROM_SCTP_INPUT + SCTP_LOC_7);
  ------------------
  |  |  755|    105|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              	                SCTP_FROM_SCTP_INPUT + SCTP_LOC_7);
  ------------------
  |  |  775|    105|#define SCTP_LOC_7  0x00000007
  ------------------
  850|       |	/* notify user of the abort and clean up... */
  851|    105|	sctp_abort_notification(stcb, true, false, error, abort, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    105|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  852|       |	/* free the tcb */
  853|    105|	SCTP_STAT_INCR_COUNTER32(sctps_aborted);
  ------------------
  |  | 1127|    105|#define SCTP_STAT_INCR_COUNTER32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|    105|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|    105|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|    105|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  854|    105|	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  472|    105|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    105|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  459|    105|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (854:6): [True: 32, False: 73]
  ------------------
  855|    105|	    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  472|     73|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|     73|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  461|     73|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (855:6): [True: 2, False: 71]
  ------------------
  856|     34|		SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|     34|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|     34|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|     34|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|     34|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  857|     34|	}
  858|       |#ifdef SCTP_ASOCLOG_OF_TSNS
  859|       |	sctp_print_out_track_log(stcb);
  860|       |#endif
  861|       |#if defined(__APPLE__) && !defined(__Userspace__)
  862|       |	so = SCTP_INP_SO(stcb->sctp_ep);
  863|       |	atomic_add_int(&stcb->asoc.refcnt, 1);
  864|       |	SCTP_TCB_UNLOCK(stcb);
  865|       |	SCTP_SOCKET_LOCK(so, 1);
  866|       |	SCTP_TCB_LOCK(stcb);
  867|       |	atomic_subtract_int(&stcb->asoc.refcnt, 1);
  868|       |#endif
  869|    105|	(void)sctp_free_assoc(stcb->sctp_ep, stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|    105|#define SCTP_NORMAL_PROC      0
  ------------------
  870|    105|			      SCTP_FROM_SCTP_INPUT + SCTP_LOC_8);
  ------------------
  |  |  755|    105|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              			      SCTP_FROM_SCTP_INPUT + SCTP_LOC_8);
  ------------------
  |  |  776|    105|#define SCTP_LOC_8  0x00000008
  ------------------
  871|       |#if defined(__APPLE__) && !defined(__Userspace__)
  872|       |	SCTP_SOCKET_UNLOCK(so, 1);
  873|       |#endif
  874|    105|	SCTPDBG(SCTP_DEBUG_INPUT2, "sctp_handle_abort: finished\n");
  875|    105|	return (1);
  876|    111|}
sctp_input.c:sctp_handle_nat_colliding_state:
  740|  22.1k|{
  741|       |	/*
  742|       |	 * Return 0 means we want you to proceed with the abort
  743|       |	 * non-zero means no abort processing.
  744|       |	 */
  745|  22.1k|	uint32_t new_vtag;
  746|  22.1k|	struct sctpasochead *head;
  747|       |
  748|  22.1k|	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  472|  22.1k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  22.1k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  457|  22.1k|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (748:6): [True: 17.1k, False: 4.93k]
  ------------------
  749|  22.1k|	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  472|  4.93k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  4.93k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  458|  4.93k|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (749:6): [True: 187, False: 4.74k]
  ------------------
  750|  17.3k|		atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|  17.3k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  751|  17.3k|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|  17.3k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  17.3k|	do {                         \
  |  |  |  |  113|  17.3k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 17.3k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  17.3k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  752|  17.3k|		SCTP_INP_INFO_WLOCK();
  ------------------
  |  |  297|  17.3k|	KASSERT(pthread_rwlock_wrlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  17.3k|	do {                         \
  |  |  |  |  113|  17.3k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 17.3k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  17.3k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  753|  17.3k|		SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|  17.3k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  17.3k|	do {                         \
  |  |  |  |  113|  17.3k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 17.3k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  17.3k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  754|  17.3k|		atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|  17.3k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
  755|  17.3k|	} else {
  756|  4.74k|		return (0);
  757|  4.74k|	}
  758|  17.3k|	new_vtag = sctp_select_a_tag(stcb->sctp_ep, stcb->sctp_ep->sctp_lport, stcb->rport, 1);
  ------------------
  |  |  426|  17.3k|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|  17.3k|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|  17.3k|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  759|  17.3k|	if (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) {
  ------------------
  |  |  472|  17.3k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  17.3k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) {
  ------------------
  |  |  457|  17.3k|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (759:6): [True: 17.1k, False: 187]
  ------------------
  760|       |		/* generate a new vtag and send init */
  761|  17.1k|		LIST_REMOVE(stcb, sctp_asocs);
  762|  17.1k|		stcb->asoc.my_vtag = new_vtag;
  763|  17.1k|		head = &SCTP_BASE_INFO(sctp_asochash)[SCTP_PCBHASH_ASOC(stcb->asoc.my_vtag, SCTP_BASE_INFO(hashasocmark))];
  ------------------
  |  |  581|  17.1k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              		head = &SCTP_BASE_INFO(sctp_asochash)[SCTP_PCBHASH_ASOC(stcb->asoc.my_vtag, SCTP_BASE_INFO(hashasocmark))];
  ------------------
  |  |   57|  17.1k|#define SCTP_PCBHASH_ASOC(tag, mask) (tag & mask)
  ------------------
  764|       |		/* put it in the bucket in the vtag hash of assoc's for the system */
  765|  17.1k|		LIST_INSERT_HEAD(head, stcb, sctp_asocs);
  766|  17.1k|		SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|  17.1k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  17.1k|	do {                         \
  |  |  |  |  113|  17.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 17.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  17.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  767|  17.1k|		sctp_send_initiate(stcb->sctp_ep, stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  17.1k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  768|  17.1k|		return (1);
  769|  17.1k|	} else {
  770|       |		/* treat like a case where the cookie expired i.e.:
  771|       |		* - dump current cookie.
  772|       |		* - generate a new vtag.
  773|       |		* - resend init.
  774|       |		*/
  775|       |		/* generate a new vtag and send init */
  776|    187|		LIST_REMOVE(stcb, sctp_asocs);
  777|    187|		SCTP_SET_STATE(stcb, SCTP_STATE_COOKIE_WAIT);
  ------------------
  |  |  474|    187|	sctp_set_state(_stcb, _state)
  ------------------
  778|    187|		sctp_stop_all_cookie_timers(stcb);
  779|    187|		sctp_toss_old_cookies(stcb, &stcb->asoc);
  780|    187|		stcb->asoc.my_vtag = new_vtag;
  781|    187|		head = &SCTP_BASE_INFO(sctp_asochash)[SCTP_PCBHASH_ASOC(stcb->asoc.my_vtag, SCTP_BASE_INFO(hashasocmark))];
  ------------------
  |  |  581|    187|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              		head = &SCTP_BASE_INFO(sctp_asochash)[SCTP_PCBHASH_ASOC(stcb->asoc.my_vtag, SCTP_BASE_INFO(hashasocmark))];
  ------------------
  |  |   57|    187|#define SCTP_PCBHASH_ASOC(tag, mask) (tag & mask)
  ------------------
  782|       |		/* put it in the bucket in the vtag hash of assoc's for the system */
  783|    187|		LIST_INSERT_HEAD(head, stcb, sctp_asocs);
  784|    187|		SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|    187|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    187|	do {                         \
  |  |  |  |  113|    187|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 187]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    187|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  785|    187|		sctp_send_initiate(stcb->sctp_ep, stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    187|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  786|    187|		return (1);
  787|    187|	}
  788|      0|	return (0);
  789|  17.3k|}
sctp_input.c:sctp_stop_all_cookie_timers:
   63|  56.5k|{
   64|  56.5k|	struct sctp_nets *net;
   65|       |
   66|       |	/* This now not only stops all cookie timers
   67|       |	 * it also stops any INIT timers as well. This
   68|       |	 * will make sure that the timers are stopped in
   69|       |	 * all collision cases.
   70|       |	 */
   71|  56.5k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  56.5k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  56.5k|	do {                         \
  |  |  |  |  113|  56.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 56.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  56.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   72|  65.5k|	TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
   73|  65.5k|		if (net->rxt_timer.type == SCTP_TIMER_TYPE_COOKIE) {
  ------------------
  |  |  537|  65.5k|#define SCTP_TIMER_TYPE_COOKIE		6
  ------------------
  |  Branch (73:7): [True: 10.4k, False: 55.1k]
  ------------------
   74|  10.4k|			sctp_timer_stop(SCTP_TIMER_TYPE_COOKIE,
  ------------------
  |  |  537|  10.4k|#define SCTP_TIMER_TYPE_COOKIE		6
  ------------------
   75|  10.4k|					stcb->sctp_ep,
   76|  10.4k|					stcb,
   77|  10.4k|					net, SCTP_FROM_SCTP_INPUT + SCTP_LOC_1);
  ------------------
  |  |  755|  10.4k|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              					net, SCTP_FROM_SCTP_INPUT + SCTP_LOC_1);
  ------------------
  |  |  769|  10.4k|#define SCTP_LOC_1  0x00000001
  ------------------
   78|  55.1k|		} else if (net->rxt_timer.type == SCTP_TIMER_TYPE_INIT) {
  ------------------
  |  |  533|  55.1k|#define SCTP_TIMER_TYPE_INIT		2
  ------------------
  |  Branch (78:14): [True: 12.0k, False: 43.0k]
  ------------------
   79|  12.0k|			sctp_timer_stop(SCTP_TIMER_TYPE_INIT,
  ------------------
  |  |  533|  12.0k|#define SCTP_TIMER_TYPE_INIT		2
  ------------------
   80|  12.0k|					stcb->sctp_ep,
   81|  12.0k|					stcb,
   82|  12.0k|					net, SCTP_FROM_SCTP_INPUT + SCTP_LOC_2);
  ------------------
  |  |  755|  12.0k|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              					net, SCTP_FROM_SCTP_INPUT + SCTP_LOC_2);
  ------------------
  |  |  770|  12.0k|#define SCTP_LOC_2  0x00000002
  ------------------
   83|  12.0k|		}
   84|  65.5k|	}
   85|  56.5k|}
sctp_input.c:sctp_handle_nat_missing_state:
  794|    242|{
  795|       |	/* return 0 means we want you to proceed with the abort
  796|       |	 * non-zero means no abort processing
  797|       |	 */
  798|    242|	if (stcb->asoc.auth_supported == 0) {
  ------------------
  |  Branch (798:6): [True: 0, False: 242]
  ------------------
  799|      0|		SCTPDBG(SCTP_DEBUG_INPUT2, "sctp_handle_nat_missing_state: Peer does not support AUTH, cannot send an asconf\n");
  800|      0|		return (0);
  801|      0|	}
  802|    242|	sctp_asconf_send_nat_state_update(stcb, net);
  803|    242|	return (1);
  804|    242|}
sctp_input.c:sctp_handle_shutdown:
  943|  4.32k|{
  944|  4.32k|	int some_on_streamwheel;
  945|  4.32k|	int old_state;
  946|       |#if defined(__APPLE__) && !defined(__Userspace__)
  947|       |	struct socket *so;
  948|       |#endif
  949|       |
  950|  4.32k|	SCTPDBG(SCTP_DEBUG_INPUT2, "sctp_handle_shutdown: handling SHUTDOWN\n");
  951|  4.32k|	if (stcb == NULL)
  ------------------
  |  Branch (951:6): [True: 0, False: 4.32k]
  ------------------
  952|      0|		return;
  953|  4.32k|	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  472|  4.32k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  4.32k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  457|  4.32k|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (953:6): [True: 2.73k, False: 1.58k]
  ------------------
  954|  4.32k|	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  472|  1.58k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  1.58k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  458|  1.58k|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (954:6): [True: 268, False: 1.32k]
  ------------------
  955|  3.00k|		return;
  956|  3.00k|	}
  957|  1.32k|	if (ntohs(cp->ch.chunk_length) != sizeof(struct sctp_shutdown_chunk)) {
  ------------------
  |  Branch (957:6): [True: 0, False: 1.32k]
  ------------------
  958|       |		/* Shutdown NOT the expected size */
  959|      0|		return;
  960|      0|	}
  961|  1.32k|	old_state = SCTP_GET_STATE(stcb);
  ------------------
  |  |  472|  1.32k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  1.32k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
  962|  1.32k|	sctp_update_acked(stcb, cp, abort_flag);
  963|  1.32k|	if (*abort_flag) {
  ------------------
  |  Branch (963:6): [True: 123, False: 1.19k]
  ------------------
  964|    123|		return;
  965|    123|	}
  966|  1.19k|	sctp_check_data_from_peer(stcb, abort_flag);
  967|  1.19k|	if (*abort_flag) {
  ------------------
  |  Branch (967:6): [True: 0, False: 1.19k]
  ------------------
  968|      0|		return;
  969|      0|	}
  970|  1.19k|	if (stcb->sctp_socket) {
  ------------------
  |  Branch (970:6): [True: 1.19k, False: 0]
  ------------------
  971|  1.19k|		if ((SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_RECEIVED) &&
  ------------------
  |  |  472|  1.19k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  1.19k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if ((SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_RECEIVED) &&
  ------------------
  |  |  461|  1.19k|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (971:7): [True: 736, False: 461]
  ------------------
  972|  1.19k|		    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT) &&
  ------------------
  |  |  472|    736|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    736|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT) &&
  ------------------
  |  |  462|    736|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (972:7): [True: 108, False: 628]
  ------------------
  973|  1.19k|		    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT)) {
  ------------------
  |  |  472|    108|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    108|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT)) {
  ------------------
  |  |  460|    108|#define SCTP_STATE_SHUTDOWN_SENT	0x0010
  ------------------
  |  Branch (973:7): [True: 108, False: 0]
  ------------------
  974|    108|			SCTP_SET_STATE(stcb, SCTP_STATE_SHUTDOWN_RECEIVED);
  ------------------
  |  |  474|    108|	sctp_set_state(_stcb, _state)
  ------------------
  975|       |			/* notify upper layer that peer has initiated a shutdown */
  976|    108|			sctp_ulp_notify(SCTP_NOTIFY_PEER_SHUTDOWN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  713|    108|#define SCTP_NOTIFY_PEER_SHUTDOWN               11
  ------------------
              			sctp_ulp_notify(SCTP_NOTIFY_PEER_SHUTDOWN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    108|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  977|       |
  978|       |			/* reset time */
  979|    108|			(void)SCTP_GETTIME_TIMEVAL(&stcb->asoc.time_entered);
  ------------------
  |  |  991|    108|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
  980|    108|		}
  981|  1.19k|	}
  982|  1.19k|	if (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_SENT) {
  ------------------
  |  |  472|  1.19k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  1.19k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_SENT) {
  ------------------
  |  |  460|  1.19k|#define SCTP_STATE_SHUTDOWN_SENT	0x0010
  ------------------
  |  Branch (982:6): [True: 0, False: 1.19k]
  ------------------
  983|       |		/*
  984|       |		 * stop the shutdown timer, since we WILL move to
  985|       |		 * SHUTDOWN-ACK-SENT.
  986|       |		 */
  987|      0|		sctp_timer_stop(SCTP_TIMER_TYPE_SHUTDOWN, stcb->sctp_ep, stcb,
  ------------------
  |  |  535|      0|#define SCTP_TIMER_TYPE_SHUTDOWN	4
  ------------------
  988|      0|		                net, SCTP_FROM_SCTP_INPUT + SCTP_LOC_9);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              		                net, SCTP_FROM_SCTP_INPUT + SCTP_LOC_9);
  ------------------
  |  |  777|      0|#define SCTP_LOC_9  0x00000009
  ------------------
  989|      0|	}
  990|       |	/* Now is there unsent data on a stream somewhere? */
  991|  1.19k|	some_on_streamwheel = sctp_is_there_unsent_data(stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  1.19k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  992|       |
  993|  1.19k|	if (!TAILQ_EMPTY(&stcb->asoc.send_queue) ||
  ------------------
  |  Branch (993:6): [True: 55, False: 1.14k]
  ------------------
  994|  1.19k|	    !TAILQ_EMPTY(&stcb->asoc.sent_queue) ||
  ------------------
  |  Branch (994:6): [True: 380, False: 762]
  ------------------
  995|  1.19k|	    some_on_streamwheel) {
  ------------------
  |  Branch (995:6): [True: 80, False: 682]
  ------------------
  996|       |		/* By returning we will push more data out */
  997|    515|		return;
  998|    682|	} else {
  999|       |		/* no outstanding data to send, so move on... */
 1000|       |		/* send SHUTDOWN-ACK */
 1001|       |		/* move to SHUTDOWN-ACK-SENT state */
 1002|    682|		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  472|    682|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    682|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  459|    682|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (1002:7): [True: 0, False: 682]
  ------------------
 1003|    682|		    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  472|    682|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    682|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  461|    682|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (1003:7): [True: 54, False: 628]
  ------------------
 1004|     54|			SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|     54|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|     54|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|     54|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|     54|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1005|     54|		}
 1006|    682|		if (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT) {
  ------------------
  |  |  472|    682|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    682|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT) {
  ------------------
  |  |  462|    682|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (1006:7): [True: 54, False: 628]
  ------------------
 1007|     54|			SCTP_SET_STATE(stcb, SCTP_STATE_SHUTDOWN_ACK_SENT);
  ------------------
  |  |  474|     54|	sctp_set_state(_stcb, _state)
  ------------------
 1008|     54|			sctp_stop_timers_for_shutdown(stcb);
 1009|     54|			sctp_send_shutdown_ack(stcb, net);
 1010|     54|			sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNACK,
  ------------------
  |  |  540|     54|#define SCTP_TIMER_TYPE_SHUTDOWNACK	9
  ------------------
 1011|     54|			                 stcb->sctp_ep, stcb, net);
 1012|    628|		} else if (old_state == SCTP_STATE_SHUTDOWN_ACK_SENT) {
  ------------------
  |  |  462|    628|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (1012:14): [True: 628, False: 0]
  ------------------
 1013|    628|			sctp_send_shutdown_ack(stcb, net);
 1014|    628|		}
 1015|    682|	}
 1016|  1.19k|}
sctp_input.c:sctp_check_data_from_peer:
  910|  1.19k|{
  911|  1.19k|	char msg[SCTP_DIAG_INFO_LEN];
  912|  1.19k|	struct sctp_association *asoc;
  913|  1.19k|	struct mbuf *op_err;
  914|  1.19k|	unsigned int i;
  915|       |
  916|  1.19k|	*abort_flag = 0;
  917|  1.19k|	asoc = &stcb->asoc;
  918|  1.19k|	if (SCTP_TSN_GT(asoc->highest_tsn_inside_map, asoc->cumulative_tsn) ||
  ------------------
  |  |  889|  1.19k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  2.39k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 200, False: 997]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 200]
  |  |  |  |  ------------------
  |  |  |  |  884|  2.39k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 1.19k]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  919|  1.19k|	    SCTP_TSN_GT(asoc->highest_tsn_inside_nr_map, asoc->cumulative_tsn)) {
  ------------------
  |  |  889|  1.19k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  1.19k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 1.19k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|  1.19k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 1.19k]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  920|      0|		SCTP_SNPRINTF(msg, sizeof(msg), "Missing TSN");
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
  921|      0|		*abort_flag = 1;
  922|      0|	}
  923|  1.19k|	if (!*abort_flag) {
  ------------------
  |  Branch (923:6): [True: 1.19k, False: 0]
  ------------------
  924|   308k|		for (i = 0; i < asoc->streamincnt; i++) {
  ------------------
  |  Branch (924:15): [True: 307k, False: 1.19k]
  ------------------
  925|   307k|			if (!TAILQ_EMPTY(&asoc->strmin[i].inqueue) ||
  ------------------
  |  Branch (925:8): [True: 0, False: 307k]
  ------------------
  926|   307k|			    !TAILQ_EMPTY(&asoc->strmin[i].uno_inqueue)) {
  ------------------
  |  Branch (926:8): [True: 0, False: 307k]
  ------------------
  927|      0|				SCTP_SNPRINTF(msg, sizeof(msg), "Missing user data");
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
  928|      0|				*abort_flag = 1;
  929|      0|				break;
  930|      0|			}
  931|   307k|		}
  932|  1.19k|	}
  933|  1.19k|	if (*abort_flag) {
  ------------------
  |  Branch (933:6): [True: 0, False: 1.19k]
  ------------------
  934|      0|		op_err = sctp_generate_cause(SCTP_CAUSE_PROTOCOL_VIOLATION, msg);
  ------------------
  |  |  381|      0|#define SCTP_CAUSE_PROTOCOL_VIOLATION	0x000d
  ------------------
  935|      0|		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INPUT + SCTP_LOC_9;
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              		stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INPUT + SCTP_LOC_9;
  ------------------
  |  |  777|      0|#define SCTP_LOC_9  0x00000009
  ------------------
  936|      0|		sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, false, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  937|      0|	}
  938|  1.19k|}
sctp_input.c:sctp_handle_shutdown_ack:
 1022|      9|{
 1023|      9|	int abort_flag;
 1024|       |#if defined(__APPLE__) && !defined(__Userspace__)
 1025|       |	struct socket *so;
 1026|       |
 1027|       |	so = SCTP_INP_SO(stcb->sctp_ep);
 1028|       |#endif
 1029|      9|	SCTPDBG(SCTP_DEBUG_INPUT2,
 1030|      9|	        "sctp_handle_shutdown_ack: handling SHUTDOWN ACK\n");
 1031|      9|	if (stcb == NULL) {
  ------------------
  |  Branch (1031:6): [True: 0, False: 9]
  ------------------
 1032|      0|		return;
 1033|      0|	}
 1034|       |
 1035|       |	/* process according to association state */
 1036|      9|	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  472|      9|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      9|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  457|      9|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (1036:6): [True: 1, False: 8]
  ------------------
 1037|      9|	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  472|      8|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      8|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  458|      8|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (1037:6): [True: 5, False: 3]
  ------------------
 1038|       |		/* unexpected SHUTDOWN-ACK... do OOTB handling... */
 1039|      6|		sctp_send_shutdown_complete(stcb, net, 1);
 1040|      6|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      6|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      6|	do {                         \
  |  |  |  |  113|      6|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      6|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1041|      6|		return;
 1042|      6|	}
 1043|      3|	if ((SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT) &&
  ------------------
  |  |  472|      3|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      3|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if ((SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT) &&
  ------------------
  |  |  460|      3|#define SCTP_STATE_SHUTDOWN_SENT	0x0010
  ------------------
  |  Branch (1043:6): [True: 3, False: 0]
  ------------------
 1044|      3|	    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT)) {
  ------------------
  |  |  472|      3|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      3|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT)) {
  ------------------
  |  |  462|      3|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (1044:6): [True: 3, False: 0]
  ------------------
 1045|       |		/* unexpected SHUTDOWN-ACK... so ignore... */
 1046|      3|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      3|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      3|	do {                         \
  |  |  |  |  113|      3|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      3|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1047|      3|		return;
 1048|      3|	}
 1049|      0|	sctp_check_data_from_peer(stcb, &abort_flag);
 1050|      0|	if (abort_flag) {
  ------------------
  |  Branch (1050:6): [True: 0, False: 0]
  ------------------
 1051|      0|		return;
 1052|      0|	}
 1053|      0|#ifdef INVARIANTS
 1054|      0|	if (!TAILQ_EMPTY(&stcb->asoc.send_queue) ||
  ------------------
  |  Branch (1054:6): [True: 0, False: 0]
  ------------------
 1055|      0|	    !TAILQ_EMPTY(&stcb->asoc.sent_queue) ||
  ------------------
  |  Branch (1055:6): [True: 0, False: 0]
  ------------------
 1056|      0|	    sctp_is_there_unsent_data(stcb, SCTP_SO_NOT_LOCKED)) {
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  |  Branch (1056:6): [True: 0, False: 0]
  ------------------
 1057|      0|		panic("Queues are not empty when handling SHUTDOWN-ACK");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1058|      0|	}
 1059|      0|#endif
 1060|       |	/* stop the timer */
 1061|      0|	sctp_timer_stop(SCTP_TIMER_TYPE_SHUTDOWN, stcb->sctp_ep, stcb, net,
  ------------------
  |  |  535|      0|#define SCTP_TIMER_TYPE_SHUTDOWN	4
  ------------------
 1062|      0|	                SCTP_FROM_SCTP_INPUT + SCTP_LOC_10);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              	                SCTP_FROM_SCTP_INPUT + SCTP_LOC_10);
  ------------------
  |  |  778|      0|#define SCTP_LOC_10 0x0000000a
  ------------------
 1063|       |	/* send SHUTDOWN-COMPLETE */
 1064|      0|	sctp_send_shutdown_complete(stcb, net, 0);
 1065|       |	/* notify upper layer protocol */
 1066|      0|	if (stcb->sctp_socket) {
  ------------------
  |  Branch (1066:6): [True: 0, False: 0]
  ------------------
 1067|      0|		if ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (1067:7): [True: 0, False: 0]
  ------------------
 1068|      0|		    (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) {
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (1068:7): [True: 0, False: 0]
  ------------------
 1069|      0|			SCTP_SB_CLEAR(stcb->sctp_socket->so_snd);
  ------------------
  |  |  973|      0|	(sb).sb_cc = 0;		\
  |  |  974|      0|	(sb).sb_mb = NULL;	\
  |  |  975|      0|	(sb).sb_mbcnt = 0;
  ------------------
 1070|      0|		}
 1071|      0|		sctp_ulp_notify(SCTP_NOTIFY_ASSOC_DOWN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  704|      0|#define SCTP_NOTIFY_ASSOC_DOWN                   2
  ------------------
              		sctp_ulp_notify(SCTP_NOTIFY_ASSOC_DOWN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1072|      0|	}
 1073|      0|	SCTP_STAT_INCR_COUNTER32(sctps_shutdown);
  ------------------
  |  | 1127|      0|#define SCTP_STAT_INCR_COUNTER32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1074|       |	/* free the TCB but first save off the ep */
 1075|       |#if defined(__APPLE__) && !defined(__Userspace__)
 1076|       |	atomic_add_int(&stcb->asoc.refcnt, 1);
 1077|       |	SCTP_TCB_UNLOCK(stcb);
 1078|       |	SCTP_SOCKET_LOCK(so, 1);
 1079|       |	SCTP_TCB_LOCK(stcb);
 1080|       |	atomic_subtract_int(&stcb->asoc.refcnt, 1);
 1081|       |#endif
 1082|      0|	(void)sctp_free_assoc(stcb->sctp_ep, stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|      0|#define SCTP_NORMAL_PROC      0
  ------------------
 1083|      0|	                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_11);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              	                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_11);
  ------------------
  |  |  779|      0|#define SCTP_LOC_11 0x0000000b
  ------------------
 1084|       |#if defined(__APPLE__) && !defined(__Userspace__)
 1085|       |	SCTP_SOCKET_UNLOCK(so, 1);
 1086|       |#endif
 1087|      0|}
sctp_input.c:sctp_handle_error:
 1152|   349k|{
 1153|   349k|	struct sctp_error_cause *cause;
 1154|   349k|	struct sctp_association *asoc;
 1155|   349k|	uint32_t remaining_length, adjust;
 1156|   349k|	uint16_t code, cause_code, cause_length;
 1157|       |#if defined(__APPLE__) && !defined(__Userspace__)
 1158|       |	struct socket *so;
 1159|       |#endif
 1160|       |
 1161|       |	/* parse through all of the errors and process */
 1162|   349k|	asoc = &stcb->asoc;
 1163|   349k|	cause = (struct sctp_error_cause *)((caddr_t)ch +
 1164|   349k|	    sizeof(struct sctp_chunkhdr));
 1165|   349k|	remaining_length = ntohs(ch->chunk_length);
 1166|   349k|	if (remaining_length > limit) {
  ------------------
  |  Branch (1166:6): [True: 288, False: 349k]
  ------------------
 1167|    288|		remaining_length = limit;
 1168|    288|	}
 1169|   349k|	if (remaining_length >= sizeof(struct sctp_chunkhdr)) {
  ------------------
  |  Branch (1169:6): [True: 349k, False: 0]
  ------------------
 1170|   349k|		remaining_length -= sizeof(struct sctp_chunkhdr);
 1171|   349k|	} else {
 1172|      0|		remaining_length = 0;
 1173|      0|	}
 1174|   349k|	code = 0;
 1175|   389k|	while (remaining_length >= sizeof(struct sctp_error_cause)) {
  ------------------
  |  Branch (1175:9): [True: 60.5k, False: 328k]
  ------------------
 1176|       |		/* Process an Error Cause */
 1177|  60.5k|		cause_code = ntohs(cause->code);
 1178|  60.5k|		cause_length = ntohs(cause->length);
 1179|  60.5k|		if ((cause_length > remaining_length) || (cause_length == 0)) {
  ------------------
  |  Branch (1179:7): [True: 2.54k, False: 57.9k]
  |  Branch (1179:44): [True: 530, False: 57.4k]
  ------------------
 1180|       |			/* Invalid cause length, possibly due to truncation. */
 1181|  3.07k|			SCTPDBG(SCTP_DEBUG_INPUT1, "Bogus length in cause - bytes left: %u cause length: %u\n",
 1182|  3.07k|				remaining_length, cause_length);
 1183|  3.07k|			return (0);
 1184|  3.07k|		}
 1185|  57.4k|		if (code == 0) {
  ------------------
  |  Branch (1185:7): [True: 30.8k, False: 26.6k]
  ------------------
 1186|       |			/* report the first error cause */
 1187|  30.8k|			code = cause_code;
 1188|  30.8k|		}
 1189|  57.4k|		switch (cause_code) {
 1190|     30|		case SCTP_CAUSE_INVALID_STREAM:
  ------------------
  |  |  369|     30|#define SCTP_CAUSE_INVALID_STREAM	0x0001
  ------------------
  |  Branch (1190:3): [True: 30, False: 57.4k]
  ------------------
 1191|     40|		case SCTP_CAUSE_MISSING_PARAM:
  ------------------
  |  |  370|     40|#define SCTP_CAUSE_MISSING_PARAM	0x0002
  ------------------
  |  Branch (1191:3): [True: 10, False: 57.4k]
  ------------------
 1192|     44|		case SCTP_CAUSE_INVALID_PARAM:
  ------------------
  |  |  375|     44|#define SCTP_CAUSE_INVALID_PARAM	0x0007
  ------------------
  |  Branch (1192:3): [True: 4, False: 57.4k]
  ------------------
 1193|     48|		case SCTP_CAUSE_NO_USER_DATA:
  ------------------
  |  |  377|     48|#define SCTP_CAUSE_NO_USER_DATA		0x0009
  ------------------
  |  Branch (1193:3): [True: 4, False: 57.4k]
  ------------------
 1194|     48|			SCTPDBG(SCTP_DEBUG_INPUT1, "Software error we got a %u back? We have a bug :/ (or do they?)\n",
 1195|     48|				cause_code);
 1196|     48|			break;
 1197|  22.0k|		case SCTP_CAUSE_NAT_COLLIDING_STATE:
  ------------------
  |  |  391|  22.0k|#define SCTP_CAUSE_NAT_COLLIDING_STATE  0x00b0
  ------------------
  |  Branch (1197:3): [True: 22.0k, False: 35.3k]
  ------------------
 1198|  22.0k|			SCTPDBG(SCTP_DEBUG_INPUT2, "Received Colliding state, ERROR flags: %x\n",
 1199|  22.0k|				ch->chunk_flags);
 1200|  22.0k|			if (sctp_handle_nat_colliding_state(stcb)) {
  ------------------
  |  Branch (1200:8): [True: 17.3k, False: 4.74k]
  ------------------
 1201|  17.3k|				return (0);
 1202|  17.3k|			}
 1203|  4.74k|			break;
 1204|  4.74k|		case SCTP_CAUSE_NAT_MISSING_STATE:
  ------------------
  |  |  392|    241|#define SCTP_CAUSE_NAT_MISSING_STATE    0x00b1
  ------------------
  |  Branch (1204:3): [True: 241, False: 57.2k]
  ------------------
 1205|    241|			SCTPDBG(SCTP_DEBUG_INPUT2, "Received missing state, ERROR flags: %x\n",
 1206|    241|			                           ch->chunk_flags);
 1207|    241|			if (sctp_handle_nat_missing_state(stcb, net)) {
  ------------------
  |  Branch (1207:8): [True: 241, False: 0]
  ------------------
 1208|    241|				return (0);
 1209|    241|			}
 1210|      0|			break;
 1211|    780|		case SCTP_CAUSE_STALE_COOKIE:
  ------------------
  |  |  371|    780|#define SCTP_CAUSE_STALE_COOKIE		0x0003
  ------------------
  |  Branch (1211:3): [True: 780, False: 56.6k]
  ------------------
 1212|       |			/*
 1213|       |			 * We only act if we have echoed a cookie and are
 1214|       |			 * waiting.
 1215|       |			 */
 1216|    780|			if ((cause_length >= sizeof(struct sctp_error_stale_cookie)) &&
  ------------------
  |  Branch (1216:8): [True: 446, False: 334]
  ------------------
 1217|    780|			    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  472|    446|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    446|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  458|    446|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (1217:8): [True: 59, False: 387]
  ------------------
 1218|     59|				struct timeval now;
 1219|     59|				struct sctp_error_stale_cookie *stale_cookie;
 1220|     59|				uint64_t stale_time;
 1221|       |
 1222|     59|				asoc->stale_cookie_count++;
 1223|     59|				if (asoc->stale_cookie_count > asoc->max_init_times) {
  ------------------
  |  Branch (1223:9): [True: 0, False: 59]
  ------------------
 1224|      0|					sctp_abort_notification(stcb, false, true, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1225|       |#if defined(__APPLE__) && !defined(__Userspace__)
 1226|       |					so = SCTP_INP_SO(stcb->sctp_ep);
 1227|       |					atomic_add_int(&stcb->asoc.refcnt, 1);
 1228|       |					SCTP_TCB_UNLOCK(stcb);
 1229|       |					SCTP_SOCKET_LOCK(so, 1);
 1230|       |					SCTP_TCB_LOCK(stcb);
 1231|       |					atomic_subtract_int(&stcb->asoc.refcnt, 1);
 1232|       |#endif
 1233|      0|					(void)sctp_free_assoc(stcb->sctp_ep, stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|      0|#define SCTP_NORMAL_PROC      0
  ------------------
 1234|      0|					                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_12);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              					                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_12);
  ------------------
  |  |  780|      0|#define SCTP_LOC_12 0x0000000c
  ------------------
 1235|       |#if defined(__APPLE__) && !defined(__Userspace__)
 1236|       |					SCTP_SOCKET_UNLOCK(so, 1);
 1237|       |#endif
 1238|      0|					return (-1);
 1239|      0|				}
 1240|     59|				stale_cookie = (struct sctp_error_stale_cookie *)cause;
 1241|     59|				stale_time = ntohl(stale_cookie->stale_time);
 1242|     59|				if (stale_time == 0) {
  ------------------
  |  Branch (1242:9): [True: 3, False: 56]
  ------------------
 1243|       |					/* Use an RTT as an approximation. */
 1244|      3|					(void)SCTP_GETTIME_TIMEVAL(&now);
  ------------------
  |  |  991|      3|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 1245|      3|					timevalsub(&now, &asoc->time_entered);
  ------------------
  |  | 1110|      3|	do {                                       \
  |  | 1111|      3|		(tp1)->tv_sec -= (tp2)->tv_sec;    \
  |  | 1112|      3|		(tp1)->tv_usec -= (tp2)->tv_usec;  \
  |  | 1113|      3|		if ((tp1)->tv_usec < 0) {          \
  |  |  ------------------
  |  |  |  Branch (1113:7): [True: 0, False: 3]
  |  |  ------------------
  |  | 1114|      0|			(tp1)->tv_sec--;           \
  |  | 1115|      0|			(tp1)->tv_usec += 1000000; \
  |  | 1116|      0|		}                                  \
  |  | 1117|      3|	} while (0)
  |  |  ------------------
  |  |  |  Branch (1117:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1246|      3|					stale_time = (uint64_t)1000000 * (uint64_t)now.tv_sec + (uint64_t)now.tv_usec;
 1247|      3|					if (stale_time == 0) {
  ------------------
  |  Branch (1247:10): [True: 0, False: 3]
  ------------------
 1248|      0|						stale_time = 1;
 1249|      0|					}
 1250|      3|				}
 1251|       |				/*
 1252|       |				 * stale_time is in usec, convert it to msec.
 1253|       |				 * Round upwards, to ensure that it is non-zero.
 1254|       |				 */
 1255|     59|				stale_time = (stale_time + 999) / 1000;
 1256|       |				/* Double it, to be more robust on RTX. */
 1257|     59|				stale_time = 2 * stale_time;
 1258|     59|				asoc->cookie_preserve_req = (uint32_t)stale_time;
 1259|     59|				if (asoc->overall_error_count == 0) {
  ------------------
  |  Branch (1259:9): [True: 59, False: 0]
  ------------------
 1260|     59|					sctp_calculate_rto(stcb, asoc, net, &asoc->time_entered,
 1261|     59|					                   SCTP_RTT_FROM_NON_DATA);
  ------------------
  |  |  340|     59|#define SCTP_RTT_FROM_NON_DATA 0
  ------------------
 1262|     59|				}
 1263|     59|				asoc->overall_error_count = 0;
 1264|       |				/* Blast back to INIT state */
 1265|     59|				sctp_toss_old_cookies(stcb, &stcb->asoc);
 1266|     59|				sctp_stop_all_cookie_timers(stcb);
 1267|     59|				SCTP_SET_STATE(stcb, SCTP_STATE_COOKIE_WAIT);
  ------------------
  |  |  474|     59|	sctp_set_state(_stcb, _state)
  ------------------
 1268|     59|				(void)SCTP_GETTIME_TIMEVAL(&asoc->time_entered);
  ------------------
  |  |  991|     59|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 1269|     59|				sctp_send_initiate(stcb->sctp_ep, stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     59|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1270|     59|			}
 1271|    780|			break;
 1272|    780|		case SCTP_CAUSE_UNRESOLVABLE_ADDR:
  ------------------
  |  |  373|      3|#define SCTP_CAUSE_UNRESOLVABLE_ADDR	0x0005
  ------------------
  |  Branch (1272:3): [True: 3, False: 57.4k]
  ------------------
 1273|       |			/*
 1274|       |			 * Nothing we can do here, we don't do hostname
 1275|       |			 * addresses so if the peer does not like my IPv6
 1276|       |			 * (or IPv4 for that matter) it does not matter. If
 1277|       |			 * they don't support that type of address, they can
 1278|       |			 * NOT possibly get that packet type... i.e. with no
 1279|       |			 * IPv6 you can't receive a IPv6 packet. so we can
 1280|       |			 * safely ignore this one. If we ever added support
 1281|       |			 * for HOSTNAME Addresses, then we would need to do
 1282|       |			 * something here.
 1283|       |			 */
 1284|      3|			break;
 1285|  2.09k|		case SCTP_CAUSE_UNRECOG_CHUNK:
  ------------------
  |  |  374|  2.09k|#define SCTP_CAUSE_UNRECOG_CHUNK	0x0006
  ------------------
  |  Branch (1285:3): [True: 2.09k, False: 55.3k]
  ------------------
 1286|  2.09k|			if (cause_length >= sizeof(struct sctp_error_unrecognized_chunk)) {
  ------------------
  |  Branch (1286:8): [True: 1.81k, False: 280]
  ------------------
 1287|  1.81k|				struct sctp_error_unrecognized_chunk *unrec_chunk;
 1288|       |
 1289|  1.81k|				unrec_chunk = (struct sctp_error_unrecognized_chunk *)cause;
 1290|  1.81k|				sctp_process_unrecog_chunk(stcb, unrec_chunk->ch.chunk_type);
 1291|  1.81k|			}
 1292|  2.09k|			break;
 1293|  3.82k|		case SCTP_CAUSE_UNRECOG_PARAM:
  ------------------
  |  |  376|  3.82k|#define SCTP_CAUSE_UNRECOG_PARAM	0x0008
  ------------------
  |  Branch (1293:3): [True: 3.82k, False: 53.6k]
  ------------------
 1294|       |			/* XXX: We only consider the first parameter */
 1295|  3.82k|			if (cause_length >= sizeof(struct sctp_error_cause) + sizeof(struct sctp_paramhdr)) {
  ------------------
  |  Branch (1295:8): [True: 3.59k, False: 235]
  ------------------
 1296|  3.59k|				struct sctp_paramhdr *unrec_parameter;
 1297|       |
 1298|  3.59k|				unrec_parameter = (struct sctp_paramhdr *)(cause + 1);
 1299|  3.59k|				sctp_process_unrecog_param(stcb, ntohs(unrec_parameter->param_type));
 1300|  3.59k|			}
 1301|  3.82k|			break;
 1302|      0|		case SCTP_CAUSE_COOKIE_IN_SHUTDOWN:
  ------------------
  |  |  378|      0|#define SCTP_CAUSE_COOKIE_IN_SHUTDOWN	0x000a
  ------------------
  |  Branch (1302:3): [True: 0, False: 57.4k]
  ------------------
 1303|       |			/*
 1304|       |			 * We ignore this since the timer will drive out a
 1305|       |			 * new cookie anyway and there timer will drive us
 1306|       |			 * to send a SHUTDOWN_COMPLETE. We can't send one
 1307|       |			 * here since we don't have their tag.
 1308|       |			 */
 1309|      0|			break;
 1310|      3|		case SCTP_CAUSE_DELETING_LAST_ADDR:
  ------------------
  |  |  384|      3|#define SCTP_CAUSE_DELETING_LAST_ADDR	0x00a0
  ------------------
  |  Branch (1310:3): [True: 3, False: 57.4k]
  ------------------
 1311|      3|		case SCTP_CAUSE_RESOURCE_SHORTAGE:
  ------------------
  |  |  385|      3|#define SCTP_CAUSE_RESOURCE_SHORTAGE	0x00a1
  ------------------
  |  Branch (1311:3): [True: 0, False: 57.4k]
  ------------------
 1312|      3|		case SCTP_CAUSE_DELETING_SRC_ADDR:
  ------------------
  |  |  386|      3|#define SCTP_CAUSE_DELETING_SRC_ADDR	0x00a2
  ------------------
  |  Branch (1312:3): [True: 0, False: 57.4k]
  ------------------
 1313|       |			/*
 1314|       |			 * We should NOT get these here, but in a
 1315|       |			 * ASCONF-ACK.
 1316|       |			 */
 1317|      3|			SCTPDBG(SCTP_DEBUG_INPUT2, "Peer sends ASCONF errors in a error cause with code %u.\n",
 1318|      3|				cause_code);
 1319|      3|			break;
 1320|     13|		case SCTP_CAUSE_OUT_OF_RESC:
  ------------------
  |  |  372|     13|#define SCTP_CAUSE_OUT_OF_RESC		0x0004
  ------------------
  |  Branch (1320:3): [True: 13, False: 57.4k]
  ------------------
 1321|       |			/*
 1322|       |			 * And what, pray tell do we do with the fact that
 1323|       |			 * the peer is out of resources? Not really sure we
 1324|       |			 * could do anything but abort. I suspect this
 1325|       |			 * should have came WITH an abort instead of in a
 1326|       |			 * OP-ERROR.
 1327|       |			 */
 1328|     13|			break;
 1329|  28.3k|		default:
  ------------------
  |  Branch (1329:3): [True: 28.3k, False: 29.1k]
  ------------------
 1330|  28.3k|			SCTPDBG(SCTP_DEBUG_INPUT1, "sctp_handle_error: unknown code 0x%x\n",
 1331|  28.3k|				cause_code);
 1332|  28.3k|			break;
 1333|  57.4k|		}
 1334|  39.8k|		adjust = SCTP_SIZE32(cause_length);
  ------------------
  |  |  383|  39.8k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 1335|  39.8k|		if (remaining_length >= adjust) {
  ------------------
  |  Branch (1335:7): [True: 39.4k, False: 387]
  ------------------
 1336|  39.4k|			remaining_length -= adjust;
 1337|  39.4k|		} else {
 1338|    387|			remaining_length = 0;
 1339|    387|		}
 1340|  39.8k|		cause = (struct sctp_error_cause *)((caddr_t)cause + adjust);
 1341|  39.8k|	}
 1342|   328k|	sctp_ulp_notify(SCTP_NOTIFY_REMOTE_ERROR, stcb, code, ch, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  731|   328k|#define SCTP_NOTIFY_REMOTE_ERROR                29
  ------------------
              	sctp_ulp_notify(SCTP_NOTIFY_REMOTE_ERROR, stcb, code, ch, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|   328k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1343|   328k|	return (0);
 1344|   349k|}
sctp_input.c:sctp_process_unrecog_chunk:
 1091|  1.81k|{
 1092|  1.81k|	switch (chunk_type) {
 1093|    354|	case SCTP_ASCONF_ACK:
  ------------------
  |  |  480|    354|#define	SCTP_ASCONF_ACK		0x80
  ------------------
  |  Branch (1093:2): [True: 354, False: 1.46k]
  ------------------
 1094|    561|	case SCTP_ASCONF:
  ------------------
  |  |  492|    561|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (1094:2): [True: 207, False: 1.60k]
  ------------------
 1095|    561|		sctp_asconf_cleanup(stcb);
 1096|    561|		break;
 1097|    540|	case SCTP_IFORWARD_CUM_TSN:
  ------------------
  |  |  493|    540|#define SCTP_IFORWARD_CUM_TSN	0xc2
  ------------------
  |  Branch (1097:2): [True: 540, False: 1.27k]
  ------------------
 1098|    934|	case SCTP_FORWARD_CUM_TSN:
  ------------------
  |  |  490|    934|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
  |  Branch (1098:2): [True: 394, False: 1.42k]
  ------------------
 1099|    934|		stcb->asoc.prsctp_supported = 0;
 1100|    934|		break;
 1101|    319|	default:
  ------------------
  |  Branch (1101:2): [True: 319, False: 1.49k]
  ------------------
 1102|    319|		SCTPDBG(SCTP_DEBUG_INPUT2,
 1103|    319|			"Peer does not support chunk type %d (0x%x).\n",
 1104|    319|			chunk_type, chunk_type);
 1105|    319|		break;
 1106|  1.81k|	}
 1107|  1.81k|}
sctp_input.c:sctp_process_unrecog_param:
 1117|  3.59k|{
 1118|  3.59k|	switch (parameter_type) {
 1119|       |		/* pr-sctp draft */
 1120|    265|	case SCTP_PRSCTP_SUPPORTED:
  ------------------
  |  |  428|    265|#define SCTP_PRSCTP_SUPPORTED		0xc000
  ------------------
  |  Branch (1120:2): [True: 265, False: 3.32k]
  ------------------
 1121|    265|		stcb->asoc.prsctp_supported = 0;
 1122|    265|		break;
 1123|      0|	case SCTP_SUPPORTED_CHUNK_EXT:
  ------------------
  |  |  425|      0|#define SCTP_SUPPORTED_CHUNK_EXT	0x8008
  ------------------
  |  Branch (1123:2): [True: 0, False: 3.59k]
  ------------------
 1124|      0|		break;
 1125|       |		/* draft-ietf-tsvwg-addip-sctp */
 1126|    368|	case SCTP_HAS_NAT_SUPPORT:
  ------------------
  |  |  437|    368|#define SCTP_HAS_NAT_SUPPORT		0xc007
  ------------------
  |  Branch (1126:2): [True: 368, False: 3.22k]
  ------------------
 1127|    368|	        stcb->asoc.peer_supports_nat = 0;
 1128|    368|	        break;
 1129|    882|	case SCTP_ADD_IP_ADDRESS:
  ------------------
  |  |  430|    882|#define SCTP_ADD_IP_ADDRESS		0xc001
  ------------------
  |  Branch (1129:2): [True: 882, False: 2.71k]
  ------------------
 1130|  1.09k|	case SCTP_DEL_IP_ADDRESS:
  ------------------
  |  |  431|  1.09k|#define SCTP_DEL_IP_ADDRESS		0xc002
  ------------------
  |  Branch (1130:2): [True: 215, False: 3.37k]
  ------------------
 1131|  1.37k|	case SCTP_SET_PRIM_ADDR:
  ------------------
  |  |  433|  1.37k|#define SCTP_SET_PRIM_ADDR		0xc004
  ------------------
  |  Branch (1131:2): [True: 276, False: 3.31k]
  ------------------
 1132|  1.37k|		stcb->asoc.asconf_supported = 0;
 1133|  1.37k|		break;
 1134|    457|	case SCTP_SUCCESS_REPORT:
  ------------------
  |  |  434|    457|#define SCTP_SUCCESS_REPORT		0xc005
  ------------------
  |  Branch (1134:2): [True: 457, False: 3.13k]
  ------------------
 1135|    761|	case SCTP_ERROR_CAUSE_IND:
  ------------------
  |  |  432|    761|#define SCTP_ERROR_CAUSE_IND		0xc003
  ------------------
  |  Branch (1135:2): [True: 304, False: 3.28k]
  ------------------
 1136|    761|		SCTPDBG(SCTP_DEBUG_INPUT2, "Huh, the peer does not support success? or error cause?\n");
 1137|    761|		SCTPDBG(SCTP_DEBUG_INPUT2,
 1138|    761|			"Turning off ASCONF to this strange peer\n");
 1139|    761|		stcb->asoc.asconf_supported = 0;
 1140|    761|		break;
 1141|    826|	default:
  ------------------
  |  Branch (1141:2): [True: 826, False: 2.76k]
  ------------------
 1142|    826|		SCTPDBG(SCTP_DEBUG_INPUT2,
 1143|    826|			"Peer does not support param type %d (0x%x)??\n",
 1144|    826|			parameter_type, parameter_type);
 1145|    826|		break;
 1146|  3.59k|	}
 1147|  3.59k|}
sctp_input.c:sctp_handle_cookie_echo:
 2521|     47|{
 2522|     47|	struct sctp_state_cookie *cookie;
 2523|     47|	struct sctp_tcb *l_stcb = *stcb;
 2524|     47|	struct sctp_inpcb *l_inp;
 2525|     47|	struct sockaddr *to;
 2526|     47|	struct sctp_pcb *ep;
 2527|     47|	struct mbuf *m_sig;
 2528|     47|	uint8_t calc_sig[SCTP_SIGNATURE_SIZE], tmp_sig[SCTP_SIGNATURE_SIZE];
 2529|     47|	uint8_t *sig;
 2530|     47|#if defined(__Userspace__) && defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
 2531|     47|	uint8_t cookie_ok = 1;
 2532|       |#else
 2533|       |	uint8_t cookie_ok = 0;
 2534|       |#endif
 2535|     47|	unsigned int sig_offset, cookie_offset;
 2536|     47|	unsigned int cookie_len;
 2537|     47|	struct timeval now;
 2538|     47|	struct timeval time_entered, time_expires;
 2539|     47|	int notification = 0;
 2540|     47|	struct sctp_nets *netl;
 2541|     47|	int had_a_existing_tcb = 0;
 2542|     47|	int send_int_conf = 0;
 2543|     47|#ifdef INET
 2544|     47|	struct sockaddr_in sin;
 2545|     47|#endif
 2546|     47|#ifdef INET6
 2547|     47|	struct sockaddr_in6 sin6;
 2548|     47|#endif
 2549|     47|#if defined(__Userspace__)
 2550|     47|	struct sockaddr_conn sconn;
 2551|     47|#endif
 2552|       |
 2553|     47|	SCTPDBG(SCTP_DEBUG_INPUT2,
 2554|     47|		"sctp_handle_cookie: handling COOKIE-ECHO\n");
 2555|       |
 2556|     47|	if (inp_p == NULL) {
  ------------------
  |  Branch (2556:6): [True: 0, False: 47]
  ------------------
 2557|      0|		return (NULL);
 2558|      0|	}
 2559|     47|	cookie = &cp->cookie;
 2560|     47|	cookie_offset = offset + sizeof(struct sctp_chunkhdr);
 2561|     47|	cookie_len = ntohs(cp->ch.chunk_length);
 2562|       |
 2563|     47|	if (cookie_len < sizeof(struct sctp_cookie_echo_chunk) +
  ------------------
  |  Branch (2563:6): [True: 14, False: 33]
  ------------------
 2564|     47|	    sizeof(struct sctp_init_chunk) +
 2565|     47|	    sizeof(struct sctp_init_ack_chunk) + SCTP_SIGNATURE_SIZE) {
  ------------------
  |  |  300|     47|#define SCTP_SIGNATURE_SIZE	SCTP_AUTH_DIGEST_LEN_SHA1
  |  |  ------------------
  |  |  |  |   41|     47|#define SCTP_AUTH_DIGEST_LEN_SHA1	20
  |  |  ------------------
  ------------------
 2566|       |		/* cookie too small */
 2567|     14|		return (NULL);
 2568|     14|	}
 2569|     33|	if ((cookie->peerport != sh->src_port) ||
  ------------------
  |  Branch (2569:6): [True: 14, False: 19]
  ------------------
 2570|     33|	    (cookie->myport != sh->dest_port) ||
  ------------------
  |  Branch (2570:6): [True: 15, False: 4]
  ------------------
 2571|     33|	    (cookie->my_vtag != sh->v_tag)) {
  ------------------
  |  Branch (2571:6): [True: 4, False: 0]
  ------------------
 2572|       |		/*
 2573|       |		 * invalid ports or bad tag.  Note that we always leave the
 2574|       |		 * v_tag in the header in network order and when we stored
 2575|       |		 * it in the my_vtag slot we also left it in network order.
 2576|       |		 * This maintains the match even though it may be in the
 2577|       |		 * opposite byte order of the machine :->
 2578|       |		 */
 2579|     33|		return (NULL);
 2580|     33|	}
 2581|      0|#if defined(__Userspace__)
 2582|       |	/*
 2583|       |	 * Recover the AF_CONN addresses within the cookie.
 2584|       |	 * This needs to be done in the buffer provided for later processing
 2585|       |	 * of the cookie and in the mbuf chain for HMAC validation.
 2586|       |	 */
 2587|      0|	if ((cookie->addr_type == SCTP_CONN_ADDRESS) && (src->sa_family == AF_CONN)) {
  ------------------
  |  |  392|      0|#define SCTP_CONN_ADDRESS		0x0004
  ------------------
              	if ((cookie->addr_type == SCTP_CONN_ADDRESS) && (src->sa_family == AF_CONN)) {
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (2587:6): [True: 0, False: 0]
  |  Branch (2587:50): [True: 0, False: 0]
  ------------------
 2588|      0|		struct sockaddr_conn *sconnp = (struct sockaddr_conn *)src;
 2589|       |
 2590|      0|		memcpy(cookie->address, &sconnp->sconn_addr , sizeof(void *));
 2591|      0|		m_copyback(m, cookie_offset + offsetof(struct sctp_state_cookie, address),
 2592|      0|		           (int)sizeof(void *), (caddr_t)&sconnp->sconn_addr);
 2593|      0|	}
 2594|      0|	if ((cookie->laddr_type == SCTP_CONN_ADDRESS) && (dst->sa_family == AF_CONN)) {
  ------------------
  |  |  392|      0|#define SCTP_CONN_ADDRESS		0x0004
  ------------------
              	if ((cookie->laddr_type == SCTP_CONN_ADDRESS) && (dst->sa_family == AF_CONN)) {
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (2594:6): [True: 0, False: 0]
  |  Branch (2594:51): [True: 0, False: 0]
  ------------------
 2595|      0|		struct sockaddr_conn *sconnp = (struct sockaddr_conn *)dst;
 2596|       |
 2597|      0|		memcpy(cookie->laddress, &sconnp->sconn_addr , sizeof(void *));
 2598|      0|		m_copyback(m, cookie_offset + offsetof(struct sctp_state_cookie, laddress),
 2599|      0|		           (int)sizeof(void *), (caddr_t)&sconnp->sconn_addr);
 2600|      0|	}
 2601|      0|#endif
 2602|       |	/*
 2603|       |	 * split off the signature into its own mbuf (since it should not be
 2604|       |	 * calculated in the sctp_hmac_m() call).
 2605|       |	 */
 2606|      0|	sig_offset = offset + cookie_len - SCTP_SIGNATURE_SIZE;
  ------------------
  |  |  300|      0|#define SCTP_SIGNATURE_SIZE	SCTP_AUTH_DIGEST_LEN_SHA1
  |  |  ------------------
  |  |  |  |   41|      0|#define SCTP_AUTH_DIGEST_LEN_SHA1	20
  |  |  ------------------
  ------------------
 2607|      0|	m_sig = m_split(m, sig_offset, M_NOWAIT);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 2608|      0|	if (m_sig == NULL) {
  ------------------
  |  Branch (2608:6): [True: 0, False: 0]
  ------------------
 2609|       |		/* out of memory or ?? */
 2610|      0|		return (NULL);
 2611|      0|	}
 2612|       |#ifdef SCTP_MBUF_LOGGING
 2613|       |	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MBUF_LOGGING_ENABLE) {
 2614|       |		sctp_log_mbc(m_sig, SCTP_MBUF_SPLIT);
 2615|       |	}
 2616|       |#endif
 2617|       |
 2618|       |	/*
 2619|       |	 * compute the signature/digest for the cookie
 2620|       |	 */
 2621|      0|	if (l_stcb != NULL) {
  ------------------
  |  Branch (2621:6): [True: 0, False: 0]
  ------------------
 2622|      0|		atomic_add_int(&l_stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 2623|      0|		SCTP_TCB_UNLOCK(l_stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2624|      0|	}
 2625|      0|	l_inp = *inp_p;
 2626|      0|	SCTP_INP_RLOCK(l_inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2627|      0|	if (l_stcb != NULL) {
  ------------------
  |  Branch (2627:6): [True: 0, False: 0]
  ------------------
 2628|      0|		SCTP_TCB_LOCK(l_stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2629|      0|		atomic_subtract_int(&l_stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 2630|      0|	}
 2631|      0|	if (l_inp->sctp_flags & (SCTP_PCB_FLAGS_SOCKET_GONE | SCTP_PCB_FLAGS_SOCKET_ALLGONE)) {
  ------------------
  |  |  549|      0|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
              	if (l_inp->sctp_flags & (SCTP_PCB_FLAGS_SOCKET_GONE | SCTP_PCB_FLAGS_SOCKET_ALLGONE)) {
  ------------------
  |  |  550|      0|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (2631:6): [True: 0, False: 0]
  ------------------
 2632|      0|		SCTP_INP_RUNLOCK(l_inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2633|      0|		sctp_m_freem(m_sig);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 2634|      0|		return (NULL);
 2635|      0|	}
 2636|      0|	ep = &(*inp_p)->sctp_ep;
 2637|       |	/* which cookie is it? */
 2638|      0|	if ((cookie->time_entered.tv_sec < ep->time_of_secret_change) &&
  ------------------
  |  Branch (2638:6): [True: 0, False: 0]
  ------------------
 2639|      0|	    (ep->current_secret_number != ep->last_secret_number)) {
  ------------------
  |  Branch (2639:6): [True: 0, False: 0]
  ------------------
 2640|       |		/* it's the old cookie */
 2641|      0|		(void)sctp_hmac_m(SCTP_HMAC,
  ------------------
  |  |  299|      0|#define SCTP_HMAC		SCTP_AUTH_HMAC_ID_SHA1
  |  |  ------------------
  |  |  |  |  691|      0|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  |  |  ------------------
  ------------------
 2642|      0|		    (uint8_t *)ep->secret_key[(int)ep->last_secret_number],
 2643|      0|		    SCTP_SECRET_SIZE, m, cookie_offset, calc_sig, 0);
  ------------------
  |  |  698|      0|#define SCTP_SECRET_SIZE	32	/* number of octets in a 256 bits */
  ------------------
 2644|      0|	} else {
 2645|       |		/* it's the current cookie */
 2646|      0|		(void)sctp_hmac_m(SCTP_HMAC,
  ------------------
  |  |  299|      0|#define SCTP_HMAC		SCTP_AUTH_HMAC_ID_SHA1
  |  |  ------------------
  |  |  |  |  691|      0|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  |  |  ------------------
  ------------------
 2647|      0|		    (uint8_t *)ep->secret_key[(int)ep->current_secret_number],
 2648|      0|		    SCTP_SECRET_SIZE, m, cookie_offset, calc_sig, 0);
  ------------------
  |  |  698|      0|#define SCTP_SECRET_SIZE	32	/* number of octets in a 256 bits */
  ------------------
 2649|      0|	}
 2650|       |	/* get the signature */
 2651|      0|	SCTP_INP_RUNLOCK(l_inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2652|      0|	sig = (uint8_t *) sctp_m_getptr(m_sig, 0, SCTP_SIGNATURE_SIZE, (uint8_t *) & tmp_sig);
  ------------------
  |  |  300|      0|#define SCTP_SIGNATURE_SIZE	SCTP_AUTH_DIGEST_LEN_SHA1
  |  |  ------------------
  |  |  |  |   41|      0|#define SCTP_AUTH_DIGEST_LEN_SHA1	20
  |  |  ------------------
  ------------------
 2653|      0|	if (sig == NULL) {
  ------------------
  |  Branch (2653:6): [True: 0, False: 0]
  ------------------
 2654|       |		/* couldn't find signature */
 2655|      0|		sctp_m_freem(m_sig);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 2656|      0|		return (NULL);
 2657|      0|	}
 2658|       |	/* compare the received digest with the computed digest */
 2659|      0|	if (timingsafe_bcmp(calc_sig, sig, SCTP_SIGNATURE_SIZE) != 0) {
  ------------------
  |  |  300|      0|#define SCTP_SIGNATURE_SIZE	SCTP_AUTH_DIGEST_LEN_SHA1
  |  |  ------------------
  |  |  |  |   41|      0|#define SCTP_AUTH_DIGEST_LEN_SHA1	20
  |  |  ------------------
  ------------------
  |  Branch (2659:6): [True: 0, False: 0]
  ------------------
 2660|       |		/* try the old cookie? */
 2661|      0|		if ((cookie->time_entered.tv_sec == ep->time_of_secret_change) &&
  ------------------
  |  Branch (2661:7): [True: 0, False: 0]
  ------------------
 2662|      0|		    (ep->current_secret_number != ep->last_secret_number)) {
  ------------------
  |  Branch (2662:7): [True: 0, False: 0]
  ------------------
 2663|       |			/* compute digest with old */
 2664|      0|			(void)sctp_hmac_m(SCTP_HMAC,
  ------------------
  |  |  299|      0|#define SCTP_HMAC		SCTP_AUTH_HMAC_ID_SHA1
  |  |  ------------------
  |  |  |  |  691|      0|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  |  |  ------------------
  ------------------
 2665|      0|			    (uint8_t *)ep->secret_key[(int)ep->last_secret_number],
 2666|      0|			    SCTP_SECRET_SIZE, m, cookie_offset, calc_sig, 0);
  ------------------
  |  |  698|      0|#define SCTP_SECRET_SIZE	32	/* number of octets in a 256 bits */
  ------------------
 2667|       |			/* compare */
 2668|      0|			if (timingsafe_bcmp(calc_sig, sig, SCTP_SIGNATURE_SIZE) == 0)
  ------------------
  |  |  300|      0|#define SCTP_SIGNATURE_SIZE	SCTP_AUTH_DIGEST_LEN_SHA1
  |  |  ------------------
  |  |  |  |   41|      0|#define SCTP_AUTH_DIGEST_LEN_SHA1	20
  |  |  ------------------
  ------------------
  |  Branch (2668:8): [True: 0, False: 0]
  ------------------
 2669|      0|				cookie_ok = 1;
 2670|      0|		}
 2671|      0|	} else {
 2672|      0|		cookie_ok = 1;
 2673|      0|	}
 2674|       |
 2675|       |	/*
 2676|       |	 * Now before we continue we must reconstruct our mbuf so that
 2677|       |	 * normal processing of any other chunks will work.
 2678|       |	 */
 2679|      0|	{
 2680|      0|		struct mbuf *m_at;
 2681|       |
 2682|      0|		m_at = m;
 2683|      0|		while (SCTP_BUF_NEXT(m_at) != NULL) {
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (2683:10): [True: 0, False: 0]
  ------------------
 2684|      0|			m_at = SCTP_BUF_NEXT(m_at);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 2685|      0|		}
 2686|      0|		SCTP_BUF_NEXT(m_at) = m_sig;
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 2687|      0|	}
 2688|       |
 2689|      0|	if (cookie_ok == 0) {
  ------------------
  |  Branch (2689:6): [True: 0, False: 0]
  ------------------
 2690|      0|		SCTPDBG(SCTP_DEBUG_INPUT2, "handle_cookie_echo: cookie signature validation failed!\n");
 2691|      0|		SCTPDBG(SCTP_DEBUG_INPUT2,
 2692|      0|			"offset = %u, cookie_offset = %u, sig_offset = %u\n",
 2693|      0|			(uint32_t) offset, cookie_offset, sig_offset);
 2694|      0|		return (NULL);
 2695|      0|	}
 2696|       |
 2697|      0|	if (sctp_ticks_to_msecs(cookie->cookie_life) > SCTP_MAX_COOKIE_LIFE) {
  ------------------
  |  |  638|      0|#define SCTP_MAX_COOKIE_LIFE  3600000 /* 1 hour in ms */
  ------------------
  |  Branch (2697:6): [True: 0, False: 0]
  ------------------
 2698|      0|		SCTPDBG(SCTP_DEBUG_INPUT2, "handle_cookie_echo: Invalid cookie lifetime\n");
 2699|      0|		return (NULL);
 2700|      0|	}
 2701|      0|	time_entered.tv_sec = cookie->time_entered.tv_sec;
 2702|      0|	time_entered.tv_usec = cookie->time_entered.tv_usec;
 2703|      0|	if ((time_entered.tv_sec < 0) ||
  ------------------
  |  Branch (2703:6): [True: 0, False: 0]
  ------------------
 2704|      0|	    (time_entered.tv_usec < 0) ||
  ------------------
  |  Branch (2704:6): [True: 0, False: 0]
  ------------------
 2705|      0|	    (time_entered.tv_usec >= 1000000)) {
  ------------------
  |  Branch (2705:6): [True: 0, False: 0]
  ------------------
 2706|       |		/* Invalid time stamp. Cookie must have been modified. */
 2707|      0|		SCTPDBG(SCTP_DEBUG_INPUT2, "handle_cookie_echo: Invalid time stamp\n");
 2708|      0|		return (NULL);
 2709|      0|	}
 2710|      0|	(void)SCTP_GETTIME_TIMEVAL(&now);
  ------------------
  |  |  991|      0|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 2711|      0|#if !(defined(__FreeBSD__) && !defined(__Userspace__))
 2712|      0|	if (timercmp(&now, &time_entered, <)) {
 2713|       |#else
 2714|       |	if (timevalcmp(&now, &time_entered, <)) {
 2715|       |#endif
 2716|      0|		SCTPDBG(SCTP_DEBUG_INPUT2, "handle_cookie_echo: cookie generated in the future!\n");
 2717|      0|		return (NULL);
 2718|      0|	}
 2719|       |	/*
 2720|       |	 * Check the cookie timestamps to be sure it's not stale.
 2721|       |	 * cookie_life is in ticks, so we convert to seconds.
 2722|       |	 */
 2723|      0|	time_expires.tv_sec = time_entered.tv_sec + sctp_ticks_to_secs(cookie->cookie_life);
 2724|      0|	time_expires.tv_usec = time_entered.tv_usec;
 2725|      0|#if !(defined(__FreeBSD__) && !defined(__Userspace__))
 2726|      0|	if (timercmp(&now, &time_expires, >))
 2727|       |#else
 2728|       |	if (timevalcmp(&now, &time_expires, >))
 2729|       |#endif
 2730|      0|	{
 2731|       |		/* cookie is stale! */
 2732|      0|		struct mbuf *op_err;
 2733|      0|		struct sctp_error_stale_cookie *cause;
 2734|      0|		struct timeval diff;
 2735|      0|		uint32_t staleness;
 2736|       |
 2737|      0|		op_err = sctp_get_mbuf_for_msg(sizeof(struct sctp_error_stale_cookie),
 2738|      0|		                               0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		                               0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|      0|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 2739|      0|		if (op_err == NULL) {
  ------------------
  |  Branch (2739:7): [True: 0, False: 0]
  ------------------
 2740|       |			/* FOOBAR */
 2741|      0|			return (NULL);
 2742|      0|		}
 2743|       |		/* Set the len */
 2744|      0|		SCTP_BUF_LEN(op_err) = sizeof(struct sctp_error_stale_cookie);
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 2745|      0|		cause = mtod(op_err, struct sctp_error_stale_cookie *);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 2746|      0|		cause->cause.code = htons(SCTP_CAUSE_STALE_COOKIE);
 2747|      0|		cause->cause.length = htons(sizeof(struct sctp_error_stale_cookie));
 2748|      0|#if !(defined(__FreeBSD__) && !defined(__Userspace__))
 2749|      0|		timersub(&now, &time_expires, &diff);
 2750|       |#else
 2751|       |		diff = now;
 2752|       |		timevalsub(&diff, &time_expires);
 2753|       |#endif
 2754|      0|		if ((uint32_t)diff.tv_sec > UINT32_MAX / 1000000) {
  ------------------
  |  Branch (2754:7): [True: 0, False: 0]
  ------------------
 2755|      0|			staleness = UINT32_MAX;
 2756|      0|		} else {
 2757|      0|			staleness = (uint32_t)diff.tv_sec * 1000000;
 2758|      0|		}
 2759|      0|		if (UINT32_MAX - staleness >= (uint32_t)diff.tv_usec) {
  ------------------
  |  Branch (2759:7): [True: 0, False: 0]
  ------------------
 2760|      0|			staleness += (uint32_t)diff.tv_usec;
 2761|      0|		} else {
 2762|      0|			staleness = UINT32_MAX;
 2763|      0|		}
 2764|      0|		cause->stale_time = htonl(staleness);
 2765|      0|		sctp_send_operr_to(src, dst, sh, cookie->peers_vtag, op_err,
 2766|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2767|       |		                   mflowtype, mflowid, l_inp->fibnum,
 2768|       |#endif
 2769|      0|		                   vrf_id, port);
 2770|      0|		return (NULL);
 2771|      0|	}
 2772|       |	/*
 2773|       |	 * Now we must see with the lookup address if we have an existing
 2774|       |	 * asoc. This will only happen if we were in the COOKIE-WAIT state
 2775|       |	 * and a INIT collided with us and somewhere the peer sent the
 2776|       |	 * cookie on another address besides the single address our assoc
 2777|       |	 * had for him. In this case we will have one of the tie-tags set at
 2778|       |	 * least AND the address field in the cookie can be used to look it
 2779|       |	 * up.
 2780|       |	 */
 2781|      0|	to = NULL;
 2782|      0|	switch (cookie->addr_type) {
 2783|      0|#ifdef INET6
 2784|      0|	case SCTP_IPV6_ADDRESS:
  ------------------
  |  |  395|      0|#define SCTP_IPV6_ADDRESS		0x0006
  ------------------
  |  Branch (2784:2): [True: 0, False: 0]
  ------------------
 2785|      0|		memset(&sin6, 0, sizeof(sin6));
 2786|      0|		sin6.sin6_family = AF_INET6;
 2787|       |#ifdef HAVE_SIN6_LEN
 2788|       |		sin6.sin6_len = sizeof(sin6);
 2789|       |#endif
 2790|      0|		sin6.sin6_port = sh->src_port;
 2791|      0|		sin6.sin6_scope_id = cookie->scope_id;
 2792|      0|		memcpy(&sin6.sin6_addr.s6_addr, cookie->address,
 2793|      0|		    sizeof(sin6.sin6_addr.s6_addr));
 2794|      0|		to = (struct sockaddr *)&sin6;
 2795|      0|		break;
 2796|      0|#endif
 2797|      0|#ifdef INET
 2798|      0|	case SCTP_IPV4_ADDRESS:
  ------------------
  |  |  394|      0|#define SCTP_IPV4_ADDRESS		0x0005
  ------------------
  |  Branch (2798:2): [True: 0, False: 0]
  ------------------
 2799|      0|		memset(&sin, 0, sizeof(sin));
 2800|      0|		sin.sin_family = AF_INET;
 2801|       |#ifdef HAVE_SIN_LEN
 2802|       |		sin.sin_len = sizeof(sin);
 2803|       |#endif
 2804|      0|		sin.sin_port = sh->src_port;
 2805|      0|		sin.sin_addr.s_addr = cookie->address[0];
 2806|      0|		to = (struct sockaddr *)&sin;
 2807|      0|		break;
 2808|      0|#endif
 2809|      0|#if defined(__Userspace__)
 2810|      0|	case SCTP_CONN_ADDRESS:
  ------------------
  |  |  392|      0|#define SCTP_CONN_ADDRESS		0x0004
  ------------------
  |  Branch (2810:2): [True: 0, False: 0]
  ------------------
 2811|      0|		memset(&sconn, 0, sizeof(struct sockaddr_conn));
 2812|      0|		sconn.sconn_family = AF_CONN;
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
 2813|       |#ifdef HAVE_SCONN_LEN
 2814|       |		sconn.sconn_len = sizeof(struct sockaddr_conn);
 2815|       |#endif
 2816|      0|		sconn.sconn_port = sh->src_port;
 2817|      0|		memcpy(&sconn.sconn_addr, cookie->address, sizeof(void *));
 2818|      0|		to = (struct sockaddr *)&sconn;
 2819|      0|		break;
 2820|      0|#endif
 2821|      0|	default:
  ------------------
  |  Branch (2821:2): [True: 0, False: 0]
  ------------------
 2822|       |		/* This should not happen */
 2823|      0|		return (NULL);
 2824|      0|	}
 2825|      0|	if (*stcb == NULL) {
  ------------------
  |  Branch (2825:6): [True: 0, False: 0]
  ------------------
 2826|       |		/* Yep, lets check */
 2827|      0|		*stcb = sctp_findassociation_ep_addr(inp_p, to, netp, dst, NULL);
 2828|      0|		if (*stcb == NULL) {
  ------------------
  |  Branch (2828:7): [True: 0, False: 0]
  ------------------
 2829|       |			/*
 2830|       |			 * We should have only got back the same inp. If we
 2831|       |			 * got back a different ep we have a problem. The
 2832|       |			 * original findep got back l_inp and now
 2833|       |			 */
 2834|      0|			if (l_inp != *inp_p) {
  ------------------
  |  Branch (2834:8): [True: 0, False: 0]
  ------------------
 2835|      0|				SCTP_PRINTF("Bad problem find_ep got a diff inp then special_locate?\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 2836|      0|			}
 2837|      0|		} else {
 2838|      0|			if (*locked_tcb == NULL) {
  ------------------
  |  Branch (2838:8): [True: 0, False: 0]
  ------------------
 2839|       |				/* In this case we found the assoc only
 2840|       |				 * after we locked the create lock. This means
 2841|       |				 * we are in a colliding case and we must make
 2842|       |				 * sure that we unlock the tcb if its one of the
 2843|       |				 * cases where we throw away the incoming packets.
 2844|       |				 */
 2845|      0|				*locked_tcb = *stcb;
 2846|       |
 2847|       |				/* We must also increment the inp ref count
 2848|       |				 * since the ref_count flags was set when we
 2849|       |				 * did not find the TCB, now we found it which
 2850|       |				 * reduces the refcount.. we must raise it back
 2851|       |				 * out to balance it all :-)
 2852|       |				 */
 2853|      0|				SCTP_INP_INCR_REF((*stcb)->sctp_ep);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 2854|      0|				if ((*stcb)->sctp_ep != l_inp) {
  ------------------
  |  Branch (2854:9): [True: 0, False: 0]
  ------------------
 2855|      0|					SCTP_PRINTF("Huh? ep:%p diff then l_inp:%p?\n",
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 2856|      0|						    (void *)(*stcb)->sctp_ep, (void *)l_inp);
 2857|      0|				}
 2858|      0|			}
 2859|      0|		}
 2860|      0|	}
 2861|       |
 2862|      0|	cookie_len -= SCTP_SIGNATURE_SIZE;
  ------------------
  |  |  300|      0|#define SCTP_SIGNATURE_SIZE	SCTP_AUTH_DIGEST_LEN_SHA1
  |  |  ------------------
  |  |  |  |   41|      0|#define SCTP_AUTH_DIGEST_LEN_SHA1	20
  |  |  ------------------
  ------------------
 2863|      0|	if (*stcb == NULL) {
  ------------------
  |  Branch (2863:6): [True: 0, False: 0]
  ------------------
 2864|       |		/* this is the "normal" case... get a new TCB */
 2865|      0|		*stcb = sctp_process_cookie_new(m, iphlen, offset, src, dst, sh,
 2866|      0|		                                cookie, cookie_len, *inp_p,
 2867|      0|		                                netp, to, &notification,
 2868|      0|		                                auth_skipped, auth_offset, auth_len,
 2869|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2870|       |		                                mflowtype, mflowid,
 2871|       |#endif
 2872|      0|		                                vrf_id, port);
 2873|      0|	} else {
 2874|       |		/* this is abnormal... cookie-echo on existing TCB */
 2875|      0|		had_a_existing_tcb = 1;
 2876|      0|		*stcb = sctp_process_cookie_existing(m, iphlen, offset,
 2877|      0|		                                     src, dst, sh,
 2878|      0|		                                     cookie, cookie_len, *inp_p, *stcb, netp, to,
 2879|      0|		                                     &notification, auth_skipped, auth_offset, auth_len,
 2880|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2881|       |		                                     mflowtype, mflowid,
 2882|       |#endif
 2883|      0|		                                     vrf_id, port);
 2884|      0|		if (*stcb == NULL) {
  ------------------
  |  Branch (2884:7): [True: 0, False: 0]
  ------------------
 2885|      0|			*locked_tcb = NULL;
 2886|      0|		}
 2887|      0|	}
 2888|       |
 2889|      0|	if (*stcb == NULL) {
  ------------------
  |  Branch (2889:6): [True: 0, False: 0]
  ------------------
 2890|       |		/* still no TCB... must be bad cookie-echo */
 2891|      0|		return (NULL);
 2892|      0|	}
 2893|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2894|       |	if (*netp != NULL) {
 2895|       |		(*netp)->flowtype = mflowtype;
 2896|       |		(*netp)->flowid = mflowid;
 2897|       |	}
 2898|       |#endif
 2899|       |	/*
 2900|       |	 * Ok, we built an association so confirm the address we sent the
 2901|       |	 * INIT-ACK to.
 2902|       |	 */
 2903|      0|	netl = sctp_findnet(*stcb, to);
 2904|       |	/*
 2905|       |	 * This code should in theory NOT run but
 2906|       |	 */
 2907|      0|	if (netl == NULL) {
  ------------------
  |  Branch (2907:6): [True: 0, False: 0]
  ------------------
 2908|       |		/* TSNH! Huh, why do I need to add this address here? */
 2909|      0|		if (sctp_add_remote_addr(*stcb, to, NULL, port,
  ------------------
  |  Branch (2909:7): [True: 0, False: 0]
  ------------------
 2910|      0|		                         SCTP_DONOT_SETSCOPE, SCTP_IN_COOKIE_PROC)) {
  ------------------
  |  |  822|      0|#define SCTP_DONOT_SETSCOPE 0
  ------------------
              		                         SCTP_DONOT_SETSCOPE, SCTP_IN_COOKIE_PROC)) {
  ------------------
  |  |  815|      0|#define SCTP_IN_COOKIE_PROC 100
  ------------------
 2911|      0|			return (NULL);
 2912|      0|		}
 2913|      0|		netl = sctp_findnet(*stcb, to);
 2914|      0|	}
 2915|      0|	if (netl) {
  ------------------
  |  Branch (2915:6): [True: 0, False: 0]
  ------------------
 2916|      0|		if (netl->dest_state & SCTP_ADDR_UNCONFIRMED) {
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (2916:7): [True: 0, False: 0]
  ------------------
 2917|      0|			netl->dest_state &= ~SCTP_ADDR_UNCONFIRMED;
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
 2918|      0|			(void)sctp_set_primary_addr((*stcb), (struct sockaddr *)NULL,
 2919|      0|			    netl);
 2920|      0|			send_int_conf = 1;
 2921|      0|		}
 2922|      0|	}
 2923|      0|	sctp_start_net_timers(*stcb);
 2924|      0|	if ((*inp_p)->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) {
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (2924:6): [True: 0, False: 0]
  ------------------
 2925|      0|		if (!had_a_existing_tcb ||
  ------------------
  |  Branch (2925:7): [True: 0, False: 0]
  ------------------
 2926|      0|		    (((*inp_p)->sctp_flags & SCTP_PCB_FLAGS_CONNECTED) == 0)) {
  ------------------
  |  |  542|      0|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
  |  Branch (2926:7): [True: 0, False: 0]
  ------------------
 2927|       |			/*
 2928|       |			 * If we have a NEW cookie or the connect never
 2929|       |			 * reached the connected state during collision we
 2930|       |			 * must do the TCP accept thing.
 2931|       |			 */
 2932|      0|			struct socket *so, *oso;
 2933|      0|			struct sctp_inpcb *inp;
 2934|       |
 2935|      0|			if (notification == SCTP_NOTIFY_ASSOC_RESTART) {
  ------------------
  |  |  712|      0|#define SCTP_NOTIFY_ASSOC_RESTART               10
  ------------------
  |  Branch (2935:8): [True: 0, False: 0]
  ------------------
 2936|       |				/*
 2937|       |				 * For a restart we will keep the same
 2938|       |				 * socket, no need to do anything. I THINK!!
 2939|       |				 */
 2940|      0|				sctp_ulp_notify(notification, *stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2941|      0|				if (send_int_conf) {
  ------------------
  |  Branch (2941:9): [True: 0, False: 0]
  ------------------
 2942|      0|					sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_CONFIRMED,
  ------------------
  |  |  718|      0|#define SCTP_NOTIFY_INTERFACE_CONFIRMED         16
  ------------------
 2943|      0|					                (*stcb), 0, (void *)netl, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2944|      0|				}
 2945|      0|				return (m);
 2946|      0|			}
 2947|      0|			oso = (*inp_p)->sctp_socket;
 2948|      0|			atomic_add_int(&(*stcb)->asoc.refcnt, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 2949|      0|			SCTP_TCB_UNLOCK((*stcb));
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2950|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2951|       |			CURVNET_SET(oso->so_vnet);
 2952|       |#endif
 2953|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2954|       |			SCTP_SOCKET_LOCK(oso, 1);
 2955|       |#endif
 2956|      0|			so = sonewconn(oso, 0
 2957|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2958|       |			    ,NULL
 2959|       |#endif
 2960|      0|			    );
 2961|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2962|       |			SCTP_SOCKET_UNLOCK(oso, 1);
 2963|       |#endif
 2964|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2965|       |			CURVNET_RESTORE();
 2966|       |#endif
 2967|      0|			SCTP_TCB_LOCK((*stcb));
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2968|      0|			atomic_subtract_int(&(*stcb)->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 2969|       |
 2970|      0|			if (so == NULL) {
  ------------------
  |  Branch (2970:8): [True: 0, False: 0]
  ------------------
 2971|      0|				struct mbuf *op_err;
 2972|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2973|       |				struct socket *pcb_so;
 2974|       |#endif
 2975|       |				/* Too many sockets */
 2976|      0|				SCTPDBG(SCTP_DEBUG_INPUT1, "process_cookie_new: no room for another socket!\n");
 2977|      0|				op_err = sctp_generate_cause(SCTP_CAUSE_OUT_OF_RESC, "");
  ------------------
  |  |  372|      0|#define SCTP_CAUSE_OUT_OF_RESC		0x0004
  ------------------
 2978|      0|				sctp_abort_association(*inp_p, NULL, m, iphlen,
 2979|      0|						       src, dst, sh, op_err,
 2980|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2981|       |				                       mflowtype, mflowid,
 2982|       |#endif
 2983|      0|				                       vrf_id, port);
 2984|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2985|       |				pcb_so = SCTP_INP_SO(*inp_p);
 2986|       |				atomic_add_int(&(*stcb)->asoc.refcnt, 1);
 2987|       |				SCTP_TCB_UNLOCK((*stcb));
 2988|       |				SCTP_SOCKET_LOCK(pcb_so, 1);
 2989|       |				SCTP_TCB_LOCK((*stcb));
 2990|       |				atomic_subtract_int(&(*stcb)->asoc.refcnt, 1);
 2991|       |#endif
 2992|      0|				(void)sctp_free_assoc(*inp_p, *stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|      0|#define SCTP_NORMAL_PROC      0
  ------------------
 2993|      0|				                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_23);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              				                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_23);
  ------------------
  |  |  791|      0|#define SCTP_LOC_23 0x00000017
  ------------------
 2994|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2995|       |				SCTP_SOCKET_UNLOCK(pcb_so, 1);
 2996|       |#endif
 2997|      0|				return (NULL);
 2998|      0|			}
 2999|      0|			inp = (struct sctp_inpcb *)so->so_pcb;
 3000|      0|			SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 3001|       |			/*
 3002|       |			 * We add the unbound flag here so that
 3003|       |			 * if we get an soabort() before we get the
 3004|       |			 * move_pcb done, we will properly cleanup.
 3005|       |			 */
 3006|      0|			inp->sctp_flags = (SCTP_PCB_FLAGS_TCPTYPE |
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
 3007|      0|			    SCTP_PCB_FLAGS_CONNECTED |
  ------------------
  |  |  542|      0|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
 3008|      0|			    SCTP_PCB_FLAGS_IN_TCPPOOL |
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
 3009|      0|			    SCTP_PCB_FLAGS_UNBOUND |
  ------------------
  |  |  535|      0|#define SCTP_PCB_FLAGS_UNBOUND		0x00000010
  ------------------
 3010|      0|			    (SCTP_PCB_COPY_FLAGS & (*inp_p)->sctp_flags) |
  ------------------
  |  |  556|      0|#define SCTP_PCB_COPY_FLAGS		(SCTP_PCB_FLAGS_BOUNDALL|\
  |  |  ------------------
  |  |  |  |  533|      0|#define SCTP_PCB_FLAGS_BOUNDALL		0x00000004
  |  |  ------------------
  |  |  557|      0|					 SCTP_PCB_FLAGS_WAKEINPUT|\
  |  |  ------------------
  |  |  |  |  546|      0|#define SCTP_PCB_FLAGS_WAKEINPUT	0x02000000
  |  |  ------------------
  |  |  558|      0|					 SCTP_PCB_FLAGS_BOUND_V6|\
  |  |  ------------------
  |  |  |  |  547|      0|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  |  |  ------------------
  |  |  559|      0|					 SCTP_PCB_FLAGS_BOUND_CONN)
  |  |  ------------------
  |  |  |  |  553|      0|#define SCTP_PCB_FLAGS_BOUND_CONN       0x80000000
  |  |  ------------------
  ------------------
 3011|      0|			    SCTP_PCB_FLAGS_DONT_WAKE);
  ------------------
  |  |  544|      0|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  ------------------
 3012|      0|			inp->sctp_features = (*inp_p)->sctp_features;
 3013|      0|			inp->sctp_mobility_features = (*inp_p)->sctp_mobility_features;
 3014|      0|			inp->sctp_socket = so;
 3015|      0|			inp->sctp_frag_point = (*inp_p)->sctp_frag_point;
 3016|      0|			inp->max_cwnd = (*inp_p)->max_cwnd;
 3017|      0|			inp->sctp_cmt_on_off = (*inp_p)->sctp_cmt_on_off;
 3018|      0|			inp->ecn_supported = (*inp_p)->ecn_supported;
 3019|      0|			inp->prsctp_supported = (*inp_p)->prsctp_supported;
 3020|      0|			inp->auth_supported = (*inp_p)->auth_supported;
 3021|      0|			inp->asconf_supported = (*inp_p)->asconf_supported;
 3022|      0|			inp->reconfig_supported = (*inp_p)->reconfig_supported;
 3023|      0|			inp->nrsack_supported = (*inp_p)->nrsack_supported;
 3024|      0|			inp->pktdrop_supported = (*inp_p)->pktdrop_supported;
 3025|      0|			inp->partial_delivery_point = (*inp_p)->partial_delivery_point;
 3026|      0|			inp->sctp_context = (*inp_p)->sctp_context;
 3027|      0|			inp->local_strreset_support = (*inp_p)->local_strreset_support;
 3028|      0|			inp->fibnum = (*inp_p)->fibnum;
 3029|      0|#if defined(__Userspace__)
 3030|      0|			inp->ulp_info = (*inp_p)->ulp_info;
 3031|      0|			inp->recv_callback = (*inp_p)->recv_callback;
 3032|      0|			inp->send_callback = (*inp_p)->send_callback;
 3033|      0|			inp->send_sb_threshold = (*inp_p)->send_sb_threshold;
 3034|      0|#endif
 3035|       |			/*
 3036|       |			 * copy in the authentication parameters from the
 3037|       |			 * original endpoint
 3038|       |			 */
 3039|      0|			if (inp->sctp_ep.local_hmacs)
  ------------------
  |  Branch (3039:8): [True: 0, False: 0]
  ------------------
 3040|      0|				sctp_free_hmaclist(inp->sctp_ep.local_hmacs);
 3041|      0|			inp->sctp_ep.local_hmacs =
 3042|      0|			    sctp_copy_hmaclist((*inp_p)->sctp_ep.local_hmacs);
 3043|      0|			if (inp->sctp_ep.local_auth_chunks)
  ------------------
  |  Branch (3043:8): [True: 0, False: 0]
  ------------------
 3044|      0|				sctp_free_chunklist(inp->sctp_ep.local_auth_chunks);
 3045|      0|			inp->sctp_ep.local_auth_chunks =
 3046|      0|			    sctp_copy_chunklist((*inp_p)->sctp_ep.local_auth_chunks);
 3047|       |
 3048|       |			/*
 3049|       |			 * Now we must move it from one hash table to
 3050|       |			 * another and get the tcb in the right place.
 3051|       |			 */
 3052|       |
 3053|       |			/* This is where the one-2-one socket is put into
 3054|       |			 * the accept state waiting for the accept!
 3055|       |			 */
 3056|      0|			if (*stcb) {
  ------------------
  |  Branch (3056:8): [True: 0, False: 0]
  ------------------
 3057|      0|				SCTP_ADD_SUBSTATE(*stcb, SCTP_STATE_IN_ACCEPT_QUEUE);
  ------------------
  |  |  478|      0|	sctp_add_substate(_stcb, _substate)
  ------------------
 3058|      0|			}
 3059|      0|			sctp_move_pcb_and_assoc(*inp_p, inp, *stcb);
 3060|       |
 3061|      0|			atomic_add_int(&(*stcb)->asoc.refcnt, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 3062|      0|			SCTP_TCB_UNLOCK((*stcb));
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3063|       |
 3064|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3065|       |			sctp_pull_off_control_to_new_inp((*inp_p), inp, *stcb,
 3066|       |			    0);
 3067|       |#else
 3068|      0|			sctp_pull_off_control_to_new_inp((*inp_p), inp, *stcb, M_NOWAIT);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 3069|      0|#endif
 3070|      0|			SCTP_TCB_LOCK((*stcb));
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3071|      0|			atomic_subtract_int(&(*stcb)->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 3072|       |
 3073|       |			/* now we must check to see if we were aborted while
 3074|       |			 * the move was going on and the lock/unlock happened.
 3075|       |			 */
 3076|      0|			if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
  ------------------
  |  |  549|      0|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (3076:8): [True: 0, False: 0]
  ------------------
 3077|       |				/* yep it was, we leave the
 3078|       |				 * assoc attached to the socket since
 3079|       |				 * the sctp_inpcb_free() call will send
 3080|       |				 * an abort for us.
 3081|       |				 */
 3082|      0|				SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 3083|      0|				return (NULL);
 3084|      0|			}
 3085|      0|			SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 3086|       |			/* Switch over to the new guy */
 3087|      0|			*inp_p = inp;
 3088|      0|			sctp_ulp_notify(notification, *stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3089|      0|			if (send_int_conf) {
  ------------------
  |  Branch (3089:8): [True: 0, False: 0]
  ------------------
 3090|      0|				sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_CONFIRMED,
  ------------------
  |  |  718|      0|#define SCTP_NOTIFY_INTERFACE_CONFIRMED         16
  ------------------
 3091|      0|				                (*stcb), 0, (void *)netl, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3092|      0|			}
 3093|       |
 3094|       |			/* Pull it from the incomplete queue and wake the guy */
 3095|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3096|       |			atomic_add_int(&(*stcb)->asoc.refcnt, 1);
 3097|       |			SCTP_TCB_UNLOCK((*stcb));
 3098|       |			SCTP_SOCKET_LOCK(so, 1);
 3099|       |#endif
 3100|      0|			soisconnected(so);
 3101|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3102|       |			SCTP_TCB_LOCK((*stcb));
 3103|       |			atomic_subtract_int(&(*stcb)->asoc.refcnt, 1);
 3104|       |			SCTP_SOCKET_UNLOCK(so, 1);
 3105|       |#endif
 3106|      0|			return (m);
 3107|      0|		}
 3108|      0|	}
 3109|      0|	if (notification) {
  ------------------
  |  Branch (3109:6): [True: 0, False: 0]
  ------------------
 3110|      0|		sctp_ulp_notify(notification, *stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3111|      0|	}
 3112|      0|	if (send_int_conf) {
  ------------------
  |  Branch (3112:6): [True: 0, False: 0]
  ------------------
 3113|      0|		sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_CONFIRMED,
  ------------------
  |  |  718|      0|#define SCTP_NOTIFY_INTERFACE_CONFIRMED         16
  ------------------
 3114|      0|		                (*stcb), 0, (void *)netl, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3115|      0|	}
 3116|      0|	return (m);
 3117|      0|}
sctp_input.c:sctp_start_net_timers:
  880|  6.07k|{
  881|  6.07k|	uint32_t cnt_hb_sent;
  882|  6.07k|	struct sctp_nets *net;
  883|       |
  884|  6.07k|	cnt_hb_sent = 0;
  885|  7.72k|	TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
  886|       |		/* For each network start:
  887|       |		 * 1) A pmtu timer.
  888|       |		 * 2) A HB timer
  889|       |		 * 3) If the dest in unconfirmed send
  890|       |		 *    a hb as well if under max_hb_burst have
  891|       |		 *    been sent.
  892|       |		 */
  893|  7.72k|		sctp_timer_start(SCTP_TIMER_TYPE_PATHMTURAISE, stcb->sctp_ep, stcb, net);
  ------------------
  |  |  539|  7.72k|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
  894|  7.72k|		sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep, stcb, net);
  ------------------
  |  |  536|  7.72k|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
  895|  7.72k|		if ((net->dest_state & SCTP_ADDR_UNCONFIRMED) &&
  ------------------
  |  |  487|  7.72k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (895:7): [True: 1.20k, False: 6.52k]
  ------------------
  896|  7.72k|		    (cnt_hb_sent < SCTP_BASE_SYSCTL(sctp_hb_maxburst))) {
  ------------------
  |  |  584|  1.20k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (896:7): [True: 564, False: 638]
  ------------------
  897|    564|			sctp_send_hb(stcb, net, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    564|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  898|    564|			cnt_hb_sent++;
  899|    564|		}
  900|  7.72k|	}
  901|  6.07k|	if (cnt_hb_sent) {
  ------------------
  |  Branch (901:6): [True: 269, False: 5.80k]
  ------------------
  902|    269|		sctp_chunk_output(stcb->sctp_ep, stcb,
  903|    269|				  SCTP_OUTPUT_FROM_COOKIE_ACK,
  ------------------
  |  |  375|    269|#define SCTP_OUTPUT_FROM_COOKIE_ACK     14
  ------------------
  904|    269|				  SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    269|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  905|    269|	}
  906|  6.07k|}
sctp_input.c:sctp_handle_ecn_echo:
 3250|  4.33k|{
 3251|  4.33k|	struct sctp_nets *net;
 3252|  4.33k|	struct sctp_tmit_chunk *lchk;
 3253|  4.33k|	struct sctp_ecne_chunk bkup;
 3254|  4.33k|	uint8_t override_bit;
 3255|  4.33k|	uint32_t tsn, window_data_tsn;
 3256|  4.33k|	int len;
 3257|  4.33k|	unsigned int pkt_cnt;
 3258|       |
 3259|  4.33k|	len = ntohs(cp->ch.chunk_length);
 3260|  4.33k|	if (len == sizeof(struct old_sctp_ecne_chunk)) {
  ------------------
  |  Branch (3260:6): [True: 3.55k, False: 778]
  ------------------
 3261|       |		/* Its the old format */
 3262|  3.55k|		memcpy(&bkup, cp, sizeof(struct old_sctp_ecne_chunk));
 3263|  3.55k|		bkup.num_pkts_since_cwr = htonl(1);
 3264|  3.55k|		cp = &bkup;
 3265|  3.55k|	}
 3266|  4.33k|	SCTP_STAT_INCR(sctps_recvecne);
  ------------------
  |  | 1112|  4.33k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  4.33k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  4.33k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3267|  4.33k|	tsn = ntohl(cp->tsn);
 3268|  4.33k|	pkt_cnt = ntohl(cp->num_pkts_since_cwr);
 3269|  4.33k|	lchk = TAILQ_LAST(&stcb->asoc.send_queue, sctpchunk_listhead);
 3270|  4.33k|	if (lchk == NULL) {
  ------------------
  |  Branch (3270:6): [True: 3.99k, False: 345]
  ------------------
 3271|  3.99k|		window_data_tsn = stcb->asoc.sending_seq - 1;
 3272|  3.99k|	} else {
 3273|    345|		window_data_tsn = lchk->rec.data.tsn;
 3274|    345|	}
 3275|       |
 3276|       |	/* Find where it was sent to if possible. */
 3277|  4.33k|	net = NULL;
 3278|  4.33k|	TAILQ_FOREACH(lchk, &stcb->asoc.sent_queue, sctp_next) {
 3279|  3.22k|		if (lchk->rec.data.tsn == tsn) {
  ------------------
  |  Branch (3279:7): [True: 0, False: 3.22k]
  ------------------
 3280|      0|			net = lchk->whoTo;
 3281|      0|			net->ecn_prev_cwnd = lchk->rec.data.cwnd_at_send;
 3282|      0|			break;
 3283|      0|		}
 3284|  3.22k|		if (SCTP_TSN_GT(lchk->rec.data.tsn, tsn)) {
  ------------------
  |  |  889|  3.22k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  3.22k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 2.01k, False: 1.21k]
  |  |  |  |  |  Branch (883:43): [True: 437, False: 1.57k]
  |  |  |  |  ------------------
  |  |  |  |  884|  3.22k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 1.21k, False: 1.57k]
  |  |  |  |  |  Branch (884:43): [True: 824, False: 388]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3285|  1.26k|			break;
 3286|  1.26k|		}
 3287|  3.22k|	}
 3288|  4.33k|	if (net == NULL) {
  ------------------
  |  Branch (3288:6): [True: 4.33k, False: 0]
  ------------------
 3289|       |		/*
 3290|       |		 * What to do. A previous send of a
 3291|       |		 * CWR was possibly lost. See how old it is, we
 3292|       |		 * may have it marked on the actual net.
 3293|       |		 */
 3294|  6.56k|		TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 3295|  6.56k|			if (tsn == net->last_cwr_tsn) {
  ------------------
  |  Branch (3295:8): [True: 0, False: 6.56k]
  ------------------
 3296|       |				/* Found him, send it off */
 3297|      0|				break;
 3298|      0|			}
 3299|  6.56k|		}
 3300|  4.33k|		if (net == NULL) {
  ------------------
  |  Branch (3300:7): [True: 4.33k, False: 0]
  ------------------
 3301|       |			/*
 3302|       |			 * If we reach here, we need to send a special
 3303|       |			 * CWR that says hey, we did this a long time
 3304|       |			 * ago and you lost the response.
 3305|       |			 */
 3306|  4.33k|			net = TAILQ_FIRST(&stcb->asoc.nets);
 3307|  4.33k|			if (net == NULL) {
  ------------------
  |  Branch (3307:8): [True: 0, False: 4.33k]
  ------------------
 3308|       |				/* TSNH */
 3309|      0|				return;
 3310|      0|			}
 3311|  4.33k|			override_bit = SCTP_CWR_REDUCE_OVERRIDE;
  ------------------
  |  |  504|  4.33k|#define SCTP_CWR_REDUCE_OVERRIDE 0x01
  ------------------
 3312|  4.33k|		} else {
 3313|      0|			override_bit = 0;
 3314|      0|		}
 3315|  4.33k|	} else {
 3316|      0|		override_bit = 0;
 3317|      0|	}
 3318|  4.33k|	if (SCTP_TSN_GT(tsn, net->cwr_window_tsn) &&
  ------------------
  |  |  889|  4.33k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  8.67k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 1.70k, False: 2.63k]
  |  |  |  |  |  Branch (883:43): [True: 566, False: 1.13k]
  |  |  |  |  ------------------
  |  |  |  |  884|  8.67k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 2.63k, False: 1.13k]
  |  |  |  |  |  Branch (884:43): [True: 1.82k, False: 805]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3319|  4.33k|	    ((override_bit&SCTP_CWR_REDUCE_OVERRIDE) == 0)) {
  ------------------
  |  |  504|  2.39k|#define SCTP_CWR_REDUCE_OVERRIDE 0x01
  ------------------
  |  Branch (3319:6): [True: 0, False: 2.39k]
  ------------------
 3320|       |		/* JRS - Use the congestion control given in the pluggable CC module */
 3321|      0|		stcb->asoc.cc_functions.sctp_cwnd_update_after_ecn_echo(stcb, net, 0, pkt_cnt);
 3322|       |		/*
 3323|       |		 * We reduce once every RTT. So we will only lower cwnd at
 3324|       |		 * the next sending seq i.e. the window_data_tsn
 3325|       |		 */
 3326|      0|		net->cwr_window_tsn = window_data_tsn;
 3327|      0|		net->ecn_ce_pkt_cnt += pkt_cnt;
 3328|      0|		net->lost_cnt = pkt_cnt;
 3329|      0|		net->last_cwr_tsn = tsn;
 3330|  4.33k|	} else {
 3331|  4.33k|		override_bit |= SCTP_CWR_IN_SAME_WINDOW;
  ------------------
  |  |  505|  4.33k|#define SCTP_CWR_IN_SAME_WINDOW  0x02
  ------------------
 3332|  4.33k|		if (SCTP_TSN_GT(tsn, net->last_cwr_tsn) &&
  ------------------
  |  |  889|  4.33k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  8.67k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 1.70k, False: 2.63k]
  |  |  |  |  |  Branch (883:43): [True: 566, False: 1.13k]
  |  |  |  |  ------------------
  |  |  |  |  884|  8.67k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 2.63k, False: 1.13k]
  |  |  |  |  |  Branch (884:43): [True: 1.82k, False: 805]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3333|  4.33k|		    ((override_bit&SCTP_CWR_REDUCE_OVERRIDE) == 0)) {
  ------------------
  |  |  504|  2.39k|#define SCTP_CWR_REDUCE_OVERRIDE 0x01
  ------------------
  |  Branch (3333:7): [True: 0, False: 2.39k]
  ------------------
 3334|       |			/*
 3335|       |			 * Another loss in the same window update how
 3336|       |			 * many marks/packets lost we have had.
 3337|       |			 */
 3338|      0|			int cnt = 1;
 3339|      0|			if (pkt_cnt > net->lost_cnt) {
  ------------------
  |  Branch (3339:8): [True: 0, False: 0]
  ------------------
 3340|       |				/* Should be the case */
 3341|      0|				cnt = (pkt_cnt - net->lost_cnt);
 3342|      0|				net->ecn_ce_pkt_cnt += cnt;
 3343|      0|			}
 3344|      0|			net->lost_cnt = pkt_cnt;
 3345|      0|			net->last_cwr_tsn = tsn;
 3346|       |			/*
 3347|       |			 * Most CC functions will ignore this call, since we are in-window
 3348|       |			 * yet of the initial CE the peer saw.
 3349|       |			 */
 3350|      0|			stcb->asoc.cc_functions.sctp_cwnd_update_after_ecn_echo(stcb, net, 1, cnt);
 3351|      0|		}
 3352|  4.33k|	}
 3353|       |	/*
 3354|       |	 * We always send a CWR this way if our previous one was lost our
 3355|       |	 * peer will get an update, or if it is not time again to reduce we
 3356|       |	 * still get the cwr to the peer. Note we set the override when we
 3357|       |	 * could not find the TSN on the chunk or the destination network.
 3358|       |	 */
 3359|  4.33k|	sctp_send_cwr(stcb, net, net->last_cwr_tsn, override_bit);
 3360|  4.33k|}
sctp_input.c:sctp_handle_ecn_cwr:
 3364|    862|{
 3365|       |	/*
 3366|       |	 * Here we get a CWR from the peer. We must look in the outqueue and
 3367|       |	 * make sure that we have a covered ECNE in the control chunk part.
 3368|       |	 * If so remove it.
 3369|       |	 */
 3370|    862|	struct sctp_tmit_chunk *chk, *nchk;
 3371|    862|	struct sctp_ecne_chunk *ecne;
 3372|    862|	int override;
 3373|    862|	uint32_t cwr_tsn;
 3374|       |
 3375|    862|	cwr_tsn = ntohl(cp->tsn);
 3376|    862|	override = cp->ch.chunk_flags & SCTP_CWR_REDUCE_OVERRIDE;
  ------------------
  |  |  504|    862|#define SCTP_CWR_REDUCE_OVERRIDE 0x01
  ------------------
 3377|  82.6k|	TAILQ_FOREACH_SAFE(chk, &stcb->asoc.control_send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|    862|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  83.4k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 82.6k, False: 862]
  |  |  |  Branch (1124:24): [True: 82.6k, False: 0]
  |  |  ------------------
  |  | 1125|  82.6k|              (var) = (tvar))
  ------------------
 3378|  82.6k|		if (chk->rec.chunk_id.id != SCTP_ECN_ECHO) {
  ------------------
  |  |  469|  82.6k|#define SCTP_ECN_ECHO		0x0c
  ------------------
  |  Branch (3378:7): [True: 82.6k, False: 0]
  ------------------
 3379|  82.6k|			continue;
 3380|  82.6k|		}
 3381|      0|		if ((override == 0) && (chk->whoTo != net)) {
  ------------------
  |  Branch (3381:7): [True: 0, False: 0]
  |  Branch (3381:26): [True: 0, False: 0]
  ------------------
 3382|       |			/* Must be from the right src unless override is set */
 3383|      0|			continue;
 3384|      0|		}
 3385|      0|		ecne = mtod(chk->data, struct sctp_ecne_chunk *);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3386|      0|		if (SCTP_TSN_GE(cwr_tsn, ntohl(ecne->tsn))) {
  ------------------
  |  |  890|      0|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|      0|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3387|       |			/* this covers this ECNE, we can remove it */
 3388|      0|			stcb->asoc.ecn_echo_cnt_onq--;
 3389|      0|			TAILQ_REMOVE(&stcb->asoc.control_send_queue, chk,
 3390|      0|			    sctp_next);
 3391|      0|			stcb->asoc.ctrl_queue_cnt--;
 3392|      0|			sctp_m_freem(chk->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 3393|      0|			chk->data = NULL;
 3394|      0|			sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
 3395|      0|			if (override == 0) {
  ------------------
  |  Branch (3395:8): [True: 0, False: 0]
  ------------------
 3396|      0|				break;
 3397|      0|			}
 3398|      0|		}
 3399|      0|	}
 3400|    862|}
sctp_input.c:sctp_handle_shutdown_complete:
 3405|      5|{
 3406|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3407|       |	struct socket *so;
 3408|       |#endif
 3409|       |
 3410|      5|	SCTPDBG(SCTP_DEBUG_INPUT2,
 3411|      5|		"sctp_handle_shutdown_complete: handling SHUTDOWN-COMPLETE\n");
 3412|      5|	if (stcb == NULL)
  ------------------
  |  Branch (3412:6): [True: 0, False: 5]
  ------------------
 3413|      0|		return;
 3414|       |
 3415|       |	/* process according to association state */
 3416|      5|	if (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT) {
  ------------------
  |  |  472|      5|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      5|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT) {
  ------------------
  |  |  462|      5|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (3416:6): [True: 5, False: 0]
  ------------------
 3417|       |		/* unexpected SHUTDOWN-COMPLETE... so ignore... */
 3418|      5|		SCTPDBG(SCTP_DEBUG_INPUT2,
 3419|      5|			"sctp_handle_shutdown_complete: not in SCTP_STATE_SHUTDOWN_ACK_SENT --- ignore\n");
 3420|      5|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      5|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      5|	do {                         \
  |  |  |  |  113|      5|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 5]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      5|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3421|      5|		return;
 3422|      5|	}
 3423|       |	/* notify upper layer protocol */
 3424|      0|	if (stcb->sctp_socket) {
  ------------------
  |  Branch (3424:6): [True: 0, False: 0]
  ------------------
 3425|      0|		sctp_ulp_notify(SCTP_NOTIFY_ASSOC_DOWN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  704|      0|#define SCTP_NOTIFY_ASSOC_DOWN                   2
  ------------------
              		sctp_ulp_notify(SCTP_NOTIFY_ASSOC_DOWN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3426|      0|	}
 3427|      0|#ifdef INVARIANTS
 3428|      0|	if (!TAILQ_EMPTY(&stcb->asoc.send_queue) ||
  ------------------
  |  Branch (3428:6): [True: 0, False: 0]
  ------------------
 3429|      0|	    !TAILQ_EMPTY(&stcb->asoc.sent_queue) ||
  ------------------
  |  Branch (3429:6): [True: 0, False: 0]
  ------------------
 3430|      0|	    sctp_is_there_unsent_data(stcb, SCTP_SO_NOT_LOCKED)) {
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
  |  Branch (3430:6): [True: 0, False: 0]
  ------------------
 3431|      0|		panic("Queues are not empty when handling SHUTDOWN-COMPLETE");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3432|      0|	}
 3433|      0|#endif
 3434|       |	/* stop the timer */
 3435|      0|	sctp_timer_stop(SCTP_TIMER_TYPE_SHUTDOWNACK, stcb->sctp_ep, stcb, net,
  ------------------
  |  |  540|      0|#define SCTP_TIMER_TYPE_SHUTDOWNACK	9
  ------------------
 3436|      0|	                SCTP_FROM_SCTP_INPUT + SCTP_LOC_24);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              	                SCTP_FROM_SCTP_INPUT + SCTP_LOC_24);
  ------------------
  |  |  792|      0|#define SCTP_LOC_24 0x00000018
  ------------------
 3437|      0|	SCTP_STAT_INCR_COUNTER32(sctps_shutdown);
  ------------------
  |  | 1127|      0|#define SCTP_STAT_INCR_COUNTER32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3438|       |	/* free the TCB */
 3439|      0|	SCTPDBG(SCTP_DEBUG_INPUT2,
 3440|      0|		"sctp_handle_shutdown_complete: calls free-asoc\n");
 3441|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3442|       |	so = SCTP_INP_SO(stcb->sctp_ep);
 3443|       |	atomic_add_int(&stcb->asoc.refcnt, 1);
 3444|       |	SCTP_TCB_UNLOCK(stcb);
 3445|       |	SCTP_SOCKET_LOCK(so, 1);
 3446|       |	SCTP_TCB_LOCK(stcb);
 3447|       |	atomic_subtract_int(&stcb->asoc.refcnt, 1);
 3448|       |#endif
 3449|      0|	(void)sctp_free_assoc(stcb->sctp_ep, stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|      0|#define SCTP_NORMAL_PROC      0
  ------------------
 3450|      0|	                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_25);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              	                      SCTP_FROM_SCTP_INPUT + SCTP_LOC_25);
  ------------------
  |  |  793|      0|#define SCTP_LOC_25 0x00000019
  ------------------
 3451|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3452|       |	SCTP_SOCKET_UNLOCK(so, 1);
 3453|       |#endif
 3454|      0|	return;
 3455|      0|}
sctp_input.c:sctp_handle_stream_reset:
 4352|  12.4k|{
 4353|  12.4k|	uint16_t remaining_length, param_len, ptype;
 4354|  12.4k|	struct sctp_paramhdr pstore;
 4355|  12.4k|	uint8_t cstore[SCTP_CHUNK_BUFFER_SIZE];
 4356|  12.4k|	uint32_t seq = 0;
 4357|  12.4k|	int num_req = 0;
 4358|  12.4k|	int trunc = 0;
 4359|  12.4k|	struct sctp_tmit_chunk *chk;
 4360|  12.4k|	struct sctp_chunkhdr *ch;
 4361|  12.4k|	struct sctp_paramhdr *ph;
 4362|  12.4k|	int ret_code = 0;
 4363|  12.4k|	int num_param = 0;
 4364|       |
 4365|       |	/* now it may be a reset or a reset-response */
 4366|  12.4k|	remaining_length = ntohs(ch_req->chunk_length) - sizeof(struct sctp_chunkhdr);
 4367|       |
 4368|       |	/* setup for adding the response */
 4369|  12.4k|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|  12.4k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|  12.4k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|  7.26k|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|  7.26k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|  7.26k|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 7.26k, False: 0]
  |  |  ------------------
  |  |  173|  7.26k|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|  7.26k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  7.26k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|  7.26k|			(_chk)->whoTo = NULL; \
  |  |  175|  7.26k|			(_chk)->holds_key_ref = 0; \
  |  |  176|  7.26k|		} \
  |  |  177|  7.26k|	} else { \
  |  |  178|  5.20k|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|  5.20k|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|  5.20k|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|  5.20k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|  5.20k|		(_chk)->holds_key_ref = 0; \
  |  |  182|  5.20k|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|  5.20k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  5.20k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  5.20k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|  5.20k|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|  5.20k|	} \
  |  |  185|  12.4k|}
  ------------------
 4370|  12.4k|	if (chk == NULL) {
  ------------------
  |  Branch (4370:6): [True: 0, False: 12.4k]
  ------------------
 4371|      0|		return (ret_code);
 4372|      0|	}
 4373|  12.4k|	chk->copy_by_ref = 0;
 4374|  12.4k|	chk->rec.chunk_id.id = SCTP_STREAM_RESET;
  ------------------
  |  |  484|  12.4k|#define SCTP_STREAM_RESET       0x82
  ------------------
 4375|  12.4k|	chk->rec.chunk_id.can_take_data = 0;
 4376|  12.4k|	chk->flags = 0;
 4377|  12.4k|	chk->asoc = &stcb->asoc;
 4378|  12.4k|	chk->no_fr_allowed = 0;
 4379|  12.4k|	chk->book_size = chk->send_size = sizeof(struct sctp_chunkhdr);
 4380|  12.4k|	chk->book_size_scale = 0;
 4381|  12.4k|	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   51|  12.4k|#define MCLBYTES 2048
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  12.4k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  12.4k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 4382|  12.4k|	if (chk->data == NULL) {
  ------------------
  |  Branch (4382:6): [True: 0, False: 12.4k]
  ------------------
 4383|  3.84k|	strres_nochunk:
 4384|  3.84k|		if (chk->data) {
  ------------------
  |  Branch (4384:7): [True: 3.84k, False: 0]
  ------------------
 4385|  3.84k|			sctp_m_freem(chk->data);
  ------------------
  |  |   52|  3.84k|#define sctp_m_freem m_freem
  ------------------
 4386|  3.84k|			chk->data = NULL;
 4387|  3.84k|		}
 4388|  3.84k|		sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|  3.84k|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|  3.84k|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 3.84k]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|  3.84k|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 3.84k, False: 0]
  |  |  ------------------
  |  |  149|  3.84k|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|  3.84k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  3.84k|	do {                         \
  |  |  |  |  |  |  113|  3.84k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 3.84k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  3.84k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|  3.84k|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 3.84k]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|  3.84k|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|  3.84k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 3.84k]
  |  |  ------------------
  |  |  155|  3.84k|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|  3.84k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|  3.84k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 3.84k]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|  3.84k|		} else { \
  |  |  159|  3.84k|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|  3.84k|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|  3.84k|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|  3.84k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|  3.84k|		} \
  |  |  163|  3.84k|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|  3.84k|}
  ------------------
 4389|  3.84k|		return (ret_code);
 4390|  3.84k|	}
 4391|  12.4k|	SCTP_BUF_RESV_UF(chk->data, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|  12.4k|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|  12.4k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 4392|       |
 4393|       |	/* setup chunk parameters */
 4394|  12.4k|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|  12.4k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
 4395|  12.4k|	chk->snd_count = 0;
 4396|  12.4k|	chk->whoTo = NULL;
 4397|       |
 4398|  12.4k|	ch = mtod(chk->data, struct sctp_chunkhdr *);
  ------------------
  |  |   96|  12.4k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  12.4k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 4399|  12.4k|	ch->chunk_type = SCTP_STREAM_RESET;
  ------------------
  |  |  484|  12.4k|#define SCTP_STREAM_RESET       0x82
  ------------------
 4400|  12.4k|	ch->chunk_flags = 0;
 4401|  12.4k|	ch->chunk_length = htons(chk->send_size);
 4402|  12.4k|	SCTP_BUF_LEN(chk->data) = SCTP_SIZE32(chk->send_size);
  ------------------
  |  |  795|  12.4k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  12.4k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
              	SCTP_BUF_LEN(chk->data) = SCTP_SIZE32(chk->send_size);
  ------------------
  |  |  383|  12.4k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 4403|  12.4k|	offset += sizeof(struct sctp_chunkhdr);
 4404|  22.0k|	while (remaining_length >= sizeof(struct sctp_paramhdr)) {
  ------------------
  |  Branch (4404:9): [True: 15.4k, False: 6.55k]
  ------------------
 4405|  15.4k|		ph = (struct sctp_paramhdr *)sctp_m_getptr(m, offset, sizeof(pstore), (uint8_t *)&pstore);
 4406|  15.4k|		if (ph == NULL) {
  ------------------
  |  Branch (4406:7): [True: 0, False: 15.4k]
  ------------------
 4407|       |			/* TSNH */
 4408|      0|			break;
 4409|      0|		}
 4410|  15.4k|		param_len = ntohs(ph->param_length);
 4411|  15.4k|		if ((param_len > remaining_length) ||
  ------------------
  |  Branch (4411:7): [True: 1.85k, False: 13.5k]
  ------------------
 4412|  15.4k|		    (param_len < (sizeof(struct sctp_paramhdr) + sizeof(uint32_t)))) {
  ------------------
  |  Branch (4412:7): [True: 885, False: 12.7k]
  ------------------
 4413|       |			/* bad parameter length */
 4414|  2.73k|			break;
 4415|  2.73k|		}
 4416|  12.7k|		ph = (struct sctp_paramhdr *)sctp_m_getptr(m, offset, min(param_len, sizeof(cstore)),
  ------------------
  |  |   66|  12.7k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 216, False: 12.4k]
  |  |  ------------------
  ------------------
 4417|  12.7k|							   (uint8_t *)&cstore);
 4418|  12.7k|		if (ph == NULL) {
  ------------------
  |  Branch (4418:7): [True: 0, False: 12.7k]
  ------------------
 4419|       |			/* TSNH */
 4420|      0|			break;
 4421|      0|		}
 4422|  12.7k|		ptype = ntohs(ph->param_type);
 4423|  12.7k|		num_param++;
 4424|  12.7k|		if (param_len > sizeof(cstore)) {
  ------------------
  |  Branch (4424:7): [True: 216, False: 12.4k]
  ------------------
 4425|    216|			trunc = 1;
 4426|  12.4k|		} else {
 4427|  12.4k|			trunc = 0;
 4428|  12.4k|		}
 4429|  12.7k|		if (num_param > SCTP_MAX_RESET_PARAMS) {
  ------------------
  |  |  410|  12.7k|#define SCTP_MAX_RESET_PARAMS 2
  ------------------
  |  Branch (4429:7): [True: 411, False: 12.3k]
  ------------------
 4430|       |			/* hit the max of parameters already sorry.. */
 4431|    411|			break;
 4432|    411|		}
 4433|  12.3k|		if (ptype == SCTP_STR_RESET_OUT_REQUEST) {
  ------------------
  |  |  403|  12.3k|#define SCTP_STR_RESET_OUT_REQUEST	0x000d
  ------------------
  |  Branch (4433:7): [True: 2.30k, False: 9.99k]
  ------------------
 4434|  2.30k|			struct sctp_stream_reset_out_request *req_out;
 4435|       |
 4436|  2.30k|			if (param_len < sizeof(struct sctp_stream_reset_out_request)) {
  ------------------
  |  Branch (4436:8): [True: 267, False: 2.04k]
  ------------------
 4437|    267|				break;
 4438|    267|			}
 4439|  2.04k|			req_out = (struct sctp_stream_reset_out_request *)ph;
 4440|  2.04k|			num_req++;
 4441|  2.04k|			if (stcb->asoc.stream_reset_outstanding) {
  ------------------
  |  Branch (4441:8): [True: 640, False: 1.40k]
  ------------------
 4442|    640|				seq = ntohl(req_out->response_seq);
 4443|    640|				if (seq == stcb->asoc.str_reset_seq_out) {
  ------------------
  |  Branch (4443:9): [True: 0, False: 640]
  ------------------
 4444|       |					/* implicit ack */
 4445|      0|					(void)sctp_handle_stream_reset_response(stcb, seq, SCTP_STREAM_RESET_RESULT_PERFORMED, NULL);
  ------------------
  |  |  479|      0|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
 4446|      0|				}
 4447|    640|			}
 4448|  2.04k|			sctp_handle_str_reset_request_out(stcb, chk, req_out, trunc);
 4449|  9.99k|		} else if (ptype == SCTP_STR_RESET_ADD_OUT_STREAMS) {
  ------------------
  |  |  407|  9.99k|#define SCTP_STR_RESET_ADD_OUT_STREAMS	0x0011
  ------------------
  |  Branch (4449:14): [True: 1.02k, False: 8.96k]
  ------------------
 4450|  1.02k|			struct sctp_stream_reset_add_strm  *str_add;
 4451|       |
 4452|  1.02k|			if (param_len < sizeof(struct sctp_stream_reset_add_strm)) {
  ------------------
  |  Branch (4452:8): [True: 202, False: 823]
  ------------------
 4453|    202|				break;
 4454|    202|			}
 4455|    823|			str_add = (struct sctp_stream_reset_add_strm  *)ph;
 4456|    823|			num_req++;
 4457|    823|			sctp_handle_str_reset_add_strm(stcb, chk, str_add);
 4458|  8.96k|		} else if (ptype == SCTP_STR_RESET_ADD_IN_STREAMS) {
  ------------------
  |  |  408|  8.96k|#define SCTP_STR_RESET_ADD_IN_STREAMS	0x0012
  ------------------
  |  Branch (4458:14): [True: 1.01k, False: 7.95k]
  ------------------
 4459|  1.01k|			struct sctp_stream_reset_add_strm  *str_add;
 4460|       |
 4461|  1.01k|			if (param_len < sizeof(struct sctp_stream_reset_add_strm)) {
  ------------------
  |  Branch (4461:8): [True: 216, False: 797]
  ------------------
 4462|    216|				break;
 4463|    216|			}
 4464|    797|			str_add = (struct sctp_stream_reset_add_strm  *)ph;
 4465|    797|			num_req++;
 4466|    797|			sctp_handle_str_reset_add_out_strm(stcb, chk, str_add);
 4467|  7.95k|		} else if (ptype == SCTP_STR_RESET_IN_REQUEST) {
  ------------------
  |  |  404|  7.95k|#define SCTP_STR_RESET_IN_REQUEST	0x000e
  ------------------
  |  Branch (4467:14): [True: 5.39k, False: 2.56k]
  ------------------
 4468|  5.39k|			struct sctp_stream_reset_in_request *req_in;
 4469|       |
 4470|  5.39k|			num_req++;
 4471|  5.39k|			req_in = (struct sctp_stream_reset_in_request *)ph;
 4472|  5.39k|			sctp_handle_str_reset_request_in(stcb, chk, req_in, trunc);
 4473|  5.39k|		} else if (ptype == SCTP_STR_RESET_TSN_REQUEST) {
  ------------------
  |  |  405|  2.56k|#define SCTP_STR_RESET_TSN_REQUEST	0x000f
  ------------------
  |  Branch (4473:14): [True: 1.27k, False: 1.28k]
  ------------------
 4474|  1.27k|			struct sctp_stream_reset_tsn_request *req_tsn;
 4475|       |
 4476|  1.27k|			num_req++;
 4477|  1.27k|			req_tsn = (struct sctp_stream_reset_tsn_request *)ph;
 4478|  1.27k|			if (sctp_handle_str_reset_request_tsn(stcb, chk, req_tsn)) {
  ------------------
  |  Branch (4478:8): [True: 0, False: 1.27k]
  ------------------
 4479|      0|				ret_code = 1;
 4480|      0|				goto strres_nochunk;
 4481|      0|			}
 4482|       |			/* no more */
 4483|  1.27k|			break;
 4484|  1.28k|		} else if (ptype == SCTP_STR_RESET_RESPONSE) {
  ------------------
  |  |  406|  1.28k|#define SCTP_STR_RESET_RESPONSE		0x0010
  ------------------
  |  Branch (4484:14): [True: 554, False: 731]
  ------------------
 4485|    554|			struct sctp_stream_reset_response *resp;
 4486|    554|			uint32_t result;
 4487|       |
 4488|    554|			if (param_len < sizeof(struct sctp_stream_reset_response)) {
  ------------------
  |  Branch (4488:8): [True: 76, False: 478]
  ------------------
 4489|     76|				break;
 4490|     76|			}
 4491|    478|			resp = (struct sctp_stream_reset_response *)ph;
 4492|    478|			seq = ntohl(resp->response_seq);
 4493|    478|			result = ntohl(resp->result);
 4494|    478|			if (sctp_handle_stream_reset_response(stcb, seq, result, resp)) {
  ------------------
  |  Branch (4494:8): [True: 0, False: 478]
  ------------------
 4495|      0|				ret_code = 1;
 4496|      0|				goto strres_nochunk;
 4497|      0|			}
 4498|    731|		} else {
 4499|    731|			break;
 4500|    731|		}
 4501|  9.53k|		offset += SCTP_SIZE32(param_len);
  ------------------
  |  |  383|  9.53k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 4502|  9.53k|		if (remaining_length >= SCTP_SIZE32(param_len)) {
  ------------------
  |  |  383|  9.53k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  |  Branch (4502:7): [True: 9.10k, False: 426]
  ------------------
 4503|  9.10k|			remaining_length -= SCTP_SIZE32(param_len);
  ------------------
  |  |  383|  9.10k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 4504|  9.10k|		} else {
 4505|    426|			remaining_length = 0;
 4506|    426|		}
 4507|  9.53k|	}
 4508|  12.4k|	if (num_req == 0) {
  ------------------
  |  Branch (4508:6): [True: 3.84k, False: 8.62k]
  ------------------
 4509|       |		/* we have no response free the stuff */
 4510|  3.84k|		goto strres_nochunk;
 4511|  3.84k|	}
 4512|       |	/* ok we have a chunk to link in */
 4513|  8.62k|	TAILQ_INSERT_TAIL(&stcb->asoc.control_send_queue,
 4514|  8.62k|			  chk,
 4515|  8.62k|			  sctp_next);
 4516|  8.62k|	stcb->asoc.ctrl_queue_cnt++;
 4517|  8.62k|	return (ret_code);
 4518|  12.4k|}
sctp_input.c:sctp_handle_stream_reset_response:
 3836|    478|{
 3837|    478|	uint16_t type;
 3838|    478|	int lparam_len;
 3839|    478|	struct sctp_association *asoc = &stcb->asoc;
 3840|    478|	struct sctp_tmit_chunk *chk;
 3841|    478|	struct sctp_stream_reset_request *req_param;
 3842|    478|	struct sctp_stream_reset_out_request *req_out_param;
 3843|    478|	struct sctp_stream_reset_in_request *req_in_param;
 3844|    478|	uint32_t number_entries;
 3845|       |
 3846|    478|	if (asoc->stream_reset_outstanding == 0) {
  ------------------
  |  Branch (3846:6): [True: 223, False: 255]
  ------------------
 3847|       |		/* duplicate */
 3848|    223|		return (0);
 3849|    223|	}
 3850|    255|	if (seq == stcb->asoc.str_reset_seq_out) {
  ------------------
  |  Branch (3850:6): [True: 0, False: 255]
  ------------------
 3851|      0|		req_param = sctp_find_stream_reset(stcb, seq, &chk);
 3852|      0|		if (req_param != NULL) {
  ------------------
  |  Branch (3852:7): [True: 0, False: 0]
  ------------------
 3853|      0|			stcb->asoc.str_reset_seq_out++;
 3854|      0|			type = ntohs(req_param->ph.param_type);
 3855|      0|			lparam_len = ntohs(req_param->ph.param_length);
 3856|      0|			if (type == SCTP_STR_RESET_OUT_REQUEST) {
  ------------------
  |  |  403|      0|#define SCTP_STR_RESET_OUT_REQUEST	0x000d
  ------------------
  |  Branch (3856:8): [True: 0, False: 0]
  ------------------
 3857|      0|				int no_clear = 0;
 3858|       |
 3859|      0|				req_out_param = (struct sctp_stream_reset_out_request *)req_param;
 3860|      0|				number_entries = (lparam_len - sizeof(struct sctp_stream_reset_out_request)) / sizeof(uint16_t);
 3861|      0|				asoc->stream_reset_out_is_outstanding = 0;
 3862|      0|				if (asoc->stream_reset_outstanding)
  ------------------
  |  Branch (3862:9): [True: 0, False: 0]
  ------------------
 3863|      0|					asoc->stream_reset_outstanding--;
 3864|      0|				if (action == SCTP_STREAM_RESET_RESULT_PERFORMED) {
  ------------------
  |  |  479|      0|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
  |  Branch (3864:9): [True: 0, False: 0]
  ------------------
 3865|       |					/* do it */
 3866|      0|					sctp_reset_out_streams(stcb, number_entries, req_out_param->list_of_streams);
 3867|      0|				} else if (action == SCTP_STREAM_RESET_RESULT_DENIED) {
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
  |  Branch (3867:16): [True: 0, False: 0]
  ------------------
 3868|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_DENIED_OUT, stcb, number_entries, req_out_param->list_of_streams, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  723|      0|#define SCTP_NOTIFY_STR_RESET_DENIED_OUT        21
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_DENIED_OUT, stcb, number_entries, req_out_param->list_of_streams, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3869|      0|				} else if (action == SCTP_STREAM_RESET_RESULT_IN_PROGRESS) {
  ------------------
  |  |  484|      0|#define SCTP_STREAM_RESET_RESULT_IN_PROGRESS     0x00000006 /* XXX: unused */
  ------------------
  |  Branch (3869:16): [True: 0, False: 0]
  ------------------
 3870|       |					/* Set it up so we don't stop retransmitting */
 3871|      0|					asoc->stream_reset_outstanding++;
 3872|      0|					stcb->asoc.str_reset_seq_out--;
 3873|      0|					asoc->stream_reset_out_is_outstanding = 1;
 3874|      0|					no_clear = 1;
 3875|      0|				} else {
 3876|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_FAILED_OUT, stcb, number_entries, req_out_param->list_of_streams, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  721|      0|#define SCTP_NOTIFY_STR_RESET_FAILED_OUT        19
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_FAILED_OUT, stcb, number_entries, req_out_param->list_of_streams, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3877|      0|				}
 3878|      0|				if (no_clear == 0) {
  ------------------
  |  Branch (3878:9): [True: 0, False: 0]
  ------------------
 3879|      0|					sctp_reset_clear_pending(stcb, number_entries, req_out_param->list_of_streams);
 3880|      0|				}
 3881|      0|			} else if (type == SCTP_STR_RESET_IN_REQUEST) {
  ------------------
  |  |  404|      0|#define SCTP_STR_RESET_IN_REQUEST	0x000e
  ------------------
  |  Branch (3881:15): [True: 0, False: 0]
  ------------------
 3882|      0|				req_in_param = (struct sctp_stream_reset_in_request *)req_param;
 3883|      0|				number_entries = (lparam_len - sizeof(struct sctp_stream_reset_in_request)) / sizeof(uint16_t);
 3884|      0|				if (asoc->stream_reset_outstanding)
  ------------------
  |  Branch (3884:9): [True: 0, False: 0]
  ------------------
 3885|      0|					asoc->stream_reset_outstanding--;
 3886|      0|				if (action == SCTP_STREAM_RESET_RESULT_DENIED) {
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
  |  Branch (3886:9): [True: 0, False: 0]
  ------------------
 3887|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_DENIED_IN, stcb,
  ------------------
  |  |  724|      0|#define SCTP_NOTIFY_STR_RESET_DENIED_IN         22
  ------------------
 3888|      0|							number_entries, req_in_param->list_of_streams, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3889|      0|				} else if (action != SCTP_STREAM_RESET_RESULT_PERFORMED) {
  ------------------
  |  |  479|      0|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
  |  Branch (3889:16): [True: 0, False: 0]
  ------------------
 3890|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_FAILED_IN, stcb,
  ------------------
  |  |  722|      0|#define SCTP_NOTIFY_STR_RESET_FAILED_IN         20
  ------------------
 3891|      0|							number_entries, req_in_param->list_of_streams, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3892|      0|				}
 3893|      0|			} else if (type == SCTP_STR_RESET_ADD_OUT_STREAMS) {
  ------------------
  |  |  407|      0|#define SCTP_STR_RESET_ADD_OUT_STREAMS	0x0011
  ------------------
  |  Branch (3893:15): [True: 0, False: 0]
  ------------------
 3894|       |				/* Ok we now may have more streams */
 3895|      0|				int num_stream;
 3896|       |
 3897|      0|				num_stream = stcb->asoc.strm_pending_add_size;
 3898|      0|				if (num_stream > (stcb->asoc.strm_realoutsize - stcb->asoc.streamoutcnt)) {
  ------------------
  |  Branch (3898:9): [True: 0, False: 0]
  ------------------
 3899|       |					/* TSNH */
 3900|      0|					num_stream = stcb->asoc.strm_realoutsize - stcb->asoc.streamoutcnt;
 3901|      0|				}
 3902|      0|				stcb->asoc.strm_pending_add_size = 0;
 3903|      0|				if (asoc->stream_reset_outstanding)
  ------------------
  |  Branch (3903:9): [True: 0, False: 0]
  ------------------
 3904|      0|					asoc->stream_reset_outstanding--;
 3905|      0|				if (action == SCTP_STREAM_RESET_RESULT_PERFORMED) {
  ------------------
  |  |  479|      0|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
  |  Branch (3905:9): [True: 0, False: 0]
  ------------------
 3906|       |					/* Put the new streams into effect */
 3907|      0|					int i;
 3908|      0|					for (i = asoc->streamoutcnt; i < (asoc->streamoutcnt + num_stream); i++) {
  ------------------
  |  Branch (3908:35): [True: 0, False: 0]
  ------------------
 3909|      0|						asoc->strmout[i].state = SCTP_STREAM_OPEN;
  ------------------
  |  |  670|      0|#define SCTP_STREAM_OPEN             0x02
  ------------------
 3910|      0|					}
 3911|      0|					asoc->streamoutcnt += num_stream;
 3912|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  725|      0|#define SCTP_NOTIFY_STR_RESET_ADD               23
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3913|      0|				} else if (action == SCTP_STREAM_RESET_RESULT_DENIED) {
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
  |  Branch (3913:16): [True: 0, False: 0]
  ------------------
 3914|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  725|      0|#define SCTP_NOTIFY_STR_RESET_ADD               23
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  523|      0|#define SCTP_STREAM_CHANGE_DENIED	0x0004
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3915|      0|				} else {
 3916|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_FAILED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  725|      0|#define SCTP_NOTIFY_STR_RESET_ADD               23
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_FAILED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  524|      0|#define SCTP_STREAM_CHANGE_FAILED	0x0008
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_FAILED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3917|      0|				}
 3918|      0|			} else if (type == SCTP_STR_RESET_ADD_IN_STREAMS) {
  ------------------
  |  |  408|      0|#define SCTP_STR_RESET_ADD_IN_STREAMS	0x0012
  ------------------
  |  Branch (3918:15): [True: 0, False: 0]
  ------------------
 3919|      0|				if (asoc->stream_reset_outstanding)
  ------------------
  |  Branch (3919:9): [True: 0, False: 0]
  ------------------
 3920|      0|					asoc->stream_reset_outstanding--;
 3921|      0|				if (action == SCTP_STREAM_RESET_RESULT_DENIED) {
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
  |  Branch (3921:9): [True: 0, False: 0]
  ------------------
 3922|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  725|      0|#define SCTP_NOTIFY_STR_RESET_ADD               23
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  523|      0|#define SCTP_STREAM_CHANGE_DENIED	0x0004
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3923|      0|				} else if (action != SCTP_STREAM_RESET_RESULT_PERFORMED) {
  ------------------
  |  |  479|      0|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
  |  Branch (3923:16): [True: 0, False: 0]
  ------------------
 3924|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  725|      0|#define SCTP_NOTIFY_STR_RESET_ADD               23
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  523|      0|#define SCTP_STREAM_CHANGE_DENIED	0x0004
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, SCTP_STREAM_CHANGE_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3925|      0|				}
 3926|      0|			} else if (type == SCTP_STR_RESET_TSN_REQUEST) {
  ------------------
  |  |  405|      0|#define SCTP_STR_RESET_TSN_REQUEST	0x000f
  ------------------
  |  Branch (3926:15): [True: 0, False: 0]
  ------------------
 3927|       |				/**
 3928|       |				 * a) Adopt the new in tsn.
 3929|       |				 * b) reset the map
 3930|       |				 * c) Adopt the new out-tsn
 3931|       |				 */
 3932|      0|				struct sctp_stream_reset_response_tsn *resp;
 3933|      0|				struct sctp_forward_tsn_chunk fwdtsn;
 3934|      0|				int abort_flag = 0;
 3935|      0|				if (respin == NULL) {
  ------------------
  |  Branch (3935:9): [True: 0, False: 0]
  ------------------
 3936|       |					/* huh ? */
 3937|      0|					return (0);
 3938|      0|				}
 3939|      0|				if (ntohs(respin->ph.param_length) < sizeof(struct sctp_stream_reset_response_tsn)) {
  ------------------
  |  Branch (3939:9): [True: 0, False: 0]
  ------------------
 3940|      0|					return (0);
 3941|      0|				}
 3942|      0|				if (action == SCTP_STREAM_RESET_RESULT_PERFORMED) {
  ------------------
  |  |  479|      0|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
  |  Branch (3942:9): [True: 0, False: 0]
  ------------------
 3943|      0|					resp = (struct sctp_stream_reset_response_tsn *)respin;
 3944|      0|					asoc->stream_reset_outstanding--;
 3945|      0|					fwdtsn.ch.chunk_length = htons(sizeof(struct sctp_forward_tsn_chunk));
 3946|      0|					fwdtsn.ch.chunk_type = SCTP_FORWARD_CUM_TSN;
  ------------------
  |  |  490|      0|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
 3947|      0|					fwdtsn.new_cumulative_tsn = htonl(ntohl(resp->senders_next_tsn) - 1);
 3948|      0|					sctp_handle_forward_tsn(stcb, &fwdtsn, &abort_flag, NULL, 0);
 3949|      0|					if (abort_flag) {
  ------------------
  |  Branch (3949:10): [True: 0, False: 0]
  ------------------
 3950|      0|						return (1);
 3951|      0|					}
 3952|      0|					stcb->asoc.highest_tsn_inside_map = (ntohl(resp->senders_next_tsn) - 1);
 3953|      0|					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  652|      0|#define SCTP_MAP_LOGGING_ENABLE				0x00000100
  ------------------
  |  Branch (3953:10): [True: 0, False: 0]
  ------------------
 3954|      0|						sctp_log_map(0, 7, asoc->highest_tsn_inside_map, SCTP_MAP_SLIDE_RESULT);
  ------------------
  |  |  128|      0|#define SCTP_MAP_SLIDE_RESULT       23
  ------------------
 3955|      0|					}
 3956|       |
 3957|      0|					stcb->asoc.tsn_last_delivered = stcb->asoc.cumulative_tsn = stcb->asoc.highest_tsn_inside_map;
 3958|      0|					stcb->asoc.mapping_array_base_tsn = ntohl(resp->senders_next_tsn);
 3959|      0|					memset(stcb->asoc.mapping_array, 0, stcb->asoc.mapping_array_size);
 3960|       |
 3961|      0|					stcb->asoc.highest_tsn_inside_nr_map = stcb->asoc.highest_tsn_inside_map;
 3962|      0|					memset(stcb->asoc.nr_mapping_array, 0, stcb->asoc.mapping_array_size);
 3963|       |
 3964|      0|					stcb->asoc.sending_seq = ntohl(resp->receivers_next_tsn);
 3965|      0|					stcb->asoc.last_acked_seq = stcb->asoc.cumulative_tsn;
 3966|       |
 3967|      0|					sctp_reset_out_streams(stcb, 0, (uint16_t *) NULL);
 3968|      0|					sctp_reset_in_stream(stcb, 0, (uint16_t *) NULL);
 3969|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  726|      0|#define SCTP_NOTIFY_STR_RESET_TSN               24
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3970|      0|				} else if (action == SCTP_STREAM_RESET_RESULT_DENIED) {
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
  |  Branch (3970:16): [True: 0, False: 0]
  ------------------
 3971|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, SCTP_ASSOC_RESET_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  726|      0|#define SCTP_NOTIFY_STR_RESET_TSN               24
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, SCTP_ASSOC_RESET_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  508|      0|#define SCTP_ASSOC_RESET_DENIED		0x0004
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, SCTP_ASSOC_RESET_DENIED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3972|      0|				} else {
 3973|      0|					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, SCTP_ASSOC_RESET_FAILED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  726|      0|#define SCTP_NOTIFY_STR_RESET_TSN               24
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, SCTP_ASSOC_RESET_FAILED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  509|      0|#define SCTP_ASSOC_RESET_FAILED		0x0008
  ------------------
              					sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, SCTP_ASSOC_RESET_FAILED, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3974|      0|				}
 3975|      0|			}
 3976|       |			/* get rid of the request and get the request flags */
 3977|      0|			if (asoc->stream_reset_outstanding == 0) {
  ------------------
  |  Branch (3977:8): [True: 0, False: 0]
  ------------------
 3978|      0|				sctp_clean_up_stream_reset(stcb);
 3979|      0|			}
 3980|      0|		}
 3981|      0|	}
 3982|    255|	if (asoc->stream_reset_outstanding == 0) {
  ------------------
  |  Branch (3982:6): [True: 0, False: 255]
  ------------------
 3983|      0|		sctp_send_stream_reset_out_if_possible(stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3984|      0|	}
 3985|    255|	return (0);
 3986|    255|}
sctp_input.c:sctp_reset_out_streams:
 3722|     97|{
 3723|     97|	uint32_t i;
 3724|     97|	uint16_t temp;
 3725|       |
 3726|     97|	if (number_entries > 0) {
  ------------------
  |  Branch (3726:6): [True: 0, False: 97]
  ------------------
 3727|      0|		for (i = 0; i < number_entries; i++) {
  ------------------
  |  Branch (3727:15): [True: 0, False: 0]
  ------------------
 3728|      0|			temp = ntohs(list[i]);
 3729|      0|			if (temp >= stcb->asoc.streamoutcnt) {
  ------------------
  |  Branch (3729:8): [True: 0, False: 0]
  ------------------
 3730|       |				/* no such stream */
 3731|      0|				continue;
 3732|      0|			}
 3733|      0|			stcb->asoc.strmout[temp].next_mid_ordered = 0;
 3734|      0|			stcb->asoc.strmout[temp].next_mid_unordered = 0;
 3735|      0|		}
 3736|     97|	} else {
 3737|  25.0k|		for (i = 0; i < stcb->asoc.streamoutcnt; i++) {
  ------------------
  |  Branch (3737:15): [True: 24.9k, False: 97]
  ------------------
 3738|  24.9k|			stcb->asoc.strmout[i].next_mid_ordered = 0;
 3739|  24.9k|			stcb->asoc.strmout[i].next_mid_unordered = 0;
 3740|  24.9k|		}
 3741|     97|	}
 3742|     97|	sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_SEND, stcb, number_entries, (void *)list, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  720|     97|#define SCTP_NOTIFY_STR_RESET_SEND              18
  ------------------
              	sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_SEND, stcb, number_entries, (void *)list, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     97|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3743|     97|}
sctp_input.c:sctp_handle_str_reset_request_out:
 4123|  2.04k|{
 4124|  2.04k|	uint32_t seq, tsn;
 4125|  2.04k|	int number_entries, len;
 4126|  2.04k|	struct sctp_association *asoc = &stcb->asoc;
 4127|       |
 4128|  2.04k|	seq = ntohl(req->request_seq);
 4129|       |
 4130|       |	/* now if its not a duplicate we process it */
 4131|  2.04k|	if (asoc->str_reset_seq_in == seq) {
  ------------------
  |  Branch (4131:6): [True: 906, False: 1.13k]
  ------------------
 4132|    906|		len = ntohs(req->ph.param_length);
 4133|    906|		number_entries = ((len - sizeof(struct sctp_stream_reset_out_request)) / sizeof(uint16_t));
 4134|       |		/*
 4135|       |		 * the sender is resetting, handle the list issue.. we must
 4136|       |		 * a) verify if we can do the reset, if so no problem b) If
 4137|       |		 * we can't do the reset we must copy the request. c) queue
 4138|       |		 * it, and setup the data in processor to trigger it off
 4139|       |		 * when needed and dequeue all the queued data.
 4140|       |		 */
 4141|    906|		tsn = ntohl(req->send_reset_at_tsn);
 4142|       |
 4143|       |		/* move the reset action back one */
 4144|    906|		asoc->last_reset_action[1] = asoc->last_reset_action[0];
 4145|    906|		if ((asoc->local_strreset_support & SCTP_ENABLE_RESET_STREAM_REQ) == 0) {
  ------------------
  |  |  183|    906|#define SCTP_ENABLE_RESET_STREAM_REQ 	0x00000001
  ------------------
  |  Branch (4145:7): [True: 0, False: 906]
  ------------------
 4146|      0|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4147|    906|		} else if (trunc) {
  ------------------
  |  Branch (4147:14): [True: 4, False: 902]
  ------------------
 4148|      4|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|      4|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4149|    902|		} else if (SCTP_TSN_GE(asoc->cumulative_tsn, tsn)) {
  ------------------
  |  |  890|    902|#define SCTP_TSN_GE(a, b) SCTP_UINT32_GE(a, b)
  |  |  ------------------
  |  |  |  |  885|    902|#define SCTP_UINT32_GE(a, b) (SCTP_UINT32_GT(a, b) || (a == b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  883|  1.80k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (883:32): [True: 412, False: 490]
  |  |  |  |  |  |  |  Branch (883:43): [True: 0, False: 412]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  884|  1.80k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (884:32): [True: 480, False: 422]
  |  |  |  |  |  |  |  Branch (884:43): [True: 302, False: 178]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (885:55): [True: 10, False: 590]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4150|       |			/* we can do it now */
 4151|    312|			sctp_reset_in_stream(stcb, number_entries, req->list_of_streams);
 4152|    312|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_PERFORMED;
  ------------------
  |  |  479|    312|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
 4153|    590|		} else {
 4154|       |			/*
 4155|       |			 * we must queue it up and thus wait for the TSN's
 4156|       |			 * to arrive that are at or before tsn
 4157|       |			 */
 4158|    590|			struct sctp_stream_reset_list *liste;
 4159|    590|			int siz;
 4160|       |
 4161|    590|			siz = sizeof(struct sctp_stream_reset_list) + (number_entries * sizeof(uint16_t));
 4162|    590|			SCTP_MALLOC(liste, struct sctp_stream_reset_list *,
  ------------------
  |  |  669|    590|	do {								\
  |  |  670|    590|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|    590|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|    590|    do {								\
  |  |  |  |  198|    590|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  1.18k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|    590|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|    590|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4163|    590|				    siz, SCTP_M_STRESET);
 4164|    590|			if (liste == NULL) {
  ------------------
  |  Branch (4164:8): [True: 0, False: 590]
  ------------------
 4165|       |				/* gak out of memory */
 4166|      0|				asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4167|      0|				sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[0]);
 4168|      0|				return;
 4169|      0|			}
 4170|    590|			liste->seq = seq;
 4171|    590|			liste->tsn = tsn;
 4172|    590|			liste->number_entries = number_entries;
 4173|    590|			memcpy(&liste->list_of_streams, req->list_of_streams, number_entries * sizeof(uint16_t));
 4174|    590|			TAILQ_INSERT_TAIL(&asoc->resetHead, liste, next_resp);
 4175|    590|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_IN_PROGRESS;
  ------------------
  |  |  484|    590|#define SCTP_STREAM_RESET_RESULT_IN_PROGRESS     0x00000006 /* XXX: unused */
  ------------------
 4176|    590|		}
 4177|    906|		sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[0]);
 4178|    906|		asoc->str_reset_seq_in++;
 4179|  1.13k|	} else if ((asoc->str_reset_seq_in - 1) == seq) {
  ------------------
  |  Branch (4179:13): [True: 245, False: 889]
  ------------------
 4180|       |		/*
 4181|       |		 * one seq back, just echo back last action since my
 4182|       |		 * response was lost.
 4183|       |		 */
 4184|    245|		sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[0]);
 4185|    889|	} else if ((asoc->str_reset_seq_in - 2) == seq) {
  ------------------
  |  Branch (4185:13): [True: 196, False: 693]
  ------------------
 4186|       |		/*
 4187|       |		 * two seq back, just echo back last action since my
 4188|       |		 * response was lost.
 4189|       |		 */
 4190|    196|		sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[1]);
 4191|    693|	} else {
 4192|    693|		sctp_add_stream_reset_result(chk, seq, SCTP_STREAM_RESET_RESULT_ERR_BAD_SEQNO);
  ------------------
  |  |  483|    693|#define SCTP_STREAM_RESET_RESULT_ERR_BAD_SEQNO   0x00000005
  ------------------
 4193|    693|	}
 4194|  2.04k|}
sctp_input.c:sctp_handle_str_reset_add_strm:
 4199|    823|{
 4200|       |	/*
 4201|       |	 * Peer is requesting to add more streams.
 4202|       |	 * If its within our max-streams we will
 4203|       |	 * allow it.
 4204|       |	 */
 4205|    823|	uint32_t num_stream, i;
 4206|    823|	uint32_t seq;
 4207|    823|	struct sctp_association *asoc = &stcb->asoc;
 4208|    823|	struct sctp_queued_to_read *ctl, *nctl;
 4209|       |
 4210|       |	/* Get the number. */
 4211|    823|	seq = ntohl(str_add->request_seq);
 4212|    823|	num_stream = ntohs(str_add->number_of_streams);
 4213|       |	/* Now what would be the new total? */
 4214|    823|	if (asoc->str_reset_seq_in == seq) {
  ------------------
  |  Branch (4214:6): [True: 80, False: 743]
  ------------------
 4215|     80|		num_stream += stcb->asoc.streamincnt;
 4216|     80|		stcb->asoc.last_reset_action[1] = stcb->asoc.last_reset_action[0];
 4217|     80|		if ((asoc->local_strreset_support & SCTP_ENABLE_CHANGE_ASSOC_REQ) == 0) {
  ------------------
  |  |  185|     80|#define SCTP_ENABLE_CHANGE_ASSOC_REQ 	0x00000004
  ------------------
  |  Branch (4217:7): [True: 0, False: 80]
  ------------------
 4218|      0|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4219|     80|		} else if ((num_stream > stcb->asoc.max_inbound_streams) ||
  ------------------
  |  Branch (4219:14): [True: 39, False: 41]
  ------------------
 4220|     80|		           (num_stream > 0xffff)) {
  ------------------
  |  Branch (4220:14): [True: 0, False: 41]
  ------------------
 4221|       |			/* We must reject it they ask for to many */
 4222|     39|  denied:
 4223|     39|			stcb->asoc.last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|     39|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4224|     41|		} else {
 4225|       |			/* Ok, we can do that :-) */
 4226|     41|			struct sctp_stream_in *oldstrm;
 4227|       |
 4228|       |			/* save off the old */
 4229|     41|			oldstrm = stcb->asoc.strmin;
 4230|     41|			SCTP_MALLOC(stcb->asoc.strmin, struct sctp_stream_in *,
  ------------------
  |  |  669|     41|	do {								\
  |  |  670|     41|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|     41|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|     41|    do {								\
  |  |  |  |  198|     41|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|     82|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|     41|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|     41|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4231|     41|			            (num_stream * sizeof(struct sctp_stream_in)),
 4232|     41|			            SCTP_M_STRMI);
 4233|     41|			if (stcb->asoc.strmin == NULL) {
  ------------------
  |  Branch (4233:8): [True: 0, False: 41]
  ------------------
 4234|      0|				stcb->asoc.strmin = oldstrm;
 4235|      0|				goto denied;
 4236|      0|			}
 4237|       |			/* copy off the old data */
 4238|  10.5k|			for (i = 0; i < stcb->asoc.streamincnt; i++) {
  ------------------
  |  Branch (4238:16): [True: 10.5k, False: 41]
  ------------------
 4239|  10.5k|				TAILQ_INIT(&stcb->asoc.strmin[i].inqueue);
 4240|  10.5k|				TAILQ_INIT(&stcb->asoc.strmin[i].uno_inqueue);
 4241|  10.5k|				stcb->asoc.strmin[i].sid = i;
 4242|  10.5k|				stcb->asoc.strmin[i].last_mid_delivered = oldstrm[i].last_mid_delivered;
 4243|  10.5k|				stcb->asoc.strmin[i].delivery_started = oldstrm[i].delivery_started;
 4244|  10.5k|				stcb->asoc.strmin[i].pd_api_started = oldstrm[i].pd_api_started;
 4245|       |				/* now anything on those queues? */
 4246|  10.5k|				TAILQ_FOREACH_SAFE(ctl, &oldstrm[i].inqueue, next_instrm, nctl) {
  ------------------
  |  | 1123|  10.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  10.5k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 10.5k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  10.5k|              (var) = (tvar))
  ------------------
 4247|      0|					TAILQ_REMOVE(&oldstrm[i].inqueue, ctl, next_instrm);
 4248|      0|					TAILQ_INSERT_TAIL(&stcb->asoc.strmin[i].inqueue, ctl, next_instrm);
 4249|      0|				}
 4250|  10.5k|				TAILQ_FOREACH_SAFE(ctl, &oldstrm[i].uno_inqueue, next_instrm, nctl) {
  ------------------
  |  | 1123|  10.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  10.5k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 10.5k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  10.5k|              (var) = (tvar))
  ------------------
 4251|      0|					TAILQ_REMOVE(&oldstrm[i].uno_inqueue, ctl, next_instrm);
 4252|      0|					TAILQ_INSERT_TAIL(&stcb->asoc.strmin[i].uno_inqueue, ctl, next_instrm);
 4253|      0|				}
 4254|  10.5k|			}
 4255|       |			/* Init the new streams */
 4256|     41|			for (i = stcb->asoc.streamincnt; i < num_stream; i++) {
  ------------------
  |  Branch (4256:37): [True: 0, False: 41]
  ------------------
 4257|      0|				TAILQ_INIT(&stcb->asoc.strmin[i].inqueue);
 4258|      0|				TAILQ_INIT(&stcb->asoc.strmin[i].uno_inqueue);
 4259|      0|				stcb->asoc.strmin[i].sid = i;
 4260|      0|				stcb->asoc.strmin[i].last_mid_delivered = 0xffffffff;
 4261|      0|				stcb->asoc.strmin[i].pd_api_started = 0;
 4262|      0|				stcb->asoc.strmin[i].delivery_started = 0;
 4263|      0|			}
 4264|     41|			SCTP_FREE(oldstrm, SCTP_M_STRMI);
  ------------------
  |  |  673|     41|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|     41|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 4265|       |			/* update the size */
 4266|     41|			stcb->asoc.streamincnt = num_stream;
 4267|     41|			stcb->asoc.last_reset_action[0] = SCTP_STREAM_RESET_RESULT_PERFORMED;
  ------------------
  |  |  479|     41|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
 4268|     41|			sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  725|     41|#define SCTP_NOTIFY_STR_RESET_ADD               23
  ------------------
              			sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_ADD, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     41|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 4269|     41|		}
 4270|     80|		sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[0]);
 4271|     80|		asoc->str_reset_seq_in++;
 4272|    743|	} else if ((asoc->str_reset_seq_in - 1) == seq) {
  ------------------
  |  Branch (4272:13): [True: 222, False: 521]
  ------------------
 4273|       |		/*
 4274|       |		 * one seq back, just echo back last action since my
 4275|       |		 * response was lost.
 4276|       |		 */
 4277|    222|		sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[0]);
 4278|    521|	} else if ((asoc->str_reset_seq_in - 2) == seq) {
  ------------------
  |  Branch (4278:13): [True: 194, False: 327]
  ------------------
 4279|       |		/*
 4280|       |		 * two seq back, just echo back last action since my
 4281|       |		 * response was lost.
 4282|       |		 */
 4283|    194|		sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[1]);
 4284|    327|	} else {
 4285|    327|		sctp_add_stream_reset_result(chk, seq, SCTP_STREAM_RESET_RESULT_ERR_BAD_SEQNO);
  ------------------
  |  |  483|    327|#define SCTP_STREAM_RESET_RESULT_ERR_BAD_SEQNO   0x00000005
  ------------------
 4286|    327|	}
 4287|    823|}
sctp_input.c:sctp_handle_str_reset_add_out_strm:
 4292|    797|{
 4293|       |	/*
 4294|       |	 * Peer is requesting to add more streams.
 4295|       |	 * If its within our max-streams we will
 4296|       |	 * allow it.
 4297|       |	 */
 4298|    797|	uint16_t num_stream;
 4299|    797|	uint32_t seq;
 4300|    797|	struct sctp_association *asoc = &stcb->asoc;
 4301|       |
 4302|       |	/* Get the number. */
 4303|    797|	seq = ntohl(str_add->request_seq);
 4304|    797|	num_stream = ntohs(str_add->number_of_streams);
 4305|       |	/* Now what would be the new total? */
 4306|    797|	if (asoc->str_reset_seq_in == seq) {
  ------------------
  |  Branch (4306:6): [True: 128, False: 669]
  ------------------
 4307|    128|		stcb->asoc.last_reset_action[1] = stcb->asoc.last_reset_action[0];
 4308|    128|		if ((asoc->local_strreset_support & SCTP_ENABLE_CHANGE_ASSOC_REQ) == 0) {
  ------------------
  |  |  185|    128|#define SCTP_ENABLE_CHANGE_ASSOC_REQ 	0x00000004
  ------------------
  |  Branch (4308:7): [True: 0, False: 128]
  ------------------
 4309|      0|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4310|    128|		} else if (stcb->asoc.stream_reset_outstanding) {
  ------------------
  |  Branch (4310:14): [True: 10, False: 118]
  ------------------
 4311|       |			/* We must reject it we have something pending */
 4312|     10|			stcb->asoc.last_reset_action[0] = SCTP_STREAM_RESET_RESULT_ERR_IN_PROGRESS;
  ------------------
  |  |  482|     10|#define SCTP_STREAM_RESET_RESULT_ERR_IN_PROGRESS 0x00000004
  ------------------
 4313|    118|		} else {
 4314|       |			/* Ok, we can do that :-) */
 4315|    118|			int mychk;
 4316|    118|			mychk = stcb->asoc.streamoutcnt;
 4317|    118|			mychk += num_stream;
 4318|    118|			if (mychk < 0x10000) {
  ------------------
  |  Branch (4318:8): [True: 108, False: 10]
  ------------------
 4319|    108|				stcb->asoc.last_reset_action[0] = SCTP_STREAM_RESET_RESULT_PERFORMED;
  ------------------
  |  |  479|    108|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
 4320|    108|				if (sctp_send_str_reset_req(stcb, 0, NULL, 0, 0, 1, num_stream, 0, 1)) {
  ------------------
  |  Branch (4320:9): [True: 0, False: 108]
  ------------------
 4321|      0|					stcb->asoc.last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4322|      0|				}
 4323|    108|			} else {
 4324|     10|				stcb->asoc.last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|     10|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4325|     10|			}
 4326|    118|		}
 4327|    128|		sctp_add_stream_reset_result(chk, seq, stcb->asoc.last_reset_action[0]);
 4328|    128|		asoc->str_reset_seq_in++;
 4329|    669|	} else if ((asoc->str_reset_seq_in - 1) == seq) {
  ------------------
  |  Branch (4329:13): [True: 203, False: 466]
  ------------------
 4330|       |		/*
 4331|       |		 * one seq back, just echo back last action since my
 4332|       |		 * response was lost.
 4333|       |		 */
 4334|    203|		sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[0]);
 4335|    466|	} else if ((asoc->str_reset_seq_in - 2) == seq) {
  ------------------
  |  Branch (4335:13): [True: 196, False: 270]
  ------------------
 4336|       |		/*
 4337|       |		 * two seq back, just echo back last action since my
 4338|       |		 * response was lost.
 4339|       |		 */
 4340|    196|		sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[1]);
 4341|    270|	} else {
 4342|    270|		sctp_add_stream_reset_result(chk, seq, SCTP_STREAM_RESET_RESULT_ERR_BAD_SEQNO);
  ------------------
  |  |  483|    270|#define SCTP_STREAM_RESET_RESULT_ERR_BAD_SEQNO   0x00000005
  ------------------
 4343|    270|	}
 4344|    797|}
sctp_input.c:sctp_handle_str_reset_request_in:
 3992|  5.39k|{
 3993|  5.39k|	uint32_t seq;
 3994|  5.39k|	int len, i;
 3995|  5.39k|	int number_entries;
 3996|  5.39k|	uint16_t temp;
 3997|       |
 3998|       |	/*
 3999|       |	 * peer wants me to send a str-reset to him for my outgoing seq's if
 4000|       |	 * seq_in is right.
 4001|       |	 */
 4002|  5.39k|	struct sctp_association *asoc = &stcb->asoc;
 4003|       |
 4004|  5.39k|	seq = ntohl(req->request_seq);
 4005|  5.39k|	if (asoc->str_reset_seq_in == seq) {
  ------------------
  |  Branch (4005:6): [True: 321, False: 5.07k]
  ------------------
 4006|    321|		asoc->last_reset_action[1] = asoc->last_reset_action[0];
 4007|    321|		if ((asoc->local_strreset_support & SCTP_ENABLE_RESET_STREAM_REQ) == 0) {
  ------------------
  |  |  183|    321|#define SCTP_ENABLE_RESET_STREAM_REQ 	0x00000001
  ------------------
  |  Branch (4007:7): [True: 0, False: 321]
  ------------------
 4008|      0|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4009|    321|		} else if (trunc) {
  ------------------
  |  Branch (4009:14): [True: 1, False: 320]
  ------------------
 4010|       |			/* Can't do it, since they exceeded our buffer size  */
 4011|      1|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|      1|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4012|    320|		} else if (stcb->asoc.stream_reset_out_is_outstanding == 0) {
  ------------------
  |  Branch (4012:14): [True: 320, False: 0]
  ------------------
 4013|    320|			len = ntohs(req->ph.param_length);
 4014|    320|			number_entries = ((len - sizeof(struct sctp_stream_reset_in_request)) / sizeof(uint16_t));
 4015|    320|			if (number_entries) {
  ------------------
  |  Branch (4015:8): [True: 198, False: 122]
  ------------------
 4016|    959|				for (i = 0; i < number_entries; i++) {
  ------------------
  |  Branch (4016:17): [True: 794, False: 165]
  ------------------
 4017|    794|					temp = ntohs(req->list_of_streams[i]);
 4018|    794|					if (temp >= stcb->asoc.streamoutcnt) {
  ------------------
  |  Branch (4018:10): [True: 33, False: 761]
  ------------------
 4019|     33|						asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|     33|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4020|     33|						goto bad_boy;
 4021|     33|					}
 4022|    761|					req->list_of_streams[i] = temp;
 4023|    761|				}
 4024|    922|				for (i = 0; i < number_entries; i++) {
  ------------------
  |  Branch (4024:17): [True: 757, False: 165]
  ------------------
 4025|    757|					if (stcb->asoc.strmout[req->list_of_streams[i]].state == SCTP_STREAM_OPEN) {
  ------------------
  |  |  670|    757|#define SCTP_STREAM_OPEN             0x02
  ------------------
  |  Branch (4025:10): [True: 385, False: 372]
  ------------------
 4026|    385|						stcb->asoc.strmout[req->list_of_streams[i]].state = SCTP_STREAM_RESET_PENDING;
  ------------------
  |  |  671|    385|#define SCTP_STREAM_RESET_PENDING    0x03
  ------------------
 4027|    385|					}
 4028|    757|				}
 4029|    165|			} else {
 4030|       |				/* Its all */
 4031|  31.4k|				for (i = 0; i < stcb->asoc.streamoutcnt; i++) {
  ------------------
  |  Branch (4031:17): [True: 31.3k, False: 122]
  ------------------
 4032|  31.3k|					if (stcb->asoc.strmout[i].state == SCTP_STREAM_OPEN)
  ------------------
  |  |  670|  31.3k|#define SCTP_STREAM_OPEN             0x02
  ------------------
  |  Branch (4032:10): [True: 28.0k, False: 3.27k]
  ------------------
 4033|  28.0k|						stcb->asoc.strmout[i].state = SCTP_STREAM_RESET_PENDING;
  ------------------
  |  |  671|  28.0k|#define SCTP_STREAM_RESET_PENDING    0x03
  ------------------
 4034|  31.3k|				}
 4035|    122|			}
 4036|    287|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_PERFORMED;
  ------------------
  |  |  479|    287|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
 4037|    287|		} else {
 4038|       |			/* Can't do it, since we have sent one out */
 4039|      0|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_ERR_IN_PROGRESS;
  ------------------
  |  |  482|      0|#define SCTP_STREAM_RESET_RESULT_ERR_IN_PROGRESS 0x00000004
  ------------------
 4040|      0|		}
 4041|    321|	bad_boy:
 4042|    321|		sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[0]);
 4043|    321|		asoc->str_reset_seq_in++;
 4044|  5.07k|	} else if (asoc->str_reset_seq_in - 1 == seq) {
  ------------------
  |  Branch (4044:13): [True: 1.02k, False: 4.04k]
  ------------------
 4045|  1.02k|		sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[0]);
 4046|  4.04k|	} else if (asoc->str_reset_seq_in - 2 == seq) {
  ------------------
  |  Branch (4046:13): [True: 924, False: 3.12k]
  ------------------
 4047|    924|		sctp_add_stream_reset_result(chk, seq, asoc->last_reset_action[1]);
 4048|  3.12k|	} else {
 4049|  3.12k|		sctp_add_stream_reset_result(chk, seq, SCTP_STREAM_RESET_RESULT_ERR_BAD_SEQNO);
  ------------------
  |  |  483|  3.12k|#define SCTP_STREAM_RESET_RESULT_ERR_BAD_SEQNO   0x00000005
  ------------------
 4050|  3.12k|	}
 4051|  5.39k|	sctp_send_stream_reset_out_if_possible(stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  5.39k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 4052|  5.39k|}
sctp_input.c:sctp_handle_str_reset_request_tsn:
 4058|  1.27k|{
 4059|       |	/* reset all in and out and update the tsn */
 4060|       |	/*
 4061|       |	 * A) reset my str-seq's on in and out. B) Select a receive next,
 4062|       |	 * and set cum-ack to it. Also process this selected number as a
 4063|       |	 * fwd-tsn as well. C) set in the response my next sending seq.
 4064|       |	 */
 4065|  1.27k|	struct sctp_forward_tsn_chunk fwdtsn;
 4066|  1.27k|	struct sctp_association *asoc = &stcb->asoc;
 4067|  1.27k|	int abort_flag = 0;
 4068|  1.27k|	uint32_t seq;
 4069|       |
 4070|  1.27k|	seq = ntohl(req->request_seq);
 4071|  1.27k|	if (asoc->str_reset_seq_in == seq) {
  ------------------
  |  Branch (4071:6): [True: 97, False: 1.17k]
  ------------------
 4072|     97|		asoc->last_reset_action[1] = stcb->asoc.last_reset_action[0];
 4073|     97|		if ((asoc->local_strreset_support & SCTP_ENABLE_CHANGE_ASSOC_REQ) == 0) {
  ------------------
  |  |  185|     97|#define SCTP_ENABLE_CHANGE_ASSOC_REQ 	0x00000004
  ------------------
  |  Branch (4073:7): [True: 0, False: 97]
  ------------------
 4074|      0|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_DENIED;
  ------------------
  |  |  480|      0|#define SCTP_STREAM_RESET_RESULT_DENIED          0x00000002
  ------------------
 4075|     97|		} else {
 4076|     97|			fwdtsn.ch.chunk_length = htons(sizeof(struct sctp_forward_tsn_chunk));
 4077|     97|			fwdtsn.ch.chunk_type = SCTP_FORWARD_CUM_TSN;
  ------------------
  |  |  490|     97|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
 4078|     97|			fwdtsn.ch.chunk_flags = 0;
 4079|     97|			fwdtsn.new_cumulative_tsn = htonl(stcb->asoc.highest_tsn_inside_map + 1);
 4080|     97|			sctp_handle_forward_tsn(stcb, &fwdtsn, &abort_flag, NULL, 0);
 4081|     97|			if (abort_flag) {
  ------------------
  |  Branch (4081:8): [True: 0, False: 97]
  ------------------
 4082|      0|				return (1);
 4083|      0|			}
 4084|     97|			asoc->highest_tsn_inside_map += SCTP_STREAM_RESET_TSN_DELTA;
  ------------------
  |  |  411|     97|#define SCTP_STREAM_RESET_TSN_DELTA	0x1000
  ------------------
 4085|     97|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  584|     97|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
  ------------------
  |  |  652|     97|#define SCTP_MAP_LOGGING_ENABLE				0x00000100
  ------------------
  |  Branch (4085:8): [True: 0, False: 97]
  ------------------
 4086|      0|				sctp_log_map(0, 10, asoc->highest_tsn_inside_map, SCTP_MAP_SLIDE_RESULT);
  ------------------
  |  |  128|      0|#define SCTP_MAP_SLIDE_RESULT       23
  ------------------
 4087|      0|			}
 4088|     97|			asoc->tsn_last_delivered = asoc->cumulative_tsn = asoc->highest_tsn_inside_map;
 4089|     97|			asoc->mapping_array_base_tsn = asoc->highest_tsn_inside_map + 1;
 4090|     97|			memset(asoc->mapping_array, 0, asoc->mapping_array_size);
 4091|     97|			asoc->highest_tsn_inside_nr_map = asoc->highest_tsn_inside_map;
 4092|     97|			memset(asoc->nr_mapping_array, 0, asoc->mapping_array_size);
 4093|     97|			atomic_add_int(&asoc->sending_seq, 1);
  ------------------
  |  |   94|     97|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 4094|       |			/* save off historical data for retrans */
 4095|     97|			asoc->last_sending_seq[1] = asoc->last_sending_seq[0];
 4096|     97|			asoc->last_sending_seq[0] = asoc->sending_seq;
 4097|     97|			asoc->last_base_tsnsent[1] = asoc->last_base_tsnsent[0];
 4098|     97|			asoc->last_base_tsnsent[0] = asoc->mapping_array_base_tsn;
 4099|     97|			sctp_reset_out_streams(stcb, 0, (uint16_t *) NULL);
 4100|     97|			sctp_reset_in_stream(stcb, 0, (uint16_t *) NULL);
 4101|     97|			asoc->last_reset_action[0] = SCTP_STREAM_RESET_RESULT_PERFORMED;
  ------------------
  |  |  479|     97|#define SCTP_STREAM_RESET_RESULT_PERFORMED       0x00000001
  ------------------
 4102|     97|			sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  726|     97|#define SCTP_NOTIFY_STR_RESET_TSN               24
  ------------------
              			sctp_ulp_notify(SCTP_NOTIFY_STR_RESET_TSN, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|     97|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 4103|     97|		}
 4104|     97|		sctp_add_stream_reset_result_tsn(chk, seq, asoc->last_reset_action[0],
 4105|     97|		                                 asoc->last_sending_seq[0], asoc->last_base_tsnsent[0]);
 4106|     97|		asoc->str_reset_seq_in++;
 4107|  1.17k|	} else if (asoc->str_reset_seq_in - 1 == seq) {
  ------------------
  |  Branch (4107:13): [True: 503, False: 676]
  ------------------
 4108|    503|		sctp_add_stream_reset_result_tsn(chk, seq, asoc->last_reset_action[0],
 4109|    503|		                                 asoc->last_sending_seq[0], asoc->last_base_tsnsent[0]);
 4110|    676|	} else if (asoc->str_reset_seq_in - 2 == seq) {
  ------------------
  |  Branch (4110:13): [True: 344, False: 332]
  ------------------
 4111|    344|		sctp_add_stream_reset_result_tsn(chk, seq, asoc->last_reset_action[1],
 4112|    344|		                                 asoc->last_sending_seq[1], asoc->last_base_tsnsent[1]);
 4113|    344|	} else {
 4114|    332|		sctp_add_stream_reset_result(chk, seq, SCTP_STREAM_RESET_RESULT_ERR_BAD_SEQNO);
  ------------------
  |  |  483|    332|#define SCTP_STREAM_RESET_RESULT_ERR_BAD_SEQNO   0x00000005
  ------------------
 4115|    332|	}
 4116|  1.27k|	return (0);
 4117|  1.27k|}
sctp_input.c:sctp_handle_packet_dropped:
 4529|  8.70k|{
 4530|  8.70k|	struct sctp_chunk_desc desc;
 4531|  8.70k|	struct sctp_chunkhdr *chk_hdr;
 4532|  8.70k|	struct sctp_data_chunk *data_chunk;
 4533|  8.70k|	struct sctp_idata_chunk *idata_chunk;
 4534|  8.70k|	uint32_t bottle_bw, on_queue;
 4535|  8.70k|	uint32_t offset, chk_len;
 4536|  8.70k|	uint16_t pktdrp_len;
 4537|  8.70k|	uint8_t pktdrp_flags;
 4538|       |
 4539|  8.70k|	KASSERT(sizeof(struct sctp_pktdrop_chunk) <= limit,
  ------------------
  |  |  112|  8.70k|	do {                         \
  |  |  113|  8.70k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 8.70k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  8.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4540|  8.70k|	        ("PKTDROP chunk too small"));
 4541|  8.70k|	pktdrp_flags = cp->ch.chunk_flags;
 4542|  8.70k|	pktdrp_len = ntohs(cp->ch.chunk_length);
 4543|  8.70k|	KASSERT(limit <= pktdrp_len, ("Inconsistent limit"));
  ------------------
  |  |  112|  8.70k|	do {                         \
  |  |  113|  8.70k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 8.70k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  8.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4544|  8.70k|	if (pktdrp_flags & SCTP_PACKET_TRUNCATED) {
  ------------------
  |  |  501|  8.70k|#define SCTP_PACKET_TRUNCATED	0x04
  ------------------
  |  Branch (4544:6): [True: 5.84k, False: 2.85k]
  ------------------
 4545|  5.84k|		if (ntohs(cp->trunc_len) <= pktdrp_len - sizeof(struct sctp_pktdrop_chunk)) {
  ------------------
  |  Branch (4545:7): [True: 272, False: 5.57k]
  ------------------
 4546|       |			/* The peer plays games with us. */
 4547|    272|			return;
 4548|    272|		}
 4549|  5.84k|	}
 4550|  8.43k|	limit -= sizeof(struct sctp_pktdrop_chunk);
 4551|  8.43k|	offset = 0;
 4552|  8.43k|	if (offset == limit) {
  ------------------
  |  Branch (4552:6): [True: 1.61k, False: 6.81k]
  ------------------
 4553|  1.61k|		if (pktdrp_flags & SCTP_FROM_MIDDLE_BOX) {
  ------------------
  |  |  499|  1.61k|#define SCTP_FROM_MIDDLE_BOX	SCTP_HAD_NO_TCB
  |  |  ------------------
  |  |  |  |  496|  1.61k|#define SCTP_HAD_NO_TCB		0x01
  |  |  ------------------
  ------------------
  |  Branch (4553:7): [True: 218, False: 1.39k]
  ------------------
 4554|    218|			SCTP_STAT_INCR(sctps_pdrpbwrpt);
  ------------------
  |  | 1112|    218|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    218|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    218|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4555|    218|		}
 4556|  6.81k|	} else if (offset + sizeof(struct sctphdr) > limit) {
  ------------------
  |  Branch (4556:13): [True: 480, False: 6.33k]
  ------------------
 4557|       |		/* Only a partial SCTP common header. */
 4558|    480|		SCTP_STAT_INCR(sctps_pdrpcrupt);
  ------------------
  |  | 1112|    480|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    480|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    480|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4559|    480|		offset = limit;
 4560|  6.33k|	} else {
 4561|       |		/* XXX: Check embedded SCTP common header. */
 4562|  6.33k|		offset += sizeof(struct sctphdr);
 4563|  6.33k|	}
 4564|       |	/* Now parse through the chunks themselves. */
 4565|  83.7k|	while (offset < limit) {
  ------------------
  |  Branch (4565:9): [True: 77.3k, False: 6.38k]
  ------------------
 4566|  77.3k|		if (offset + sizeof(struct sctp_chunkhdr) > limit) {
  ------------------
  |  Branch (4566:7): [True: 457, False: 76.9k]
  ------------------
 4567|    457|			SCTP_STAT_INCR(sctps_pdrpcrupt);
  ------------------
  |  | 1112|    457|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    457|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    457|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4568|    457|			break;
 4569|    457|		}
 4570|  76.9k|		chk_hdr = (struct sctp_chunkhdr *)(cp->data + offset);
 4571|  76.9k|		desc.chunk_type = chk_hdr->chunk_type;
 4572|       |		/* get amount we need to move */
 4573|  76.9k|		chk_len = (uint32_t)ntohs(chk_hdr->chunk_length);
 4574|  76.9k|		if (chk_len < sizeof(struct sctp_chunkhdr)) {
  ------------------
  |  Branch (4574:7): [True: 334, False: 76.5k]
  ------------------
 4575|       |			/* Someone is lying... */
 4576|    334|			break;
 4577|    334|		}
 4578|  76.5k|		if (desc.chunk_type == SCTP_DATA) {
  ------------------
  |  |  457|  76.5k|#define SCTP_DATA		0x00
  ------------------
  |  Branch (4578:7): [True: 1.36k, False: 75.2k]
  ------------------
 4579|  1.36k|			if (stcb->asoc.idata_supported) {
  ------------------
  |  Branch (4579:8): [True: 211, False: 1.15k]
  ------------------
 4580|       |				/* Some is playing games with us. */
 4581|    211|				break;
 4582|    211|			}
 4583|  1.15k|			if (chk_len <= sizeof(struct sctp_data_chunk)) {
  ------------------
  |  Branch (4583:8): [True: 214, False: 944]
  ------------------
 4584|       |				/* Some is playing games with us. */
 4585|    214|				break;
 4586|    214|			}
 4587|    944|			if (chk_len < sizeof(struct sctp_data_chunk) + SCTP_NUM_DB_TO_VERIFY) {
  ------------------
  |  |  414|    944|#define SCTP_NUM_DB_TO_VERIFY 31
  ------------------
  |  Branch (4587:8): [True: 200, False: 744]
  ------------------
 4588|       |				/* Not enough data bytes available in the chunk. */
 4589|    200|				SCTP_STAT_INCR(sctps_pdrpnedat);
  ------------------
  |  | 1112|    200|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    200|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    200|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4590|    200|				goto next_chunk;
 4591|    200|			}
 4592|    744|			if (offset + sizeof(struct sctp_data_chunk) + SCTP_NUM_DB_TO_VERIFY > limit) {
  ------------------
  |  |  414|    744|#define SCTP_NUM_DB_TO_VERIFY 31
  ------------------
  |  Branch (4592:8): [True: 228, False: 516]
  ------------------
 4593|       |				/* Not enough data in buffer. */
 4594|    228|				break;
 4595|    228|			}
 4596|    516|			data_chunk = (struct sctp_data_chunk *)(cp->data + offset);
 4597|    516|			memcpy(desc.data_bytes, data_chunk + 1, SCTP_NUM_DB_TO_VERIFY);
  ------------------
  |  |  414|    516|#define SCTP_NUM_DB_TO_VERIFY 31
  ------------------
 4598|    516|			desc.tsn_ifany = data_chunk->dp.tsn;
 4599|    516|			if (pktdrp_flags & SCTP_FROM_MIDDLE_BOX) {
  ------------------
  |  |  499|    516|#define SCTP_FROM_MIDDLE_BOX	SCTP_HAD_NO_TCB
  |  |  ------------------
  |  |  |  |  496|    516|#define SCTP_HAD_NO_TCB		0x01
  |  |  ------------------
  ------------------
  |  Branch (4599:8): [True: 220, False: 296]
  ------------------
 4600|    220|				SCTP_STAT_INCR(sctps_pdrpmbda);
  ------------------
  |  | 1112|    220|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    220|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    220|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4601|    220|			}
 4602|  75.2k|		} else if (desc.chunk_type == SCTP_IDATA) {
  ------------------
  |  |  477|  75.2k|#define SCTP_IDATA		0x40
  ------------------
  |  Branch (4602:14): [True: 1.34k, False: 73.8k]
  ------------------
 4603|  1.34k|			if (!stcb->asoc.idata_supported) {
  ------------------
  |  Branch (4603:8): [True: 195, False: 1.14k]
  ------------------
 4604|       |				/* Some is playing games with us. */
 4605|    195|				break;
 4606|    195|			}
 4607|  1.14k|			if (chk_len <= sizeof(struct sctp_idata_chunk)) {
  ------------------
  |  Branch (4607:8): [True: 74, False: 1.07k]
  ------------------
 4608|       |				/* Some is playing games with us. */
 4609|     74|				break;
 4610|     74|			}
 4611|  1.07k|			if (chk_len < sizeof(struct sctp_idata_chunk) + SCTP_NUM_DB_TO_VERIFY) {
  ------------------
  |  |  414|  1.07k|#define SCTP_NUM_DB_TO_VERIFY 31
  ------------------
  |  Branch (4611:8): [True: 204, False: 867]
  ------------------
 4612|       |				/* Not enough data bytes available in the chunk. */
 4613|    204|				SCTP_STAT_INCR(sctps_pdrpnedat);
  ------------------
  |  | 1112|    204|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    204|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    204|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4614|    204|				goto next_chunk;
 4615|    204|			}
 4616|    867|			if (offset + sizeof(struct sctp_idata_chunk) + SCTP_NUM_DB_TO_VERIFY > limit) {
  ------------------
  |  |  414|    867|#define SCTP_NUM_DB_TO_VERIFY 31
  ------------------
  |  Branch (4616:8): [True: 333, False: 534]
  ------------------
 4617|       |				/* Not enough data in buffer. */
 4618|    333|				break;
 4619|    333|			}
 4620|    534|			idata_chunk = (struct sctp_idata_chunk *)(cp->data + offset);
 4621|    534|			memcpy(desc.data_bytes, idata_chunk + 1, SCTP_NUM_DB_TO_VERIFY);
  ------------------
  |  |  414|    534|#define SCTP_NUM_DB_TO_VERIFY 31
  ------------------
 4622|    534|			desc.tsn_ifany = idata_chunk->dp.tsn;
 4623|    534|			if (pktdrp_flags & SCTP_FROM_MIDDLE_BOX) {
  ------------------
  |  |  499|    534|#define SCTP_FROM_MIDDLE_BOX	SCTP_HAD_NO_TCB
  |  |  ------------------
  |  |  |  |  496|    534|#define SCTP_HAD_NO_TCB		0x01
  |  |  ------------------
  ------------------
  |  Branch (4623:8): [True: 232, False: 302]
  ------------------
 4624|    232|				SCTP_STAT_INCR(sctps_pdrpmbda);
  ------------------
  |  | 1112|    232|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    232|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    232|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4625|    232|			}
 4626|  73.8k|		} else {
 4627|  73.8k|			desc.tsn_ifany = htonl(0);
 4628|  73.8k|			memset(desc.data_bytes, 0, SCTP_NUM_DB_TO_VERIFY);
  ------------------
  |  |  414|  73.8k|#define SCTP_NUM_DB_TO_VERIFY 31
  ------------------
 4629|  73.8k|			if (pktdrp_flags & SCTP_FROM_MIDDLE_BOX) {
  ------------------
  |  |  499|  73.8k|#define SCTP_FROM_MIDDLE_BOX	SCTP_HAD_NO_TCB
  |  |  ------------------
  |  |  |  |  496|  73.8k|#define SCTP_HAD_NO_TCB		0x01
  |  |  ------------------
  ------------------
  |  Branch (4629:8): [True: 63.3k, False: 10.5k]
  ------------------
 4630|  63.3k|				SCTP_STAT_INCR(sctps_pdrpmbct);
  ------------------
  |  | 1112|  63.3k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  63.3k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  63.3k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4631|  63.3k|			}
 4632|  73.8k|		}
 4633|  74.9k|		if (process_chunk_drop(stcb, &desc, net, pktdrp_flags)) {
  ------------------
  |  Branch (4633:7): [True: 0, False: 74.9k]
  ------------------
 4634|      0|			SCTP_STAT_INCR(sctps_pdrppdbrk);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4635|      0|			break;
 4636|      0|		}
 4637|  75.3k|next_chunk:
 4638|  75.3k|		offset += SCTP_SIZE32(chk_len);
  ------------------
  |  |  383|  75.3k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 4639|  75.3k|	}
 4640|       |	/* Now update any rwnd --- possibly */
 4641|  8.43k|	if ((pktdrp_flags & SCTP_FROM_MIDDLE_BOX) == 0) {
  ------------------
  |  |  499|  8.43k|#define SCTP_FROM_MIDDLE_BOX	SCTP_HAD_NO_TCB
  |  |  ------------------
  |  |  |  |  496|  8.43k|#define SCTP_HAD_NO_TCB		0x01
  |  |  ------------------
  ------------------
  |  Branch (4641:6): [True: 5.17k, False: 3.25k]
  ------------------
 4642|       |		/* From a peer, we get a rwnd report */
 4643|  5.17k|		uint32_t a_rwnd;
 4644|       |
 4645|  5.17k|		SCTP_STAT_INCR(sctps_pdrpfehos);
  ------------------
  |  | 1112|  5.17k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  5.17k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  5.17k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4646|       |
 4647|  5.17k|		bottle_bw = ntohl(cp->bottle_bw);
 4648|  5.17k|		on_queue = ntohl(cp->current_onq);
 4649|  5.17k|		if (bottle_bw && on_queue) {
  ------------------
  |  Branch (4649:7): [True: 4.84k, False: 332]
  |  Branch (4649:20): [True: 4.36k, False: 474]
  ------------------
 4650|       |			/* a rwnd report is in here */
 4651|  4.36k|			if (bottle_bw > on_queue)
  ------------------
  |  Branch (4651:8): [True: 2.62k, False: 1.74k]
  ------------------
 4652|  2.62k|				a_rwnd = bottle_bw - on_queue;
 4653|  1.74k|			else
 4654|  1.74k|				a_rwnd = 0;
 4655|       |
 4656|  4.36k|			if (a_rwnd == 0)
  ------------------
  |  Branch (4656:8): [True: 1.74k, False: 2.62k]
  ------------------
 4657|  1.74k|				stcb->asoc.peers_rwnd = 0;
 4658|  2.62k|			else {
 4659|  2.62k|				if (a_rwnd > stcb->asoc.total_flight) {
  ------------------
  |  Branch (4659:9): [True: 2.62k, False: 0]
  ------------------
 4660|  2.62k|					stcb->asoc.peers_rwnd =
 4661|  2.62k|					    a_rwnd - stcb->asoc.total_flight;
 4662|  2.62k|				} else {
 4663|      0|					stcb->asoc.peers_rwnd = 0;
 4664|      0|				}
 4665|  2.62k|				if (stcb->asoc.peers_rwnd <
  ------------------
  |  Branch (4665:9): [True: 361, False: 2.26k]
  ------------------
 4666|  2.62k|				    stcb->sctp_ep->sctp_ep.sctp_sws_sender) {
 4667|       |					/* SWS sender side engages */
 4668|    361|					stcb->asoc.peers_rwnd = 0;
 4669|    361|				}
 4670|  2.62k|			}
 4671|  4.36k|		}
 4672|  5.17k|	} else {
 4673|  3.25k|		SCTP_STAT_INCR(sctps_pdrpfmbox);
  ------------------
  |  | 1112|  3.25k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  3.25k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  3.25k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4674|  3.25k|	}
 4675|       |
 4676|       |	/* now middle boxes in sat networks get a cwnd bump */
 4677|  8.43k|	if ((pktdrp_flags & SCTP_FROM_MIDDLE_BOX) &&
  ------------------
  |  |  499|  8.43k|#define SCTP_FROM_MIDDLE_BOX	SCTP_HAD_NO_TCB
  |  |  ------------------
  |  |  |  |  496|  8.43k|#define SCTP_HAD_NO_TCB		0x01
  |  |  ------------------
  ------------------
  |  Branch (4677:6): [True: 3.25k, False: 5.17k]
  ------------------
 4678|  8.43k|	    (stcb->asoc.sat_t3_loss_recovery == 0) &&
  ------------------
  |  Branch (4678:6): [True: 3.25k, False: 0]
  ------------------
 4679|  8.43k|	    (stcb->asoc.sat_network)) {
  ------------------
  |  Branch (4679:6): [True: 0, False: 3.25k]
  ------------------
 4680|       |		/*
 4681|       |		 * This is debatable but for sat networks it makes sense
 4682|       |		 * Note if a T3 timer has went off, we will prohibit any
 4683|       |		 * changes to cwnd until we exit the t3 loss recovery.
 4684|       |		 */
 4685|      0|		stcb->asoc.cc_functions.sctp_cwnd_update_after_packet_dropped(stcb,
 4686|      0|			net, cp, &bottle_bw, &on_queue);
 4687|      0|	}
 4688|  8.43k|}
sctp_input.c:process_chunk_drop:
 3460|  74.9k|{
 3461|  74.9k|	switch (desc->chunk_type) {
 3462|    516|	case SCTP_DATA:
  ------------------
  |  |  457|    516|#define SCTP_DATA		0x00
  ------------------
  |  Branch (3462:2): [True: 516, False: 74.4k]
  ------------------
 3463|  1.05k|	case SCTP_IDATA:
  ------------------
  |  |  477|  1.05k|#define SCTP_IDATA		0x40
  ------------------
  |  Branch (3463:2): [True: 534, False: 74.3k]
  ------------------
 3464|       |		/* find the tsn to resend (possibly) */
 3465|  1.05k|	{
 3466|  1.05k|		uint32_t tsn;
 3467|  1.05k|		struct sctp_tmit_chunk *tp1;
 3468|       |
 3469|  1.05k|		tsn = ntohl(desc->tsn_ifany);
 3470|  1.05k|		TAILQ_FOREACH(tp1, &stcb->asoc.sent_queue, sctp_next) {
 3471|      0|			if (tp1->rec.data.tsn == tsn) {
  ------------------
  |  Branch (3471:8): [True: 0, False: 0]
  ------------------
 3472|       |				/* found it */
 3473|      0|				break;
 3474|      0|			}
 3475|      0|			if (SCTP_TSN_GT(tp1->rec.data.tsn, tsn)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3476|       |				/* not found */
 3477|      0|				tp1 = NULL;
 3478|      0|				break;
 3479|      0|			}
 3480|      0|		}
 3481|  1.05k|		if (tp1 == NULL) {
  ------------------
  |  Branch (3481:7): [True: 1.05k, False: 0]
  ------------------
 3482|       |			/*
 3483|       |			 * Do it the other way , aka without paying
 3484|       |			 * attention to queue seq order.
 3485|       |			 */
 3486|  1.05k|			SCTP_STAT_INCR(sctps_pdrpdnfnd);
  ------------------
  |  | 1112|  1.05k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  1.05k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  1.05k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3487|  1.05k|			TAILQ_FOREACH(tp1, &stcb->asoc.sent_queue, sctp_next) {
 3488|      0|				if (tp1->rec.data.tsn == tsn) {
  ------------------
  |  Branch (3488:9): [True: 0, False: 0]
  ------------------
 3489|       |					/* found it */
 3490|      0|					break;
 3491|      0|				}
 3492|      0|			}
 3493|  1.05k|		}
 3494|  1.05k|		if (tp1 == NULL) {
  ------------------
  |  Branch (3494:7): [True: 1.05k, False: 0]
  ------------------
 3495|  1.05k|			SCTP_STAT_INCR(sctps_pdrptsnnf);
  ------------------
  |  | 1112|  1.05k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  1.05k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  1.05k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3496|  1.05k|		}
 3497|  1.05k|		if ((tp1) && (tp1->sent < SCTP_DATAGRAM_ACKED)) {
  ------------------
  |  |  355|      0|#define SCTP_DATAGRAM_ACKED		10010
  ------------------
  |  Branch (3497:7): [True: 0, False: 1.05k]
  |  Branch (3497:16): [True: 0, False: 0]
  ------------------
 3498|      0|			if (((flg & SCTP_BADCRC) == 0) &&
  ------------------
  |  |  500|      0|#define SCTP_BADCRC		0x02
  ------------------
  |  Branch (3498:8): [True: 0, False: 0]
  ------------------
 3499|      0|			    ((flg & SCTP_FROM_MIDDLE_BOX) == 0)) {
  ------------------
  |  |  499|      0|#define SCTP_FROM_MIDDLE_BOX	SCTP_HAD_NO_TCB
  |  |  ------------------
  |  |  |  |  496|      0|#define SCTP_HAD_NO_TCB		0x01
  |  |  ------------------
  ------------------
  |  Branch (3499:8): [True: 0, False: 0]
  ------------------
 3500|      0|				return (0);
 3501|      0|			}
 3502|      0|			if ((stcb->asoc.peers_rwnd == 0) &&
  ------------------
  |  Branch (3502:8): [True: 0, False: 0]
  ------------------
 3503|      0|			    ((flg & SCTP_FROM_MIDDLE_BOX) == 0)) {
  ------------------
  |  |  499|      0|#define SCTP_FROM_MIDDLE_BOX	SCTP_HAD_NO_TCB
  |  |  ------------------
  |  |  |  |  496|      0|#define SCTP_HAD_NO_TCB		0x01
  |  |  ------------------
  ------------------
  |  Branch (3503:8): [True: 0, False: 0]
  ------------------
 3504|      0|				SCTP_STAT_INCR(sctps_pdrpdiwnp);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3505|      0|				return (0);
 3506|      0|			}
 3507|      0|			if (stcb->asoc.peers_rwnd == 0 &&
  ------------------
  |  Branch (3507:8): [True: 0, False: 0]
  ------------------
 3508|      0|			    (flg & SCTP_FROM_MIDDLE_BOX)) {
  ------------------
  |  |  499|      0|#define SCTP_FROM_MIDDLE_BOX	SCTP_HAD_NO_TCB
  |  |  ------------------
  |  |  |  |  496|      0|#define SCTP_HAD_NO_TCB		0x01
  |  |  ------------------
  ------------------
  |  Branch (3508:8): [True: 0, False: 0]
  ------------------
 3509|      0|				SCTP_STAT_INCR(sctps_pdrpdizrw);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3510|      0|				return (0);
 3511|      0|			}
 3512|      0|			if ((uint32_t)SCTP_BUF_LEN(tp1->data) <
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (3512:8): [True: 0, False: 0]
  ------------------
 3513|      0|			    SCTP_DATA_CHUNK_OVERHEAD(stcb) + SCTP_NUM_DB_TO_VERIFY) {
  ------------------
  |  |  134|      0|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 0, False: 0]
  |  |  ------------------
  |  |  135|      0|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|      0|                                        sizeof(struct sctp_data_chunk))
  ------------------
              			    SCTP_DATA_CHUNK_OVERHEAD(stcb) + SCTP_NUM_DB_TO_VERIFY) {
  ------------------
  |  |  414|      0|#define SCTP_NUM_DB_TO_VERIFY 31
  ------------------
 3514|       |				/* Payload not matching. */
 3515|      0|				SCTP_STAT_INCR(sctps_pdrpbadd);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3516|      0|				return (-1);
 3517|      0|			}
 3518|      0|			if (memcmp(mtod(tp1->data, caddr_t) + SCTP_DATA_CHUNK_OVERHEAD(stcb),
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
              			if (memcmp(mtod(tp1->data, caddr_t) + SCTP_DATA_CHUNK_OVERHEAD(stcb),
  ------------------
  |  |  134|      0|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 0, False: 0]
  |  |  ------------------
  |  |  135|      0|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|      0|                                        sizeof(struct sctp_data_chunk))
  ------------------
  |  Branch (3518:8): [True: 0, False: 0]
  ------------------
 3519|      0|			           desc->data_bytes, SCTP_NUM_DB_TO_VERIFY) != 0) {
  ------------------
  |  |  414|      0|#define SCTP_NUM_DB_TO_VERIFY 31
  ------------------
 3520|       |				/* Payload not matching. */
 3521|      0|				SCTP_STAT_INCR(sctps_pdrpbadd);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3522|      0|				return (-1);
 3523|      0|			}
 3524|      0|			if (tp1->do_rtt) {
  ------------------
  |  Branch (3524:8): [True: 0, False: 0]
  ------------------
 3525|       |				/*
 3526|       |				 * this guy had a RTO calculation
 3527|       |				 * pending on it, cancel it
 3528|       |				 */
 3529|      0|				if (tp1->whoTo->rto_needed == 0) {
  ------------------
  |  Branch (3529:9): [True: 0, False: 0]
  ------------------
 3530|      0|					tp1->whoTo->rto_needed = 1;
 3531|      0|				}
 3532|      0|				tp1->do_rtt = 0;
 3533|      0|			}
 3534|      0|			SCTP_STAT_INCR(sctps_pdrpmark);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3535|      0|			if (tp1->sent != SCTP_DATAGRAM_RESEND)
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (3535:8): [True: 0, False: 0]
  ------------------
 3536|      0|				sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt);
  ------------------
  |  |  266|      0|#define sctp_ucount_incr(val) { \
  |  |  267|      0|	val++; \
  |  |  268|      0|}
  ------------------
 3537|       |			/*
 3538|       |			 * mark it as if we were doing a FR, since
 3539|       |			 * we will be getting gap ack reports behind
 3540|       |			 * the info from the router.
 3541|       |			 */
 3542|      0|			tp1->rec.data.doing_fast_retransmit = 1;
 3543|       |			/*
 3544|       |			 * mark the tsn with what sequences can
 3545|       |			 * cause a new FR.
 3546|       |			 */
 3547|      0|			if (TAILQ_EMPTY(&stcb->asoc.send_queue)) {
 3548|      0|				tp1->rec.data.fast_retran_tsn = stcb->asoc.sending_seq;
 3549|      0|			} else {
 3550|      0|				tp1->rec.data.fast_retran_tsn = (TAILQ_FIRST(&stcb->asoc.send_queue))->rec.data.tsn;
 3551|      0|			}
 3552|       |
 3553|       |			/* restart the timer */
 3554|      0|			sctp_timer_stop(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 3555|      0|					stcb, tp1->whoTo,
 3556|      0|			                SCTP_FROM_SCTP_INPUT + SCTP_LOC_26);
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              			                SCTP_FROM_SCTP_INPUT + SCTP_LOC_26);
  ------------------
  |  |  794|      0|#define SCTP_LOC_26 0x0000001a
  ------------------
 3557|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep,
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 3558|      0|					 stcb, tp1->whoTo);
 3559|       |
 3560|       |			/* fix counts and things */
 3561|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FLIGHT_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FLIGHT_LOGGING_ENABLE) {
  ------------------
  |  |  649|      0|#define SCTP_FLIGHT_LOGGING_ENABLE			0x00000020
  ------------------
  |  Branch (3561:8): [True: 0, False: 0]
  ------------------
 3562|      0|				sctp_misc_ints(SCTP_FLIGHT_LOG_DOWN_PDRP,
  ------------------
  |  |  219|      0|#define SCTP_FLIGHT_LOG_DOWN_PDRP  115
  ------------------
 3563|      0|					       tp1->whoTo->flight_size,
 3564|      0|					       tp1->book_size,
 3565|      0|					       (uint32_t)(uintptr_t)stcb,
 3566|      0|					       tp1->rec.data.tsn);
 3567|      0|			}
 3568|      0|			if (tp1->sent < SCTP_DATAGRAM_RESEND) {
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (3568:8): [True: 0, False: 0]
  ------------------
 3569|      0|				sctp_flight_size_decrease(tp1);
  ------------------
  |  |  289|      0|#define sctp_flight_size_decrease(tp1) do { \
  |  |  290|      0|	if (tp1->whoTo->flight_size >= tp1->book_size) \
  |  |  ------------------
  |  |  |  Branch (290:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  291|      0|		tp1->whoTo->flight_size -= tp1->book_size; \
  |  |  292|      0|	else \
  |  |  293|      0|		tp1->whoTo->flight_size = 0; \
  |  |  294|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (294:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3570|      0|				sctp_total_flight_decrease(stcb, tp1);
  ------------------
  |  |  338|      0|#define sctp_total_flight_decrease(stcb, tp1) do { \
  |  |  339|      0|	tp1->window_probe = 0; \
  |  |  340|      0|	if (stcb->asoc.total_flight >= tp1->book_size) { \
  |  |  ------------------
  |  |  |  Branch (340:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  341|      0|		stcb->asoc.total_flight -= tp1->book_size; \
  |  |  342|      0|		if (stcb->asoc.total_flight_count > 0) \
  |  |  ------------------
  |  |  |  Branch (342:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  343|      0|			stcb->asoc.total_flight_count--; \
  |  |  344|      0|	} else { \
  |  |  345|      0|		stcb->asoc.total_flight = 0; \
  |  |  346|      0|		stcb->asoc.total_flight_count = 0; \
  |  |  347|      0|	} \
  |  |  348|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (348:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3571|      0|			}
 3572|      0|			tp1->sent = SCTP_DATAGRAM_RESEND;
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
 3573|  1.05k|		} {
 3574|       |			/* audit code */
 3575|  1.05k|			unsigned int audit;
 3576|       |
 3577|  1.05k|			audit = 0;
 3578|  1.05k|			TAILQ_FOREACH(tp1, &stcb->asoc.sent_queue, sctp_next) {
 3579|      0|				if (tp1->sent == SCTP_DATAGRAM_RESEND)
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (3579:9): [True: 0, False: 0]
  ------------------
 3580|      0|					audit++;
 3581|      0|			}
 3582|  1.05k|			TAILQ_FOREACH(tp1, &stcb->asoc.control_send_queue,
 3583|   315k|				      sctp_next) {
 3584|   315k|				if (tp1->sent == SCTP_DATAGRAM_RESEND)
  ------------------
  |  |  354|   315k|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (3584:9): [True: 0, False: 315k]
  ------------------
 3585|      0|					audit++;
 3586|   315k|			}
 3587|  1.05k|			if (audit != stcb->asoc.sent_queue_retran_cnt) {
  ------------------
  |  Branch (3587:8): [True: 0, False: 1.05k]
  ------------------
 3588|      0|				SCTP_PRINTF("**Local Audit finds cnt:%d asoc cnt:%d\n",
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 3589|      0|					    audit, stcb->asoc.sent_queue_retran_cnt);
 3590|      0|#ifndef SCTP_AUDITING_ENABLED
 3591|      0|				stcb->asoc.sent_queue_retran_cnt = audit;
 3592|      0|#endif
 3593|      0|			}
 3594|  1.05k|		}
 3595|  1.05k|	}
 3596|      0|	break;
 3597|    561|	case SCTP_ASCONF:
  ------------------
  |  |  492|    561|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (3597:2): [True: 561, False: 74.3k]
  ------------------
 3598|    561|	{
 3599|    561|		struct sctp_tmit_chunk *asconf;
 3600|       |
 3601|    561|		TAILQ_FOREACH(asconf, &stcb->asoc.control_send_queue,
 3602|  48.2k|			      sctp_next) {
 3603|  48.2k|			if (asconf->rec.chunk_id.id == SCTP_ASCONF) {
  ------------------
  |  |  492|  48.2k|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (3603:8): [True: 0, False: 48.2k]
  ------------------
 3604|      0|				break;
 3605|      0|			}
 3606|  48.2k|		}
 3607|    561|		if (asconf) {
  ------------------
  |  Branch (3607:7): [True: 0, False: 561]
  ------------------
 3608|      0|			if (asconf->sent != SCTP_DATAGRAM_RESEND)
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (3608:8): [True: 0, False: 0]
  ------------------
 3609|      0|				sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt);
  ------------------
  |  |  266|      0|#define sctp_ucount_incr(val) { \
  |  |  267|      0|	val++; \
  |  |  268|      0|}
  ------------------
 3610|      0|			asconf->sent = SCTP_DATAGRAM_RESEND;
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
 3611|      0|			asconf->snd_count--;
 3612|      0|		}
 3613|    561|	}
 3614|    561|	break;
 3615|  8.28k|	case SCTP_INITIATION:
  ------------------
  |  |  458|  8.28k|#define SCTP_INITIATION		0x01
  ------------------
  |  Branch (3615:2): [True: 8.28k, False: 66.6k]
  ------------------
 3616|       |		/* resend the INIT */
 3617|  8.28k|		stcb->asoc.dropped_special_cnt++;
 3618|  8.28k|		if (stcb->asoc.dropped_special_cnt < SCTP_RETRY_DROPPED_THRESH) {
  ------------------
  |  |  567|  8.28k|#define SCTP_RETRY_DROPPED_THRESH 4
  ------------------
  |  Branch (3618:7): [True: 201, False: 8.08k]
  ------------------
 3619|       |			/*
 3620|       |			 * If we can get it in, in a few attempts we do
 3621|       |			 * this, otherwise we let the timer fire.
 3622|       |			 */
 3623|    201|			sctp_timer_stop(SCTP_TIMER_TYPE_INIT, stcb->sctp_ep,
  ------------------
  |  |  533|    201|#define SCTP_TIMER_TYPE_INIT		2
  ------------------
 3624|    201|					stcb, net,
 3625|    201|			                SCTP_FROM_SCTP_INPUT + SCTP_LOC_27);
  ------------------
  |  |  755|    201|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
              			                SCTP_FROM_SCTP_INPUT + SCTP_LOC_27);
  ------------------
  |  |  795|    201|#define SCTP_LOC_27 0x0000001b
  ------------------
 3626|    201|			sctp_send_initiate(stcb->sctp_ep, stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    201|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3627|    201|		}
 3628|  8.28k|		break;
 3629|  4.79k|	case SCTP_SELECTIVE_ACK:
  ------------------
  |  |  460|  4.79k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (3629:2): [True: 4.79k, False: 70.1k]
  ------------------
 3630|  7.01k|	case SCTP_NR_SELECTIVE_ACK:
  ------------------
  |  |  475|  7.01k|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
  |  Branch (3630:2): [True: 2.22k, False: 72.7k]
  ------------------
 3631|       |		/* resend the sack */
 3632|  7.01k|		sctp_send_sack(stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  7.01k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3633|  7.01k|		break;
 3634|  45.7k|	case SCTP_HEARTBEAT_REQUEST:
  ------------------
  |  |  461|  45.7k|#define SCTP_HEARTBEAT_REQUEST	0x04
  ------------------
  |  Branch (3634:2): [True: 45.7k, False: 29.1k]
  ------------------
 3635|       |		/* resend a demand HB */
 3636|  45.7k|		if ((stcb->asoc.overall_error_count + 3) < stcb->asoc.max_send_times) {
  ------------------
  |  Branch (3636:7): [True: 45.7k, False: 0]
  ------------------
 3637|       |			/* Only retransmit if we KNOW we wont destroy the tcb */
 3638|  45.7k|			sctp_send_hb(stcb, net, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  45.7k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3639|  45.7k|		}
 3640|  45.7k|		break;
 3641|  3.45k|	case SCTP_SHUTDOWN:
  ------------------
  |  |  464|  3.45k|#define SCTP_SHUTDOWN		0x07
  ------------------
  |  Branch (3641:2): [True: 3.45k, False: 71.4k]
  ------------------
 3642|  3.45k|		sctp_send_shutdown(stcb, net);
 3643|  3.45k|		break;
 3644|    472|	case SCTP_SHUTDOWN_ACK:
  ------------------
  |  |  465|    472|#define SCTP_SHUTDOWN_ACK	0x08
  ------------------
  |  Branch (3644:2): [True: 472, False: 74.4k]
  ------------------
 3645|    472|		sctp_send_shutdown_ack(stcb, net);
 3646|    472|		break;
 3647|    768|	case SCTP_COOKIE_ECHO:
  ------------------
  |  |  467|    768|#define SCTP_COOKIE_ECHO	0x0a
  ------------------
  |  Branch (3647:2): [True: 768, False: 74.1k]
  ------------------
 3648|    768|	{
 3649|    768|		struct sctp_tmit_chunk *cookie;
 3650|       |
 3651|    768|		cookie = NULL;
 3652|    768|		TAILQ_FOREACH(cookie, &stcb->asoc.control_send_queue,
 3653|  5.17k|			      sctp_next) {
 3654|  5.17k|			if (cookie->rec.chunk_id.id == SCTP_COOKIE_ECHO) {
  ------------------
  |  |  467|  5.17k|#define SCTP_COOKIE_ECHO	0x0a
  ------------------
  |  Branch (3654:8): [True: 0, False: 5.17k]
  ------------------
 3655|      0|				break;
 3656|      0|			}
 3657|  5.17k|		}
 3658|    768|		if (cookie) {
  ------------------
  |  Branch (3658:7): [True: 0, False: 768]
  ------------------
 3659|      0|			if (cookie->sent != SCTP_DATAGRAM_RESEND)
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (3659:8): [True: 0, False: 0]
  ------------------
 3660|      0|				sctp_ucount_incr(stcb->asoc.sent_queue_retran_cnt);
  ------------------
  |  |  266|      0|#define sctp_ucount_incr(val) { \
  |  |  267|      0|	val++; \
  |  |  268|      0|}
  ------------------
 3661|      0|			cookie->sent = SCTP_DATAGRAM_RESEND;
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
 3662|      0|			sctp_stop_all_cookie_timers(stcb);
 3663|      0|		}
 3664|    768|	}
 3665|    768|	break;
 3666|    792|	case SCTP_COOKIE_ACK:
  ------------------
  |  |  468|    792|#define SCTP_COOKIE_ACK		0x0b
  ------------------
  |  Branch (3666:2): [True: 792, False: 74.1k]
  ------------------
 3667|    792|		sctp_send_cookie_ack(stcb);
 3668|    792|		break;
 3669|    442|	case SCTP_ASCONF_ACK:
  ------------------
  |  |  480|    442|#define	SCTP_ASCONF_ACK		0x80
  ------------------
  |  Branch (3669:2): [True: 442, False: 74.4k]
  ------------------
 3670|       |		/* resend last asconf ack */
 3671|    442|		sctp_send_asconf_ack(stcb);
 3672|    442|		break;
 3673|    750|	case SCTP_IFORWARD_CUM_TSN:
  ------------------
  |  |  493|    750|#define SCTP_IFORWARD_CUM_TSN	0xc2
  ------------------
  |  Branch (3673:2): [True: 750, False: 74.1k]
  ------------------
 3674|  1.29k|	case SCTP_FORWARD_CUM_TSN:
  ------------------
  |  |  490|  1.29k|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
  |  Branch (3674:2): [True: 542, False: 74.3k]
  ------------------
 3675|  1.29k|		send_forward_tsn(stcb, &stcb->asoc);
 3676|  1.29k|		break;
 3677|       |		/* can't do anything with these */
 3678|    233|	case SCTP_PACKET_DROPPED:
  ------------------
  |  |  482|    233|#define SCTP_PACKET_DROPPED	0x81
  ------------------
  |  Branch (3678:2): [True: 233, False: 74.6k]
  ------------------
 3679|    253|	case SCTP_INITIATION_ACK:	/* this should not happen */
  ------------------
  |  |  459|    253|#define SCTP_INITIATION_ACK	0x02
  ------------------
  |  Branch (3679:2): [True: 20, False: 74.9k]
  ------------------
 3680|    442|	case SCTP_HEARTBEAT_ACK:
  ------------------
  |  |  462|    442|#define SCTP_HEARTBEAT_ACK	0x05
  ------------------
  |  Branch (3680:2): [True: 189, False: 74.7k]
  ------------------
 3681|    442|	case SCTP_ABORT_ASSOCIATION:
  ------------------
  |  |  463|    442|#define SCTP_ABORT_ASSOCIATION	0x06
  ------------------
  |  Branch (3681:2): [True: 0, False: 74.9k]
  ------------------
 3682|  3.43k|	case SCTP_OPERATION_ERROR:
  ------------------
  |  |  466|  3.43k|#define SCTP_OPERATION_ERROR	0x09
  ------------------
  |  Branch (3682:2): [True: 2.99k, False: 71.9k]
  ------------------
 3683|  3.44k|	case SCTP_SHUTDOWN_COMPLETE:
  ------------------
  |  |  471|  3.44k|#define SCTP_SHUTDOWN_COMPLETE	0x0e
  ------------------
  |  Branch (3683:2): [True: 1, False: 74.9k]
  ------------------
 3684|  3.44k|	case SCTP_ECN_ECHO:
  ------------------
  |  |  469|  3.44k|#define SCTP_ECN_ECHO		0x0c
  ------------------
  |  Branch (3684:2): [True: 2, False: 74.9k]
  ------------------
 3685|  3.54k|	case SCTP_ECN_CWR:
  ------------------
  |  |  470|  3.54k|#define SCTP_ECN_CWR		0x0d
  ------------------
  |  Branch (3685:2): [True: 107, False: 74.8k]
  ------------------
 3686|  5.03k|	default:
  ------------------
  |  Branch (3686:2): [True: 1.48k, False: 73.4k]
  ------------------
 3687|  5.03k|		break;
 3688|  74.9k|	}
 3689|  74.9k|	return (0);
 3690|  74.9k|}
sctp_input.c:sctp_handle_cookie_ack:
 3122|  56.2k|{
 3123|       |	/* cp must not be used, others call this without a c-ack :-) */
 3124|  56.2k|	struct sctp_association *asoc;
 3125|  56.2k|	struct sctp_tmit_chunk *chk;
 3126|       |
 3127|  56.2k|	SCTPDBG(SCTP_DEBUG_INPUT2,
 3128|  56.2k|		"sctp_handle_cookie_ack: handling COOKIE-ACK\n");
 3129|  56.2k|	if ((stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (3129:6): [True: 0, False: 56.2k]
  |  Branch (3129:24): [True: 0, False: 56.2k]
  ------------------
 3130|      0|		return;
 3131|      0|	}
 3132|       |
 3133|  56.2k|	asoc = &stcb->asoc;
 3134|  56.2k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  584|  56.2k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_THRESHOLD_LOGGING) {
  ------------------
  |  |  669|  56.2k|#define SCTP_THRESHOLD_LOGGING				0x02000000
  ------------------
  |  Branch (3134:6): [True: 0, False: 56.2k]
  ------------------
 3135|      0|		sctp_misc_ints(SCTP_THRESHOLD_CLEAR,
  ------------------
  |  |  224|      0|#define SCTP_THRESHOLD_CLEAR       120
  ------------------
 3136|      0|			       asoc->overall_error_count,
 3137|      0|			       0,
 3138|      0|			       SCTP_FROM_SCTP_INPUT,
  ------------------
  |  |  755|      0|#define SCTP_FROM_SCTP_INPUT        0x10000000
  ------------------
 3139|      0|			       __LINE__);
 3140|      0|	}
 3141|  56.2k|	sctp_stop_all_cookie_timers(stcb);
 3142|  56.2k|	sctp_toss_old_cookies(stcb, asoc);
 3143|       |	/* process according to association state */
 3144|  56.2k|	if (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED) {
  ------------------
  |  |  472|  56.2k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  56.2k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED) {
  ------------------
  |  |  458|  56.2k|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (3144:6): [True: 6.07k, False: 50.1k]
  ------------------
 3145|       |		/* state change only needed when I am in right state */
 3146|  6.07k|		SCTPDBG(SCTP_DEBUG_INPUT2, "moving to OPEN state\n");
 3147|  6.07k|		SCTP_SET_STATE(stcb, SCTP_STATE_OPEN);
  ------------------
  |  |  474|  6.07k|	sctp_set_state(_stcb, _state)
  ------------------
 3148|  6.07k|		sctp_start_net_timers(stcb);
 3149|       |		/* update RTO */
 3150|  6.07k|		SCTP_STAT_INCR_COUNTER32(sctps_activeestab);
  ------------------
  |  | 1127|  6.07k|#define SCTP_STAT_INCR_COUNTER32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  6.07k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  6.07k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  6.07k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3151|  6.07k|		SCTP_STAT_INCR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1129|  6.07k|#define SCTP_STAT_INCR_GAUGE32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  6.07k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  6.07k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  6.07k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3152|  6.07k|		if (asoc->overall_error_count == 0) {
  ------------------
  |  Branch (3152:7): [True: 6.07k, False: 0]
  ------------------
 3153|  6.07k|			sctp_calculate_rto(stcb, asoc, net, &asoc->time_entered,
 3154|  6.07k|			                   SCTP_RTT_FROM_NON_DATA);
  ------------------
  |  |  340|  6.07k|#define SCTP_RTT_FROM_NON_DATA 0
  ------------------
 3155|  6.07k|		}
 3156|       |		/*
 3157|       |		 * Since we did not send a HB make sure we don't double
 3158|       |		 * things.
 3159|       |		 */
 3160|  6.07k|		asoc->overall_error_count = 0;
 3161|  6.07k|		net->hb_responded = 1;
 3162|  6.07k|		(void)SCTP_GETTIME_TIMEVAL(&asoc->time_entered);
  ------------------
  |  |  991|  6.07k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 3163|  6.07k|		sctp_ulp_notify(SCTP_NOTIFY_ASSOC_UP, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  703|  6.07k|#define SCTP_NOTIFY_ASSOC_UP                     1
  ------------------
              		sctp_ulp_notify(SCTP_NOTIFY_ASSOC_UP, stcb, 0, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|  6.07k|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 3164|  6.07k|		if ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|  6.07k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (3164:7): [True: 6.07k, False: 0]
  ------------------
 3165|  6.07k|		    (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) {
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (3165:7): [True: 0, False: 0]
  ------------------
 3166|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3167|       |			struct socket *so;
 3168|       |
 3169|       |#endif
 3170|  6.07k|			sctp_pcb_add_flags(stcb->sctp_ep, SCTP_PCB_FLAGS_CONNECTED);
  ------------------
  |  |  542|  6.07k|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
 3171|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3172|       |			so = SCTP_INP_SO(stcb->sctp_ep);
 3173|       |			atomic_add_int(&stcb->asoc.refcnt, 1);
 3174|       |			SCTP_TCB_UNLOCK(stcb);
 3175|       |			SCTP_SOCKET_LOCK(so, 1);
 3176|       |			SCTP_TCB_LOCK(stcb);
 3177|       |			atomic_subtract_int(&stcb->asoc.refcnt, 1);
 3178|       |#endif
 3179|  6.07k|			if ((stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET) == 0) {
  ------------------
  |  |  464|  6.07k|#define SCTP_STATE_CLOSED_SOCKET	0x0100
  ------------------
  |  Branch (3179:8): [True: 6.07k, False: 0]
  ------------------
 3180|  6.07k|				soisconnected(stcb->sctp_socket);
 3181|  6.07k|			}
 3182|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3183|       |			SCTP_SOCKET_UNLOCK(so, 1);
 3184|       |#endif
 3185|  6.07k|		}
 3186|       |
 3187|  6.07k|		if ((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) &&
  ------------------
  |  |  463|  6.07k|#define SCTP_STATE_SHUTDOWN_PENDING	0x0080
  ------------------
  |  Branch (3187:7): [True: 0, False: 6.07k]
  ------------------
 3188|  6.07k|		    TAILQ_EMPTY(&asoc->send_queue) &&
 3189|  6.07k|		    TAILQ_EMPTY(&asoc->sent_queue) &&
 3190|  6.07k|		    (asoc->stream_queue_cnt == 0)) {
  ------------------
  |  Branch (3190:7): [True: 0, False: 0]
  ------------------
 3191|      0|			SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|      0|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|      0|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|      0|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3192|      0|			SCTP_SET_STATE(stcb, SCTP_STATE_SHUTDOWN_SENT);
  ------------------
  |  |  474|      0|	sctp_set_state(_stcb, _state)
  ------------------
 3193|      0|			sctp_stop_timers_for_shutdown(stcb);
 3194|      0|			sctp_send_shutdown(stcb, net);
 3195|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN,
  ------------------
  |  |  535|      0|#define SCTP_TIMER_TYPE_SHUTDOWN	4
  ------------------
 3196|      0|			                 stcb->sctp_ep, stcb, net);
 3197|      0|			sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD,
  ------------------
  |  |  542|      0|#define SCTP_TIMER_TYPE_SHUTDOWNGUARD	11
  ------------------
 3198|      0|			                 stcb->sctp_ep, stcb, NULL);
 3199|      0|			sctp_chunk_output(stcb->sctp_ep, stcb, SCTP_OUTPUT_FROM_T3, SCTP_SO_LOCKED);
  ------------------
  |  |  362|      0|#define SCTP_OUTPUT_FROM_T3       	1
  ------------------
              			sctp_chunk_output(stcb->sctp_ep, stcb, SCTP_OUTPUT_FROM_T3, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 3200|      0|		}
 3201|       |
 3202|  6.07k|		if (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET) {
  ------------------
  |  |  464|  6.07k|#define SCTP_STATE_CLOSED_SOCKET	0x0100
  ------------------
  |  Branch (3202:7): [True: 0, False: 6.07k]
  ------------------
 3203|       |			/* We don't need to do the asconf thing,
 3204|       |			 * nor hb or autoclose if the socket is closed.
 3205|       |			 */
 3206|      0|			goto closed_socket;
 3207|      0|		}
 3208|       |
 3209|  6.07k|		sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep,
  ------------------
  |  |  536|  6.07k|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 3210|  6.07k|		    stcb, net);
 3211|       |
 3212|  6.07k|		if (stcb->asoc.sctp_autoclose_ticks &&
  ------------------
  |  Branch (3212:7): [True: 0, False: 6.07k]
  ------------------
 3213|  6.07k|		    sctp_is_feature_on(stcb->sctp_ep, SCTP_PCB_FLAGS_AUTOCLOSE)) {
  ------------------
  |  |   52|      0|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3214|      0|			sctp_timer_start(SCTP_TIMER_TYPE_AUTOCLOSE,
  ------------------
  |  |  543|      0|#define SCTP_TIMER_TYPE_AUTOCLOSE	12
  ------------------
 3215|      0|			    stcb->sctp_ep, stcb, NULL);
 3216|      0|		}
 3217|       |		/*
 3218|       |		 * send ASCONF if parameters are pending and ASCONFs are
 3219|       |		 * allowed (eg. addresses changed when init/cookie echo were
 3220|       |		 * in flight)
 3221|       |		 */
 3222|  6.07k|		if ((sctp_is_feature_on(stcb->sctp_ep, SCTP_PCB_FLAGS_DO_ASCONF)) &&
  ------------------
  |  |   52|  6.07k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (3222:7): [True: 6.07k, False: 0]
  ------------------
 3223|  6.07k|		    (stcb->asoc.asconf_supported == 1) &&
  ------------------
  |  Branch (3223:7): [True: 6.06k, False: 11]
  ------------------
 3224|  6.07k|		    (!TAILQ_EMPTY(&stcb->asoc.asconf_queue))) {
  ------------------
  |  Branch (3224:7): [True: 0, False: 6.06k]
  ------------------
 3225|       |#ifdef SCTP_TIMER_BASED_ASCONF
 3226|       |			sctp_timer_start(SCTP_TIMER_TYPE_ASCONF,
 3227|       |					 stcb->sctp_ep, stcb,
 3228|       |					 stcb->asoc.primary_destination);
 3229|       |#else
 3230|      0|			sctp_send_asconf(stcb, stcb->asoc.primary_destination,
 3231|      0|					 SCTP_ADDR_NOT_LOCKED);
  ------------------
  |  |  966|      0|#define SCTP_ADDR_NOT_LOCKED 0
  ------------------
 3232|      0|#endif
 3233|      0|		}
 3234|  6.07k|	}
 3235|  56.2k|closed_socket:
 3236|       |	/* Restart the timer if we have pending data */
 3237|  56.2k|	TAILQ_FOREACH(chk, &asoc->sent_queue, sctp_next) {
 3238|  34.7k|		if (chk->whoTo != NULL) {
  ------------------
  |  Branch (3238:7): [True: 34.7k, False: 0]
  ------------------
 3239|  34.7k|			break;
 3240|  34.7k|		}
 3241|  34.7k|	}
 3242|  56.2k|	if (chk != NULL) {
  ------------------
  |  Branch (3242:6): [True: 34.7k, False: 21.4k]
  ------------------
 3243|  34.7k|		sctp_timer_start(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep, stcb, chk->whoTo);
  ------------------
  |  |  532|  34.7k|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 3244|  34.7k|	}
 3245|  56.2k|}

sctp_output.c:sctp_userspace_rtfree:
  869|    741|{
  870|    741|	if(rt == NULL) {
  ------------------
  |  Branch (870:5): [True: 0, False: 741]
  ------------------
  871|      0|		return;
  872|      0|	}
  873|    741|	if(--rt->rt_refcnt > 0) {
  ------------------
  |  Branch (873:5): [True: 0, False: 741]
  ------------------
  874|      0|		return;
  875|      0|	}
  876|    741|	free(rt);
  877|    741|}
sctp_pcb.c:sctp_userspace_rtfree:
  869|  68.9k|{
  870|  68.9k|	if(rt == NULL) {
  ------------------
  |  Branch (870:5): [True: 0, False: 68.9k]
  ------------------
  871|      0|		return;
  872|      0|	}
  873|  68.9k|	if(--rt->rt_refcnt > 0) {
  ------------------
  |  Branch (873:5): [True: 0, False: 68.9k]
  ------------------
  874|      0|		return;
  875|      0|	}
  876|  68.9k|	free(rt);
  877|  68.9k|}
sctp_pcb.c:sctp_userspace_rtalloc:
  836|  71.7k|{
  837|  71.7k|	if (ro->ro_rt != NULL) {
  ------------------
  |  Branch (837:6): [True: 0, False: 71.7k]
  ------------------
  838|      0|		ro->ro_rt->rt_refcnt++;
  839|      0|		return;
  840|      0|	}
  841|       |
  842|  71.7k|	ro->ro_rt = (sctp_rtentry_t *) malloc(sizeof(sctp_rtentry_t));
  843|  71.7k|	if (ro->ro_rt == NULL)
  ------------------
  |  Branch (843:6): [True: 0, False: 71.7k]
  ------------------
  844|      0|		return;
  845|       |
  846|       |	/* initialize */
  847|  71.7k|	memset(ro->ro_rt, 0, sizeof(sctp_rtentry_t));
  848|  71.7k|	ro->ro_rt->rt_refcnt = 1;
  849|       |
  850|       |	/* set MTU */
  851|       |	/* TODO set this based on the ro->ro_dst, looking up MTU with routing socket */
  852|       |#if 0
  853|       |	if (userspace_rawroute == -1) {
  854|       |		userspace_rawroute = socket(AF_ROUTE, SOCK_RAW, 0);
  855|       |		if (userspace_rawroute == -1)
  856|       |			return;
  857|       |	}
  858|       |#endif
  859|  71.7k|	ro->ro_rt->rt_rmx.rmx_mtu = 1500; /* FIXME temporary solution */
  860|       |
  861|       |	/* TODO enable the ability to obtain interface index of route for
  862|       |	 *  SCTP_GET_IF_INDEX_FROM_ROUTE macro.
  863|       |	 */
  864|  71.7k|}
sctputil.c:sctp_userspace_rtfree:
  869|  2.09k|{
  870|  2.09k|	if(rt == NULL) {
  ------------------
  |  Branch (870:5): [True: 0, False: 2.09k]
  ------------------
  871|      0|		return;
  872|      0|	}
  873|  2.09k|	if(--rt->rt_refcnt > 0) {
  ------------------
  |  Branch (873:5): [True: 0, False: 2.09k]
  ------------------
  874|      0|		return;
  875|      0|	}
  876|  2.09k|	free(rt);
  877|  2.09k|}

sctp_add_addresses_to_i_ia:
 2060|  20.1k|{
 2061|  20.1k|	struct sctp_vrf *vrf = NULL;
 2062|  20.1k|	int cnt, limit_out = 0, total_count;
 2063|  20.1k|	uint32_t vrf_id;
 2064|       |
 2065|  20.1k|	vrf_id = inp->def_vrf_id;
 2066|  20.1k|	SCTP_IPI_ADDR_RLOCK();
  ------------------
  |  |  597|  20.1k|	KASSERT(pthread_rwlock_rdlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  20.1k|	do {                         \
  |  |  |  |  113|  20.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 20.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  20.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2067|  20.1k|	vrf = sctp_find_vrf(vrf_id);
 2068|  20.1k|	if (vrf == NULL) {
  ------------------
  |  Branch (2068:6): [True: 0, False: 20.1k]
  ------------------
 2069|      0|		SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2070|      0|		return (m_at);
 2071|      0|	}
 2072|  20.1k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_BOUNDALL) {
  ------------------
  |  |  533|  20.1k|#define SCTP_PCB_FLAGS_BOUNDALL		0x00000004
  ------------------
  |  Branch (2072:6): [True: 0, False: 20.1k]
  ------------------
 2073|      0|		struct sctp_ifa *sctp_ifap;
 2074|      0|		struct sctp_ifn *sctp_ifnp;
 2075|       |
 2076|      0|		cnt = cnt_inits_to;
 2077|      0|		if (vrf->total_ifa_count > SCTP_COUNT_LIMIT) {
  ------------------
  |  |   76|      0|#define SCTP_COUNT_LIMIT 40
  ------------------
  |  Branch (2077:7): [True: 0, False: 0]
  ------------------
 2078|      0|			limit_out = 1;
 2079|      0|			cnt = SCTP_ADDRESS_LIMIT;
  ------------------
  |  |   64|      0|#define SCTP_ADDRESS_LIMIT 1080
  ------------------
 2080|      0|			goto skip_count;
 2081|      0|		}
 2082|      0|		LIST_FOREACH(sctp_ifnp, &vrf->ifnlist, next_ifn) {
 2083|      0|			if ((scope->loopback_scope == 0) &&
  ------------------
  |  Branch (2083:8): [True: 0, False: 0]
  ------------------
 2084|      0|			    SCTP_IFN_IS_IFT_LOOP(sctp_ifnp)) {
  ------------------
  |  |  650|      0|#define SCTP_IFN_IS_IFT_LOOP(ifn) (strncmp((ifn)->ifn_name, "lo", 2) == 0)
  |  |  ------------------
  |  |  |  Branch (650:35): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2085|       |				/*
 2086|       |				 * Skip loopback devices if loopback_scope
 2087|       |				 * not set
 2088|       |				 */
 2089|      0|				continue;
 2090|      0|			}
 2091|      0|			LIST_FOREACH(sctp_ifap, &sctp_ifnp->ifalist, next_ifa) {
 2092|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2093|       |#ifdef INET
 2094|       |				if ((sctp_ifap->address.sa.sa_family == AF_INET) &&
 2095|       |				    (prison_check_ip4(inp->ip_inp.inp.inp_cred,
 2096|       |				                      &sctp_ifap->address.sin.sin_addr) != 0)) {
 2097|       |					continue;
 2098|       |				}
 2099|       |#endif
 2100|       |#ifdef INET6
 2101|       |				if ((sctp_ifap->address.sa.sa_family == AF_INET6) &&
 2102|       |				    (prison_check_ip6(inp->ip_inp.inp.inp_cred,
 2103|       |				                      &sctp_ifap->address.sin6.sin6_addr) != 0)) {
 2104|       |					continue;
 2105|       |				}
 2106|       |#endif
 2107|       |#endif
 2108|      0|				if (sctp_is_addr_restricted(stcb, sctp_ifap)) {
  ------------------
  |  Branch (2108:9): [True: 0, False: 0]
  ------------------
 2109|      0|					continue;
 2110|      0|				}
 2111|      0|#if defined(__Userspace__)
 2112|      0|				if (sctp_ifap->address.sa.sa_family == AF_CONN) {
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (2112:9): [True: 0, False: 0]
  ------------------
 2113|      0|					continue;
 2114|      0|				}
 2115|      0|#endif
 2116|      0|				if (sctp_is_address_in_scope(sctp_ifap, scope, 1) == 0) {
  ------------------
  |  Branch (2116:9): [True: 0, False: 0]
  ------------------
 2117|      0|					continue;
 2118|      0|				}
 2119|      0|				cnt++;
 2120|      0|				if (cnt > SCTP_ADDRESS_LIMIT) {
  ------------------
  |  |   64|      0|#define SCTP_ADDRESS_LIMIT 1080
  ------------------
  |  Branch (2120:9): [True: 0, False: 0]
  ------------------
 2121|      0|					break;
 2122|      0|				}
 2123|      0|			}
 2124|      0|			if (cnt > SCTP_ADDRESS_LIMIT) {
  ------------------
  |  |   64|      0|#define SCTP_ADDRESS_LIMIT 1080
  ------------------
  |  Branch (2124:8): [True: 0, False: 0]
  ------------------
 2125|      0|				break;
 2126|      0|			}
 2127|      0|		}
 2128|      0|	skip_count:
 2129|      0|		if (cnt > 1) {
  ------------------
  |  Branch (2129:7): [True: 0, False: 0]
  ------------------
 2130|      0|			total_count = 0;
 2131|      0|			LIST_FOREACH(sctp_ifnp, &vrf->ifnlist, next_ifn) {
 2132|      0|				cnt = 0;
 2133|      0|				if ((scope->loopback_scope == 0) &&
  ------------------
  |  Branch (2133:9): [True: 0, False: 0]
  ------------------
 2134|      0|				    SCTP_IFN_IS_IFT_LOOP(sctp_ifnp)) {
  ------------------
  |  |  650|      0|#define SCTP_IFN_IS_IFT_LOOP(ifn) (strncmp((ifn)->ifn_name, "lo", 2) == 0)
  |  |  ------------------
  |  |  |  Branch (650:35): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2135|       |					/*
 2136|       |					 * Skip loopback devices if
 2137|       |					 * loopback_scope not set
 2138|       |					 */
 2139|      0|					continue;
 2140|      0|				}
 2141|      0|				LIST_FOREACH(sctp_ifap, &sctp_ifnp->ifalist, next_ifa) {
 2142|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2143|       |#ifdef INET
 2144|       |					if ((sctp_ifap->address.sa.sa_family == AF_INET) &&
 2145|       |					    (prison_check_ip4(inp->ip_inp.inp.inp_cred,
 2146|       |					                      &sctp_ifap->address.sin.sin_addr) != 0)) {
 2147|       |						continue;
 2148|       |					}
 2149|       |#endif
 2150|       |#ifdef INET6
 2151|       |					if ((sctp_ifap->address.sa.sa_family == AF_INET6) &&
 2152|       |					    (prison_check_ip6(inp->ip_inp.inp.inp_cred,
 2153|       |					                      &sctp_ifap->address.sin6.sin6_addr) != 0)) {
 2154|       |						continue;
 2155|       |					}
 2156|       |#endif
 2157|       |#endif
 2158|      0|					if (sctp_is_addr_restricted(stcb, sctp_ifap)) {
  ------------------
  |  Branch (2158:10): [True: 0, False: 0]
  ------------------
 2159|      0|						continue;
 2160|      0|					}
 2161|      0|#if defined(__Userspace__)
 2162|      0|					if (sctp_ifap->address.sa.sa_family == AF_CONN) {
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (2162:10): [True: 0, False: 0]
  ------------------
 2163|      0|						continue;
 2164|      0|					}
 2165|      0|#endif
 2166|      0|					if (sctp_is_address_in_scope(sctp_ifap,
  ------------------
  |  Branch (2166:10): [True: 0, False: 0]
  ------------------
 2167|      0|								     scope, 0) == 0) {
 2168|      0|						continue;
 2169|      0|					}
 2170|      0|					if ((chunk_len != NULL) &&
  ------------------
  |  Branch (2170:10): [True: 0, False: 0]
  ------------------
 2171|      0|					    (padding_len != NULL) &&
  ------------------
  |  Branch (2171:10): [True: 0, False: 0]
  ------------------
 2172|      0|					    (*padding_len > 0)) {
  ------------------
  |  Branch (2172:10): [True: 0, False: 0]
  ------------------
 2173|      0|						memset(mtod(m_at, caddr_t) + *chunk_len, 0, *padding_len);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 2174|      0|						SCTP_BUF_LEN(m_at) += *padding_len;
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 2175|      0|						*chunk_len += *padding_len;
 2176|      0|						*padding_len = 0;
 2177|      0|					}
 2178|      0|					m_at = sctp_add_addr_to_mbuf(m_at, sctp_ifap, chunk_len);
 2179|      0|					if (limit_out) {
  ------------------
  |  Branch (2179:10): [True: 0, False: 0]
  ------------------
 2180|      0|						cnt++;
 2181|      0|						total_count++;
 2182|      0|						if (cnt >= 2) {
  ------------------
  |  Branch (2182:11): [True: 0, False: 0]
  ------------------
 2183|       |							/* two from each address */
 2184|      0|							break;
 2185|      0|						}
 2186|      0|						if (total_count > SCTP_ADDRESS_LIMIT) {
  ------------------
  |  |   64|      0|#define SCTP_ADDRESS_LIMIT 1080
  ------------------
  |  Branch (2186:11): [True: 0, False: 0]
  ------------------
 2187|       |							/* No more addresses */
 2188|      0|							break;
 2189|      0|						}
 2190|      0|					}
 2191|      0|				}
 2192|      0|			}
 2193|      0|		}
 2194|  20.1k|	} else {
 2195|  20.1k|		struct sctp_laddr *laddr;
 2196|       |
 2197|  20.1k|		cnt = cnt_inits_to;
 2198|       |		/* First, how many ? */
 2199|  20.1k|		LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) {
 2200|  20.1k|			if (laddr->ifa == NULL) {
  ------------------
  |  Branch (2200:8): [True: 0, False: 20.1k]
  ------------------
 2201|      0|				continue;
 2202|      0|			}
 2203|  20.1k|			if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED)
  ------------------
  |  |   90|  20.1k|#define SCTP_BEING_DELETED      0x00000002	/* being deleted,
  ------------------
  |  Branch (2203:8): [True: 0, False: 20.1k]
  ------------------
 2204|       |				/* Address being deleted by the system, dont
 2205|       |				 * list.
 2206|       |				 */
 2207|      0|				continue;
 2208|  20.1k|			if (laddr->action == SCTP_DEL_IP_ADDRESS) {
  ------------------
  |  |  431|  20.1k|#define SCTP_DEL_IP_ADDRESS		0xc002
  ------------------
  |  Branch (2208:8): [True: 0, False: 20.1k]
  ------------------
 2209|       |				/* Address being deleted on this ep
 2210|       |				 * don't list.
 2211|       |				 */
 2212|      0|				continue;
 2213|      0|			}
 2214|  20.1k|#if defined(__Userspace__)
 2215|  20.1k|			if (laddr->ifa->address.sa.sa_family == AF_CONN) {
  ------------------
  |  | 1008|  20.1k|#define AF_CONN 123
  ------------------
  |  Branch (2215:8): [True: 20.1k, False: 0]
  ------------------
 2216|  20.1k|				continue;
 2217|  20.1k|			}
 2218|      0|#endif
 2219|      0|			if (sctp_is_address_in_scope(laddr->ifa,
  ------------------
  |  Branch (2219:8): [True: 0, False: 0]
  ------------------
 2220|      0|						     scope, 1) == 0) {
 2221|      0|				continue;
 2222|      0|			}
 2223|      0|			cnt++;
 2224|      0|		}
 2225|       |		/*
 2226|       |		 * To get through a NAT we only list addresses if we have
 2227|       |		 * more than one. That way if you just bind a single address
 2228|       |		 * we let the source of the init dictate our address.
 2229|       |		 */
 2230|  20.1k|		if (cnt > 1) {
  ------------------
  |  Branch (2230:7): [True: 0, False: 20.1k]
  ------------------
 2231|      0|			cnt = cnt_inits_to;
 2232|      0|			LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) {
 2233|      0|				if (laddr->ifa == NULL) {
  ------------------
  |  Branch (2233:9): [True: 0, False: 0]
  ------------------
 2234|      0|					continue;
 2235|      0|				}
 2236|      0|				if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED) {
  ------------------
  |  |   90|      0|#define SCTP_BEING_DELETED      0x00000002	/* being deleted,
  ------------------
  |  Branch (2236:9): [True: 0, False: 0]
  ------------------
 2237|      0|					continue;
 2238|      0|				}
 2239|      0|#if defined(__Userspace__)
 2240|      0|				if (laddr->ifa->address.sa.sa_family == AF_CONN) {
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (2240:9): [True: 0, False: 0]
  ------------------
 2241|      0|					continue;
 2242|      0|				}
 2243|      0|#endif
 2244|      0|				if (sctp_is_address_in_scope(laddr->ifa,
  ------------------
  |  Branch (2244:9): [True: 0, False: 0]
  ------------------
 2245|      0|							     scope, 0) == 0) {
 2246|      0|					continue;
 2247|      0|				}
 2248|      0|				if ((chunk_len != NULL) &&
  ------------------
  |  Branch (2248:9): [True: 0, False: 0]
  ------------------
 2249|      0|				    (padding_len != NULL) &&
  ------------------
  |  Branch (2249:9): [True: 0, False: 0]
  ------------------
 2250|      0|				    (*padding_len > 0)) {
  ------------------
  |  Branch (2250:9): [True: 0, False: 0]
  ------------------
 2251|      0|					memset(mtod(m_at, caddr_t) + *chunk_len, 0, *padding_len);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 2252|      0|					SCTP_BUF_LEN(m_at) += *padding_len;
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 2253|      0|					*chunk_len += *padding_len;
 2254|      0|					*padding_len = 0;
 2255|      0|				}
 2256|      0|				m_at = sctp_add_addr_to_mbuf(m_at, laddr->ifa, chunk_len);
 2257|      0|				cnt++;
 2258|      0|				if (cnt >= SCTP_ADDRESS_LIMIT) {
  ------------------
  |  |   64|      0|#define SCTP_ADDRESS_LIMIT 1080
  ------------------
  |  Branch (2258:9): [True: 0, False: 0]
  ------------------
 2259|      0|					break;
 2260|      0|				}
 2261|      0|			}
 2262|      0|		}
 2263|  20.1k|	}
 2264|  20.1k|	SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|  20.1k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  20.1k|	do {                         \
  |  |  |  |  113|  20.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 20.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  20.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2265|  20.1k|	return (m_at);
 2266|  20.1k|}
sctp_is_addr_restricted:
 2454|  37.4k|{
 2455|  37.4k|	struct sctp_laddr *laddr;
 2456|       |
 2457|  37.4k|	if (stcb == NULL) {
  ------------------
  |  Branch (2457:6): [True: 0, False: 37.4k]
  ------------------
 2458|       |		/* There are no restrictions, no TCB :-) */
 2459|      0|		return (0);
 2460|      0|	}
 2461|  37.4k|	LIST_FOREACH(laddr, &stcb->asoc.sctp_restricted_addrs, sctp_nxt_addr) {
 2462|      0|		if (laddr->ifa == NULL) {
  ------------------
  |  Branch (2462:7): [True: 0, False: 0]
  ------------------
 2463|      0|			SCTPDBG(SCTP_DEBUG_OUTPUT1, "%s: NULL ifa\n",
 2464|      0|				__func__);
 2465|      0|			continue;
 2466|      0|		}
 2467|      0|		if (laddr->ifa == ifa) {
  ------------------
  |  Branch (2467:7): [True: 0, False: 0]
  ------------------
 2468|       |			/* Yes it is on the list */
 2469|      0|			return (1);
 2470|      0|		}
 2471|      0|	}
 2472|  37.4k|	return (0);
 2473|  37.4k|}
sctp_is_addr_in_ep:
 2477|  6.28k|{
 2478|  6.28k|	struct sctp_laddr *laddr;
 2479|       |
 2480|  6.28k|	if (ifa == NULL)
  ------------------
  |  Branch (2480:6): [True: 0, False: 6.28k]
  ------------------
 2481|      0|		return (0);
 2482|  6.28k|	LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) {
 2483|  6.28k|		if (laddr->ifa == NULL) {
  ------------------
  |  Branch (2483:7): [True: 0, False: 6.28k]
  ------------------
 2484|      0|			SCTPDBG(SCTP_DEBUG_OUTPUT1, "%s: NULL ifa\n",
 2485|      0|				__func__);
 2486|      0|			continue;
 2487|      0|		}
 2488|  6.28k|		if ((laddr->ifa == ifa) && laddr->action == 0)
  ------------------
  |  Branch (2488:7): [True: 0, False: 6.28k]
  |  Branch (2488:30): [True: 0, False: 0]
  ------------------
 2489|       |			/* same pointer */
 2490|      0|			return (1);
 2491|  6.28k|	}
 2492|  6.28k|	return (0);
 2493|  6.28k|}
sctp_source_address_selection:
 3378|  3.14k|{
 3379|  3.14k|	struct sctp_ifa *answer;
 3380|  3.14k|	uint8_t dest_is_priv, dest_is_loop;
 3381|  3.14k|	sa_family_t fam;
 3382|  3.14k|#ifdef INET
 3383|  3.14k|	struct sockaddr_in *to = (struct sockaddr_in *)&ro->ro_dst;
 3384|  3.14k|#endif
 3385|  3.14k|#ifdef INET6
 3386|  3.14k|	struct sockaddr_in6 *to6 = (struct sockaddr_in6 *)&ro->ro_dst;
 3387|  3.14k|#endif
 3388|       |
 3389|       |	/**
 3390|       |	 * Rules:
 3391|       |	 * - Find the route if needed, cache if I can.
 3392|       |	 * - Look at interface address in route, Is it in the bound list. If so we
 3393|       |	 *   have the best source.
 3394|       |	 * - If not we must rotate amongst the addresses.
 3395|       |	 *
 3396|       |	 * Caveats and issues
 3397|       |	 *
 3398|       |	 * Do we need to pay attention to scope. We can have a private address
 3399|       |	 * or a global address we are sourcing or sending to. So if we draw
 3400|       |	 * it out
 3401|       |	 * zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
 3402|       |	 * For V4
 3403|       |	 * ------------------------------------------
 3404|       |	 *      source     *      dest  *  result
 3405|       |	 * -----------------------------------------
 3406|       |	 * <a>  Private    *    Global  *  NAT
 3407|       |	 * -----------------------------------------
 3408|       |	 * <b>  Private    *    Private *  No problem
 3409|       |	 * -----------------------------------------
 3410|       |	 * <c>  Global     *    Private *  Huh, How will this work?
 3411|       |	 * -----------------------------------------
 3412|       |	 * <d>  Global     *    Global  *  No Problem
 3413|       |	 *------------------------------------------
 3414|       |	 * zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
 3415|       |	 * For V6
 3416|       |	 *------------------------------------------
 3417|       |	 *      source     *      dest  *  result
 3418|       |	 * -----------------------------------------
 3419|       |	 * <a>  Linklocal  *    Global  *
 3420|       |	 * -----------------------------------------
 3421|       |	 * <b>  Linklocal  * Linklocal  *  No problem
 3422|       |	 * -----------------------------------------
 3423|       |	 * <c>  Global     * Linklocal  *  Huh, How will this work?
 3424|       |	 * -----------------------------------------
 3425|       |	 * <d>  Global     *    Global  *  No Problem
 3426|       |	 *------------------------------------------
 3427|       |	 * zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
 3428|       |	 *
 3429|       |	 * And then we add to that what happens if there are multiple addresses
 3430|       |	 * assigned to an interface. Remember the ifa on a ifn is a linked
 3431|       |	 * list of addresses. So one interface can have more than one IP
 3432|       |	 * address. What happens if we have both a private and a global
 3433|       |	 * address? Do we then use context of destination to sort out which
 3434|       |	 * one is best? And what about NAT's sending P->G may get you a NAT
 3435|       |	 * translation, or should you select the G thats on the interface in
 3436|       |	 * preference.
 3437|       |	 *
 3438|       |	 * Decisions:
 3439|       |	 *
 3440|       |	 * - count the number of addresses on the interface.
 3441|       |	 * - if it is one, no problem except case <c>.
 3442|       |	 *   For <a> we will assume a NAT out there.
 3443|       |	 * - if there are more than one, then we need to worry about scope P
 3444|       |	 *   or G. We should prefer G -> G and P -> P if possible.
 3445|       |	 *   Then as a secondary fall back to mixed types G->P being a last
 3446|       |	 *   ditch one.
 3447|       |	 * - The above all works for bound all, but bound specific we need to
 3448|       |	 *   use the same concept but instead only consider the bound
 3449|       |	 *   addresses. If the bound set is NOT assigned to the interface then
 3450|       |	 *   we must use rotation amongst the bound addresses..
 3451|       |	 */
 3452|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3453|       |	if (ro->ro_nh == NULL) {
 3454|       |#else
 3455|  3.14k|	if (ro->ro_rt == NULL) {
  ------------------
  |  Branch (3455:6): [True: 0, False: 3.14k]
  ------------------
 3456|      0|#endif
 3457|       |		/*
 3458|       |		 * Need a route to cache.
 3459|       |		 */
 3460|      0|		SCTP_RTALLOC(ro, vrf_id, inp->fibnum);
  ------------------
  |  |  865|      0|#define SCTP_RTALLOC(ro, vrf_id, fibnum) sctp_userspace_rtalloc((sctp_route_t *)ro)
  ------------------
 3461|      0|	}
 3462|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3463|       |	if (ro->ro_nh == NULL) {
 3464|       |#else
 3465|  3.14k|	if (ro->ro_rt == NULL) {
  ------------------
  |  Branch (3465:6): [True: 0, False: 3.14k]
  ------------------
 3466|      0|#endif
 3467|      0|		return (NULL);
 3468|      0|	}
 3469|       |#if defined(_WIN32)
 3470|       |	/* On Windows the sa_family is U_SHORT or ADDRESS_FAMILY */
 3471|       |	fam = (sa_family_t)ro->ro_dst.sa_family;
 3472|       |#else
 3473|  3.14k|	fam = ro->ro_dst.sa_family;
 3474|  3.14k|#endif
 3475|  3.14k|	dest_is_priv = dest_is_loop = 0;
 3476|       |	/* Setup our scopes for the destination */
 3477|  3.14k|	switch (fam) {
  ------------------
  |  Branch (3477:10): [True: 0, False: 3.14k]
  ------------------
 3478|      0|#ifdef INET
 3479|  1.40k|	case AF_INET:
  ------------------
  |  Branch (3479:2): [True: 1.40k, False: 1.73k]
  ------------------
 3480|       |		/* Scope based on outbound address */
 3481|  1.40k|		if (IN4_ISLOOPBACK_ADDRESS(&to->sin_addr)) {
  ------------------
  |  |  977|  1.40k|    (((uint8_t *)&(a)->s_addr)[0] == 127)
  |  |  ------------------
  |  |  |  Branch (977:5): [True: 655, False: 752]
  |  |  ------------------
  ------------------
 3482|    655|			dest_is_loop = 1;
 3483|    655|			if (net != NULL) {
  ------------------
  |  Branch (3483:8): [True: 655, False: 0]
  ------------------
 3484|       |				/* mark it as local */
 3485|    655|				net->addr_is_local = 1;
 3486|    655|			}
 3487|    752|		} else if ((IN4_ISPRIVATE_ADDRESS(&to->sin_addr))) {
  ------------------
  |  |  969|    752|   ((((uint8_t *)&(a)->s_addr)[0] == 10) || \
  |  |  ------------------
  |  |  |  Branch (969:5): [True: 41, False: 711]
  |  |  ------------------
  |  |  970|    752|    ((((uint8_t *)&(a)->s_addr)[0] == 172) && \
  |  |  ------------------
  |  |  |  Branch (970:6): [True: 58, False: 653]
  |  |  ------------------
  |  |  971|    711|     (((uint8_t *)&(a)->s_addr)[1] >= 16) && \
  |  |  ------------------
  |  |  |  Branch (971:6): [True: 45, False: 13]
  |  |  ------------------
  |  |  972|    711|     (((uint8_t *)&(a)->s_addr)[1] <= 32)) || \
  |  |  ------------------
  |  |  |  Branch (972:6): [True: 16, False: 29]
  |  |  ------------------
  |  |  973|    752|    ((((uint8_t *)&(a)->s_addr)[0] == 192) && \
  |  |  ------------------
  |  |  |  Branch (973:6): [True: 13, False: 682]
  |  |  ------------------
  |  |  974|    695|     (((uint8_t *)&(a)->s_addr)[1] == 168)))
  |  |  ------------------
  |  |  |  Branch (974:6): [True: 1, False: 12]
  |  |  ------------------
  ------------------
 3488|     58|			dest_is_priv = 1;
 3489|     58|		}
 3490|  1.40k|		break;
 3491|      0|#endif
 3492|      0|#ifdef INET6
 3493|  1.73k|	case AF_INET6:
  ------------------
  |  Branch (3493:2): [True: 1.73k, False: 1.40k]
  ------------------
 3494|       |		/* Scope based on outbound address */
 3495|       |#if defined(_WIN32)
 3496|       |		if (IN6_IS_ADDR_LOOPBACK(&to6->sin6_addr)) {
 3497|       |#else
 3498|  1.73k|		if (IN6_IS_ADDR_LOOPBACK(&to6->sin6_addr) ||
 3499|  1.73k|		    SCTP_ROUTE_IS_REAL_LOOP(ro)) {
  ------------------
  |  |  654|  1.73k|#define SCTP_ROUTE_IS_REAL_LOOP(ro) 0
  |  |  ------------------
  |  |  |  Branch (654:37): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3500|      2|#endif
 3501|       |			/*
 3502|       |			 * If the address is a loopback address, which
 3503|       |			 * consists of "::1" OR "fe80::1%lo0", we are loopback
 3504|       |			 * scope. But we don't use dest_is_priv (link local
 3505|       |			 * addresses).
 3506|       |			 */
 3507|      2|			dest_is_loop = 1;
 3508|      2|			if (net != NULL) {
  ------------------
  |  Branch (3508:8): [True: 2, False: 0]
  ------------------
 3509|       |				/* mark it as local */
 3510|      2|				net->addr_is_local = 1;
 3511|      2|			}
 3512|  1.73k|		} else if (IN6_IS_ADDR_LINKLOCAL(&to6->sin6_addr)) {
 3513|    989|			dest_is_priv = 1;
 3514|    989|		}
 3515|  1.73k|		break;
 3516|  3.14k|#endif
 3517|  3.14k|	}
 3518|  3.14k|	SCTPDBG(SCTP_DEBUG_OUTPUT2, "Select source addr for:");
 3519|  3.14k|	SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, (struct sockaddr *)&ro->ro_dst);
 3520|  3.14k|	SCTP_IPI_ADDR_RLOCK();
  ------------------
  |  |  597|  3.14k|	KASSERT(pthread_rwlock_rdlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  3.14k|	do {                         \
  |  |  |  |  113|  3.14k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 3.14k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  3.14k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3521|  3.14k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_BOUNDALL) {
  ------------------
  |  |  533|  3.14k|#define SCTP_PCB_FLAGS_BOUNDALL		0x00000004
  ------------------
  |  Branch (3521:6): [True: 0, False: 3.14k]
  ------------------
 3522|       |		/*
 3523|       |		 * Bound all case
 3524|       |		 */
 3525|      0|		answer = sctp_choose_boundall(inp, stcb, net, ro, vrf_id,
 3526|      0|					      dest_is_priv, dest_is_loop,
 3527|      0|					      non_asoc_addr_ok, fam);
 3528|      0|		SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3529|      0|		return (answer);
 3530|      0|	}
 3531|       |	/*
 3532|       |	 * Subset bound case
 3533|       |	 */
 3534|  3.14k|	if (stcb) {
  ------------------
  |  Branch (3534:6): [True: 3.14k, False: 0]
  ------------------
 3535|  3.14k|		answer = sctp_choose_boundspecific_stcb(inp, stcb, ro,
 3536|  3.14k|							vrf_id,	dest_is_priv,
 3537|  3.14k|							dest_is_loop,
 3538|  3.14k|							non_asoc_addr_ok, fam);
 3539|  3.14k|	} else {
 3540|      0|		answer = sctp_choose_boundspecific_inp(inp, ro, vrf_id,
 3541|      0|						       non_asoc_addr_ok,
 3542|      0|						       dest_is_priv,
 3543|      0|						       dest_is_loop, fam);
 3544|      0|	}
 3545|  3.14k|	SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|  3.14k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  3.14k|	do {                         \
  |  |  |  |  113|  3.14k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 3.14k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  3.14k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3546|  3.14k|	return (answer);
 3547|  3.14k|}
sctp_send_initiate:
 5064|  29.1k|{
 5065|  29.1k|	struct mbuf *m, *m_last;
 5066|  29.1k|	struct sctp_nets *net;
 5067|  29.1k|	struct sctp_init_chunk *init;
 5068|  29.1k|	struct sctp_supported_addr_param *sup_addr;
 5069|  29.1k|	struct sctp_adaptation_layer_indication *ali;
 5070|  29.1k|	struct sctp_zero_checksum_acceptable *zero_chksum;
 5071|  29.1k|	struct sctp_supported_chunk_types_param *pr_supported;
 5072|  29.1k|	struct sctp_paramhdr *ph;
 5073|  29.1k|	int cnt_inits_to = 0;
 5074|  29.1k|	int error;
 5075|  29.1k|	uint16_t num_ext, chunk_len, padding_len, parameter_len;
 5076|       |
 5077|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5078|       |	if (so_locked) {
 5079|       |		sctp_lock_assert(SCTP_INP_SO(inp));
 5080|       |	} else {
 5081|       |		sctp_unlock_assert(SCTP_INP_SO(inp));
 5082|       |	}
 5083|       |#endif
 5084|       |	/* INIT's always go to the primary (and usually ONLY address) */
 5085|  29.1k|	net = stcb->asoc.primary_destination;
 5086|  29.1k|	if (net == NULL) {
  ------------------
  |  Branch (5086:6): [True: 0, False: 29.1k]
  ------------------
 5087|      0|		net = TAILQ_FIRST(&stcb->asoc.nets);
 5088|      0|		if (net == NULL) {
  ------------------
  |  Branch (5088:7): [True: 0, False: 0]
  ------------------
 5089|       |			/* TSNH */
 5090|      0|			return;
 5091|      0|		}
 5092|       |		/* we confirm any address we send an INIT to */
 5093|      0|		net->dest_state &= ~SCTP_ADDR_UNCONFIRMED;
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
 5094|      0|		(void)sctp_set_primary_addr(stcb, NULL, net);
 5095|  29.1k|	} else {
 5096|       |		/* we confirm any address we send an INIT to */
 5097|  29.1k|		net->dest_state &= ~SCTP_ADDR_UNCONFIRMED;
  ------------------
  |  |  487|  29.1k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
 5098|  29.1k|	}
 5099|  29.1k|	SCTPDBG(SCTP_DEBUG_OUTPUT4, "Sending INIT\n");
 5100|  29.1k|#ifdef INET6
 5101|  29.1k|	if (net->ro._l_addr.sa.sa_family == AF_INET6) {
  ------------------
  |  Branch (5101:6): [True: 1.45k, False: 27.7k]
  ------------------
 5102|       |		/*
 5103|       |		 * special hook, if we are sending to link local it will not
 5104|       |		 * show up in our private address count.
 5105|       |		 */
 5106|  1.45k|		if (IN6_IS_ADDR_LINKLOCAL(&net->ro._l_addr.sin6.sin6_addr))
 5107|  1.45k|			cnt_inits_to = 1;
 5108|  1.45k|	}
 5109|  29.1k|#endif
 5110|  29.1k|	if (SCTP_OS_TIMER_PENDING(&net->rxt_timer.timer)) {
  ------------------
  |  |  102|  29.1k|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|  29.1k|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  |  |  |  Branch (102:36): [True: 8.99k, False: 20.1k]
  |  |  ------------------
  ------------------
 5111|       |		/* This case should not happen */
 5112|  8.99k|		SCTPDBG(SCTP_DEBUG_OUTPUT4, "Sending INIT - failed timer?\n");
 5113|  8.99k|		return;
 5114|  8.99k|	}
 5115|       |	/* start the INIT timer */
 5116|  20.1k|	sctp_timer_start(SCTP_TIMER_TYPE_INIT, inp, stcb, net);
  ------------------
  |  |  533|  20.1k|#define SCTP_TIMER_TYPE_INIT		2
  ------------------
 5117|       |
 5118|  20.1k|	m = sctp_get_mbuf_for_msg(MCLBYTES, 1, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   51|  20.1k|#define MCLBYTES 2048
  ------------------
              	m = sctp_get_mbuf_for_msg(MCLBYTES, 1, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  20.1k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m = sctp_get_mbuf_for_msg(MCLBYTES, 1, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  20.1k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 5119|  20.1k|	if (m == NULL) {
  ------------------
  |  Branch (5119:6): [True: 0, False: 20.1k]
  ------------------
 5120|       |		/* No memory, INIT timer will re-attempt. */
 5121|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT4, "Sending INIT - mbuf?\n");
 5122|      0|		return;
 5123|      0|	}
 5124|  20.1k|	chunk_len = (uint16_t)sizeof(struct sctp_init_chunk);
 5125|  20.1k|	padding_len = 0;
 5126|       |	/* Now lets put the chunk header in place */
 5127|  20.1k|	init = mtod(m, struct sctp_init_chunk *);
  ------------------
  |  |   96|  20.1k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  20.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5128|       |	/* now the chunk header */
 5129|  20.1k|	init->ch.chunk_type = SCTP_INITIATION;
  ------------------
  |  |  458|  20.1k|#define SCTP_INITIATION		0x01
  ------------------
 5130|  20.1k|	init->ch.chunk_flags = 0;
 5131|       |	/* fill in later from mbuf we build */
 5132|  20.1k|	init->ch.chunk_length = 0;
 5133|       |	/* place in my tag */
 5134|  20.1k|	init->init.initiate_tag = htonl(stcb->asoc.my_vtag);
 5135|       |	/* set up some of the credits. */
 5136|  20.1k|	init->init.a_rwnd = htonl(max(inp->sctp_socket?SCTP_SB_LIMIT_RCV(inp->sctp_socket):0,
 5137|  20.1k|	                              SCTP_MINIMAL_RWND));
 5138|  20.1k|	init->init.num_outbound_streams = htons(stcb->asoc.pre_open_streams);
 5139|  20.1k|	init->init.num_inbound_streams = htons(stcb->asoc.max_inbound_streams);
 5140|  20.1k|	init->init.initial_tsn = htonl(stcb->asoc.init_seq_number);
 5141|       |
 5142|       |	/* Adaptation layer indication parameter */
 5143|  20.1k|	if (inp->sctp_ep.adaptation_layer_indicator_provided) {
  ------------------
  |  Branch (5143:6): [True: 0, False: 20.1k]
  ------------------
 5144|      0|		parameter_len = (uint16_t)sizeof(struct sctp_adaptation_layer_indication);
 5145|      0|		ali = (struct sctp_adaptation_layer_indication *)(mtod(m, caddr_t) + chunk_len);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5146|      0|		ali->ph.param_type = htons(SCTP_ULP_ADAPTATION);
 5147|      0|		ali->ph.param_length = htons(parameter_len);
 5148|      0|		ali->indication = htonl(inp->sctp_ep.adaptation_layer_indicator);
 5149|      0|		chunk_len += parameter_len;
 5150|      0|	}
 5151|       |
 5152|       |	/* ECN parameter */
 5153|  20.1k|	if (stcb->asoc.ecn_supported == 1) {
  ------------------
  |  Branch (5153:6): [True: 20.1k, False: 0]
  ------------------
 5154|  20.1k|		parameter_len = (uint16_t)sizeof(struct sctp_paramhdr);
 5155|  20.1k|		ph = (struct sctp_paramhdr *)(mtod(m, caddr_t) + chunk_len);
  ------------------
  |  |   96|  20.1k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  20.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5156|  20.1k|		ph->param_type = htons(SCTP_ECN_CAPABLE);
 5157|  20.1k|		ph->param_length = htons(parameter_len);
 5158|  20.1k|		chunk_len += parameter_len;
 5159|  20.1k|	}
 5160|       |
 5161|       |	/* PR-SCTP supported parameter */
 5162|  20.1k|	if (stcb->asoc.prsctp_supported == 1) {
  ------------------
  |  Branch (5162:6): [True: 18.8k, False: 1.29k]
  ------------------
 5163|  18.8k|		parameter_len = (uint16_t)sizeof(struct sctp_paramhdr);
 5164|  18.8k|		ph = (struct sctp_paramhdr *)(mtod(m, caddr_t) + chunk_len);
  ------------------
  |  |   96|  18.8k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  18.8k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5165|  18.8k|		ph->param_type = htons(SCTP_PRSCTP_SUPPORTED);
 5166|  18.8k|		ph->param_length = htons(parameter_len);
 5167|  18.8k|		chunk_len += parameter_len;
 5168|  18.8k|	}
 5169|       |
 5170|       |	/* Zero checksum acceptable parameter */
 5171|  20.1k|	if (stcb->asoc.rcv_edmid != SCTP_EDMID_NONE) {
  ------------------
  |  |  809|  20.1k|#define SCTP_EDMID_NONE             0
  ------------------
  |  Branch (5171:6): [True: 0, False: 20.1k]
  ------------------
 5172|      0|		parameter_len = (uint16_t)sizeof(struct sctp_zero_checksum_acceptable);
 5173|      0|		zero_chksum = (struct sctp_zero_checksum_acceptable *)(mtod(m, caddr_t) + chunk_len);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5174|      0|		zero_chksum->ph.param_type = htons(SCTP_ZERO_CHECKSUM_ACCEPTABLE);
 5175|      0|		zero_chksum->ph.param_length = htons(parameter_len);
 5176|      0|		zero_chksum->edmid = htonl(stcb->asoc.rcv_edmid);
 5177|      0|		chunk_len += parameter_len;
 5178|      0|	}
 5179|       |
 5180|       |	/* Add NAT friendly parameter. */
 5181|  20.1k|	if (SCTP_BASE_SYSCTL(sctp_inits_include_nat_friendly)) {
  ------------------
  |  |  584|  20.1k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 0, False: 20.1k]
  |  |  ------------------
  ------------------
 5182|      0|		parameter_len = (uint16_t)sizeof(struct sctp_paramhdr);
 5183|      0|		ph = (struct sctp_paramhdr *)(mtod(m, caddr_t) + chunk_len);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5184|      0|		ph->param_type = htons(SCTP_HAS_NAT_SUPPORT);
 5185|      0|		ph->param_length = htons(parameter_len);
 5186|      0|		chunk_len += parameter_len;
 5187|      0|	}
 5188|       |
 5189|       |	/* And now tell the peer which extensions we support */
 5190|  20.1k|	num_ext = 0;
 5191|  20.1k|	pr_supported = (struct sctp_supported_chunk_types_param *)(mtod(m, caddr_t) + chunk_len);
  ------------------
  |  |   96|  20.1k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  20.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5192|  20.1k|	if (stcb->asoc.prsctp_supported == 1) {
  ------------------
  |  Branch (5192:6): [True: 18.8k, False: 1.29k]
  ------------------
 5193|  18.8k|		pr_supported->chunk_types[num_ext++] = SCTP_FORWARD_CUM_TSN;
  ------------------
  |  |  490|  18.8k|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
 5194|  18.8k|		if (stcb->asoc.idata_supported) {
  ------------------
  |  Branch (5194:7): [True: 8.22k, False: 10.6k]
  ------------------
 5195|  8.22k|			pr_supported->chunk_types[num_ext++] = SCTP_IFORWARD_CUM_TSN;
  ------------------
  |  |  493|  8.22k|#define SCTP_IFORWARD_CUM_TSN	0xc2
  ------------------
 5196|  8.22k|		}
 5197|  18.8k|	}
 5198|  20.1k|	if (stcb->asoc.auth_supported == 1) {
  ------------------
  |  Branch (5198:6): [True: 20.1k, False: 0]
  ------------------
 5199|  20.1k|		pr_supported->chunk_types[num_ext++] = SCTP_AUTHENTICATION;
  ------------------
  |  |  473|  20.1k|#define SCTP_AUTHENTICATION     0x0f
  ------------------
 5200|  20.1k|	}
 5201|  20.1k|	if (stcb->asoc.asconf_supported == 1) {
  ------------------
  |  Branch (5201:6): [True: 18.6k, False: 1.49k]
  ------------------
 5202|  18.6k|		pr_supported->chunk_types[num_ext++] = SCTP_ASCONF;
  ------------------
  |  |  492|  18.6k|#define SCTP_ASCONF		0xc1
  ------------------
 5203|  18.6k|		pr_supported->chunk_types[num_ext++] = SCTP_ASCONF_ACK;
  ------------------
  |  |  480|  18.6k|#define	SCTP_ASCONF_ACK		0x80
  ------------------
 5204|  18.6k|	}
 5205|  20.1k|	if (stcb->asoc.reconfig_supported == 1) {
  ------------------
  |  Branch (5205:6): [True: 20.1k, False: 0]
  ------------------
 5206|  20.1k|		pr_supported->chunk_types[num_ext++] = SCTP_STREAM_RESET;
  ------------------
  |  |  484|  20.1k|#define SCTP_STREAM_RESET       0x82
  ------------------
 5207|  20.1k|	}
 5208|  20.1k|	if (stcb->asoc.idata_supported) {
  ------------------
  |  Branch (5208:6): [True: 8.59k, False: 11.5k]
  ------------------
 5209|  8.59k|		pr_supported->chunk_types[num_ext++] = SCTP_IDATA;
  ------------------
  |  |  477|  8.59k|#define SCTP_IDATA		0x40
  ------------------
 5210|  8.59k|	}
 5211|  20.1k|	if (stcb->asoc.nrsack_supported == 1) {
  ------------------
  |  Branch (5211:6): [True: 15.0k, False: 5.10k]
  ------------------
 5212|  15.0k|		pr_supported->chunk_types[num_ext++] = SCTP_NR_SELECTIVE_ACK;
  ------------------
  |  |  475|  15.0k|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
 5213|  15.0k|	}
 5214|  20.1k|	if (stcb->asoc.pktdrop_supported == 1) {
  ------------------
  |  Branch (5214:6): [True: 15.0k, False: 5.10k]
  ------------------
 5215|  15.0k|		pr_supported->chunk_types[num_ext++] = SCTP_PACKET_DROPPED;
  ------------------
  |  |  482|  15.0k|#define SCTP_PACKET_DROPPED	0x81
  ------------------
 5216|  15.0k|	}
 5217|  20.1k|	if (num_ext > 0) {
  ------------------
  |  Branch (5217:6): [True: 20.1k, False: 0]
  ------------------
 5218|  20.1k|		parameter_len = (uint16_t)sizeof(struct sctp_supported_chunk_types_param) + num_ext;
 5219|  20.1k|		pr_supported->ph.param_type = htons(SCTP_SUPPORTED_CHUNK_EXT);
 5220|  20.1k|		pr_supported->ph.param_length = htons(parameter_len);
 5221|  20.1k|		padding_len = SCTP_SIZE32(parameter_len) - parameter_len;
  ------------------
  |  |  383|  20.1k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 5222|  20.1k|		chunk_len += parameter_len;
 5223|  20.1k|	}
 5224|       |	/* add authentication parameters */
 5225|  20.1k|	if (stcb->asoc.auth_supported) {
  ------------------
  |  Branch (5225:6): [True: 20.1k, False: 0]
  ------------------
 5226|       |		/* attach RANDOM parameter, if available */
 5227|  20.1k|		if (stcb->asoc.authinfo.random != NULL) {
  ------------------
  |  Branch (5227:7): [True: 20.1k, False: 0]
  ------------------
 5228|  20.1k|			struct sctp_auth_random *randp;
 5229|       |
 5230|  20.1k|			if (padding_len > 0) {
  ------------------
  |  Branch (5230:8): [True: 19.2k, False: 923]
  ------------------
 5231|  19.2k|				memset(mtod(m, caddr_t) + chunk_len, 0, padding_len);
  ------------------
  |  |   96|  19.2k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  19.2k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5232|  19.2k|				chunk_len += padding_len;
 5233|  19.2k|				padding_len = 0;
 5234|  19.2k|			}
 5235|  20.1k|			randp = (struct sctp_auth_random *)(mtod(m, caddr_t) + chunk_len);
  ------------------
  |  |   96|  20.1k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  20.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5236|  20.1k|			parameter_len = (uint16_t)sizeof(struct sctp_auth_random) + stcb->asoc.authinfo.random_len;
 5237|       |			/* random key already contains the header */
 5238|  20.1k|			memcpy(randp, stcb->asoc.authinfo.random->key, parameter_len);
 5239|  20.1k|			padding_len = SCTP_SIZE32(parameter_len) - parameter_len;
  ------------------
  |  |  383|  20.1k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 5240|  20.1k|			chunk_len += parameter_len;
 5241|  20.1k|		}
 5242|       |		/* add HMAC_ALGO parameter */
 5243|  20.1k|		if (stcb->asoc.local_hmacs != NULL) {
  ------------------
  |  Branch (5243:7): [True: 20.1k, False: 0]
  ------------------
 5244|  20.1k|			struct sctp_auth_hmac_algo *hmacs;
 5245|       |
 5246|  20.1k|			if (padding_len > 0) {
  ------------------
  |  Branch (5246:8): [True: 0, False: 20.1k]
  ------------------
 5247|      0|				memset(mtod(m, caddr_t) + chunk_len, 0, padding_len);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5248|      0|				chunk_len += padding_len;
 5249|      0|				padding_len = 0;
 5250|      0|			}
 5251|  20.1k|			hmacs = (struct sctp_auth_hmac_algo *)(mtod(m, caddr_t) + chunk_len);
  ------------------
  |  |   96|  20.1k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  20.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5252|  20.1k|			parameter_len = (uint16_t)(sizeof(struct sctp_auth_hmac_algo) +
 5253|  20.1k|			                           stcb->asoc.local_hmacs->num_algo * sizeof(uint16_t));
 5254|  20.1k|			hmacs->ph.param_type = htons(SCTP_HMAC_LIST);
 5255|  20.1k|			hmacs->ph.param_length = htons(parameter_len);
 5256|  20.1k|			sctp_serialize_hmaclist(stcb->asoc.local_hmacs, (uint8_t *)hmacs->hmac_ids);
 5257|  20.1k|			padding_len = SCTP_SIZE32(parameter_len) - parameter_len;
  ------------------
  |  |  383|  20.1k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 5258|  20.1k|			chunk_len += parameter_len;
 5259|  20.1k|		}
 5260|       |		/* add CHUNKS parameter */
 5261|  20.1k|		if (stcb->asoc.local_auth_chunks != NULL) {
  ------------------
  |  Branch (5261:7): [True: 20.1k, False: 0]
  ------------------
 5262|  20.1k|			struct sctp_auth_chunk_list *chunks;
 5263|       |
 5264|  20.1k|			if (padding_len > 0) {
  ------------------
  |  Branch (5264:8): [True: 20.1k, False: 0]
  ------------------
 5265|  20.1k|				memset(mtod(m, caddr_t) + chunk_len, 0, padding_len);
  ------------------
  |  |   96|  20.1k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  20.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5266|  20.1k|				chunk_len += padding_len;
 5267|  20.1k|				padding_len = 0;
 5268|  20.1k|			}
 5269|  20.1k|			chunks = (struct sctp_auth_chunk_list *)(mtod(m, caddr_t) + chunk_len);
  ------------------
  |  |   96|  20.1k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  20.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5270|  20.1k|			parameter_len = (uint16_t)(sizeof(struct sctp_auth_chunk_list) +
 5271|  20.1k|			                           sctp_auth_get_chklist_size(stcb->asoc.local_auth_chunks));
 5272|  20.1k|			chunks->ph.param_type = htons(SCTP_CHUNK_LIST);
 5273|  20.1k|			chunks->ph.param_length = htons(parameter_len);
 5274|  20.1k|			sctp_serialize_auth_chunks(stcb->asoc.local_auth_chunks, chunks->chunk_types);
 5275|  20.1k|			padding_len = SCTP_SIZE32(parameter_len) - parameter_len;
  ------------------
  |  |  383|  20.1k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 5276|  20.1k|			chunk_len += parameter_len;
 5277|  20.1k|		}
 5278|  20.1k|	}
 5279|       |
 5280|       |	/* now any cookie time extensions */
 5281|  20.1k|	if (stcb->asoc.cookie_preserve_req > 0) {
  ------------------
  |  Branch (5281:6): [True: 59, False: 20.1k]
  ------------------
 5282|     59|		struct sctp_cookie_perserve_param *cookie_preserve;
 5283|       |
 5284|     59|		if (padding_len > 0) {
  ------------------
  |  Branch (5284:7): [True: 59, False: 0]
  ------------------
 5285|     59|			memset(mtod(m, caddr_t) + chunk_len, 0, padding_len);
  ------------------
  |  |   96|     59|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|     59|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5286|     59|			chunk_len += padding_len;
 5287|     59|			padding_len = 0;
 5288|     59|		}
 5289|     59|		parameter_len = (uint16_t)sizeof(struct sctp_cookie_perserve_param);
 5290|     59|		cookie_preserve = (struct sctp_cookie_perserve_param *)(mtod(m, caddr_t) + chunk_len);
  ------------------
  |  |   96|     59|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|     59|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5291|     59|		cookie_preserve->ph.param_type = htons(SCTP_COOKIE_PRESERVE);
 5292|     59|		cookie_preserve->ph.param_length = htons(parameter_len);
 5293|     59|		cookie_preserve->time = htonl(stcb->asoc.cookie_preserve_req);
 5294|     59|		stcb->asoc.cookie_preserve_req = 0;
 5295|     59|		chunk_len += parameter_len;
 5296|     59|	}
 5297|       |
 5298|  20.1k|	if (stcb->asoc.scope.ipv4_addr_legal || stcb->asoc.scope.ipv6_addr_legal) {
  ------------------
  |  Branch (5298:6): [True: 0, False: 20.1k]
  |  Branch (5298:42): [True: 0, False: 20.1k]
  ------------------
 5299|      0|		uint8_t i;
 5300|       |
 5301|      0|		if (padding_len > 0) {
  ------------------
  |  Branch (5301:7): [True: 0, False: 0]
  ------------------
 5302|      0|			memset(mtod(m, caddr_t) + chunk_len, 0, padding_len);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5303|      0|			chunk_len += padding_len;
 5304|      0|			padding_len = 0;
 5305|      0|		}
 5306|      0|		parameter_len = (uint16_t)sizeof(struct sctp_paramhdr);
 5307|      0|		if (stcb->asoc.scope.ipv4_addr_legal) {
  ------------------
  |  Branch (5307:7): [True: 0, False: 0]
  ------------------
 5308|      0|			parameter_len += (uint16_t)sizeof(uint16_t);
 5309|      0|		}
 5310|      0|		if (stcb->asoc.scope.ipv6_addr_legal) {
  ------------------
  |  Branch (5310:7): [True: 0, False: 0]
  ------------------
 5311|      0|			parameter_len += (uint16_t)sizeof(uint16_t);
 5312|      0|		}
 5313|      0|		sup_addr = (struct sctp_supported_addr_param *)(mtod(m, caddr_t) + chunk_len);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5314|      0|		sup_addr->ph.param_type = htons(SCTP_SUPPORTED_ADDRTYPE);
 5315|      0|		sup_addr->ph.param_length = htons(parameter_len);
 5316|      0|		i = 0;
 5317|      0|		if (stcb->asoc.scope.ipv4_addr_legal) {
  ------------------
  |  Branch (5317:7): [True: 0, False: 0]
  ------------------
 5318|      0|			sup_addr->addr_type[i++] = htons(SCTP_IPV4_ADDRESS);
 5319|      0|		}
 5320|      0|		if (stcb->asoc.scope.ipv6_addr_legal) {
  ------------------
  |  Branch (5320:7): [True: 0, False: 0]
  ------------------
 5321|      0|			sup_addr->addr_type[i++] = htons(SCTP_IPV6_ADDRESS);
 5322|      0|		}
 5323|      0|		padding_len = 4 - 2 * i;
 5324|      0|		chunk_len += parameter_len;
 5325|      0|	}
 5326|       |
 5327|  20.1k|	SCTP_BUF_LEN(m) = chunk_len;
  ------------------
  |  |  795|  20.1k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  20.1k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5328|       |	/* now the addresses */
 5329|       |	/* To optimize this we could put the scoping stuff
 5330|       |	 * into a structure and remove the individual uint8's from
 5331|       |	 * the assoc structure. Then we could just sifa in the
 5332|       |	 * address within the stcb. But for now this is a quick
 5333|       |	 * hack to get the address stuff teased apart.
 5334|       |	 */
 5335|  20.1k|	m_last = sctp_add_addresses_to_i_ia(inp, stcb, &stcb->asoc.scope,
 5336|  20.1k|	                                    m, cnt_inits_to,
 5337|  20.1k|	                                    &padding_len, &chunk_len);
 5338|       |
 5339|  20.1k|	init->ch.chunk_length = htons(chunk_len);
 5340|  20.1k|	if (padding_len > 0) {
  ------------------
  |  Branch (5340:6): [True: 20.1k, False: 59]
  ------------------
 5341|  20.1k|		if (sctp_add_pad_tombuf(m_last, padding_len) == NULL) {
  ------------------
  |  Branch (5341:7): [True: 0, False: 20.1k]
  ------------------
 5342|      0|			sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5343|      0|			return;
 5344|      0|		}
 5345|  20.1k|	}
 5346|  20.1k|	SCTPDBG(SCTP_DEBUG_OUTPUT4, "Sending INIT - calls lowlevel_output\n");
 5347|  20.1k|	if ((error = sctp_lowlevel_chunk_output(inp, stcb, net,
  ------------------
  |  Branch (5347:6): [True: 1.85k, False: 18.3k]
  ------------------
 5348|  20.1k|	                                        (struct sockaddr *)&net->ro._l_addr,
 5349|  20.1k|	                                        m, 0, NULL, 0, 0, 0, 0,
 5350|  20.1k|	                                        inp->sctp_lport, stcb->rport, htonl(0),
  ------------------
  |  |  426|  20.1k|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|  20.1k|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|  20.1k|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5351|  20.1k|	                                        net->port, NULL,
 5352|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5353|       |	                                        0, 0,
 5354|       |#endif
 5355|  20.1k|	                                        false, so_locked))) {
 5356|  1.85k|		SCTPDBG(SCTP_DEBUG_OUTPUT4, "Gak send error %d\n", error);
 5357|  1.85k|		if (error == ENOBUFS) {
  ------------------
  |  Branch (5357:7): [True: 0, False: 1.85k]
  ------------------
 5358|      0|			stcb->asoc.ifp_had_enobuf = 1;
 5359|      0|			SCTP_STAT_INCR(sctps_lowlevelerr);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5360|      0|		}
 5361|  18.3k|	} else {
 5362|  18.3k|		stcb->asoc.ifp_had_enobuf = 0;
 5363|  18.3k|	}
 5364|  20.1k|	SCTP_STAT_INCR_COUNTER64(sctps_outcontrolchunks);
  ------------------
  |  | 1128|  20.1k|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  20.1k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  20.1k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  20.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5365|  20.1k|	(void)SCTP_GETTIME_TIMEVAL(&net->last_sent_time);
  ------------------
  |  |  991|  20.1k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 5366|  20.1k|}
sctp_arethere_unrecognized_parameters:
 5375|  9.59k|{
 5376|       |	/*
 5377|       |	 * Given a mbuf containing an INIT or INIT-ACK with the param_offset
 5378|       |	 * being equal to the beginning of the params i.e. (iphlen +
 5379|       |	 * sizeof(struct sctp_init_msg) parse through the parameters to the
 5380|       |	 * end of the mbuf verifying that all parameters are known.
 5381|       |	 *
 5382|       |	 * For unknown parameters build and return a mbuf with
 5383|       |	 * UNRECOGNIZED_PARAMETER errors. If the flags indicate to stop
 5384|       |	 * processing this chunk stop, and set *abort_processing to 1.
 5385|       |	 *
 5386|       |	 * By having param_offset be pre-set to where parameters begin it is
 5387|       |	 * hoped that this routine may be reused in the future by new
 5388|       |	 * features.
 5389|       |	 */
 5390|  9.59k|	struct sctp_zero_checksum_acceptable zero_chksum, *zero_chksum_p;
 5391|  9.59k|	struct sctp_paramhdr *phdr, params;
 5392|  9.59k|	struct mbuf *mat, *m_tmp, *op_err, *op_err_last;
 5393|  9.59k|	int at, limit, pad_needed;
 5394|  9.59k|	uint16_t ptype, plen, padded_size;
 5395|       |
 5396|  9.59k|	*abort_processing = 0;
 5397|  9.59k|	if (cookie_found != NULL) {
  ------------------
  |  Branch (5397:6): [True: 9.59k, False: 0]
  ------------------
 5398|  9.59k|		*cookie_found = 0;
 5399|  9.59k|	}
 5400|  9.59k|	if (edmid != NULL) {
  ------------------
  |  Branch (5400:6): [True: 0, False: 9.59k]
  ------------------
 5401|      0|		*edmid = SCTP_EDMID_NONE;
  ------------------
  |  |  809|      0|#define SCTP_EDMID_NONE             0
  ------------------
 5402|      0|	}
 5403|  9.59k|	mat = in_initpkt;
 5404|  9.59k|	limit = ntohs(cp->chunk_length) - sizeof(struct sctp_init_chunk);
 5405|  9.59k|	at = param_offset;
 5406|  9.59k|	op_err = NULL;
 5407|  9.59k|	op_err_last = NULL;
 5408|  9.59k|	pad_needed = 0;
 5409|  9.59k|	SCTPDBG(SCTP_DEBUG_OUTPUT1, "Check for unrecognized param's\n");
 5410|  9.59k|	phdr = sctp_get_next_param(mat, at, &params, sizeof(params));
 5411|   135k|	while ((phdr != NULL) && ((size_t)limit >= sizeof(struct sctp_paramhdr))) {
  ------------------
  |  Branch (5411:9): [True: 126k, False: 9.26k]
  |  Branch (5411:27): [True: 125k, False: 30]
  ------------------
 5412|   125k|		ptype = ntohs(phdr->param_type);
 5413|   125k|		plen = ntohs(phdr->param_length);
 5414|   125k|		if ((plen > limit) || (plen < sizeof(struct sctp_paramhdr))) {
  ------------------
  |  Branch (5414:7): [True: 42, False: 125k]
  |  Branch (5414:25): [True: 16, False: 125k]
  ------------------
 5415|       |			/* wacked parameter */
 5416|     58|			SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error %d\n", plen);
 5417|     58|			goto invalid_size;
 5418|     58|		}
 5419|   125k|		limit -= SCTP_SIZE32(plen);
  ------------------
  |  |  383|   125k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 5420|       |		/*-
 5421|       |		 * All parameters for all chunks that we know/understand are
 5422|       |		 * listed here. We process them other places and make
 5423|       |		 * appropriate stop actions per the upper bits. However this
 5424|       |		 * is the generic routine processor's can call to get back
 5425|       |		 * an operr.. to either incorporate (init-ack) or send.
 5426|       |		 */
 5427|   125k|		padded_size = SCTP_SIZE32(plen);
  ------------------
  |  |  383|   125k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 5428|   125k|		switch (ptype) {
 5429|       |			/* Param's with variable size */
 5430|    607|		case SCTP_HEARTBEAT_INFO:
  ------------------
  |  |  390|    607|#define SCTP_HEARTBEAT_INFO		0x0001
  ------------------
  |  Branch (5430:3): [True: 607, False: 125k]
  ------------------
 5431|  1.77k|		case SCTP_UNRECOG_PARAM:
  ------------------
  |  |  397|  1.77k|#define SCTP_UNRECOG_PARAM		0x0008
  ------------------
  |  Branch (5431:3): [True: 1.16k, False: 124k]
  ------------------
 5432|  2.84k|		case SCTP_ERROR_CAUSE_IND:
  ------------------
  |  |  432|  2.84k|#define SCTP_ERROR_CAUSE_IND		0xc003
  ------------------
  |  Branch (5432:3): [True: 1.06k, False: 124k]
  ------------------
 5433|       |			/* ok skip fwd */
 5434|  2.84k|			at += padded_size;
 5435|  2.84k|			break;
 5436|  10.8k|		case SCTP_STATE_COOKIE:
  ------------------
  |  |  396|  10.8k|#define SCTP_STATE_COOKIE		0x0007
  ------------------
  |  Branch (5436:3): [True: 10.8k, False: 115k]
  ------------------
 5437|  10.8k|			if (cookie_found != NULL) {
  ------------------
  |  Branch (5437:8): [True: 10.8k, False: 0]
  ------------------
 5438|  10.8k|				*cookie_found = 1;
 5439|  10.8k|			}
 5440|  10.8k|			at += padded_size;
 5441|  10.8k|			break;
 5442|       |			/* Param's with variable size within a range */
 5443|  11.1k|		case SCTP_CHUNK_LIST:
  ------------------
  |  |  420|  11.1k|#define SCTP_CHUNK_LIST			0x8003
  ------------------
  |  Branch (5443:3): [True: 11.1k, False: 114k]
  ------------------
 5444|  34.0k|		case SCTP_SUPPORTED_CHUNK_EXT:
  ------------------
  |  |  425|  34.0k|#define SCTP_SUPPORTED_CHUNK_EXT	0x8008
  ------------------
  |  Branch (5444:3): [True: 22.8k, False: 103k]
  ------------------
 5445|  34.0k|			if (padded_size > (sizeof(struct sctp_supported_chunk_types_param) + (sizeof(uint8_t) * SCTP_MAX_SUPPORTED_EXT))) {
  ------------------
  |  |  135|  34.0k|#define SCTP_MAX_SUPPORTED_EXT 256
  ------------------
  |  Branch (5445:8): [True: 1, False: 34.0k]
  ------------------
 5446|      1|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error chklist %d\n", plen);
 5447|      1|				goto invalid_size;
 5448|      1|			}
 5449|  34.0k|			at += padded_size;
 5450|  34.0k|			break;
 5451|  1.20k|		case SCTP_SUPPORTED_ADDRTYPE:
  ------------------
  |  |  400|  1.20k|#define SCTP_SUPPORTED_ADDRTYPE		0x000c
  ------------------
  |  Branch (5451:3): [True: 1.20k, False: 124k]
  ------------------
 5452|  1.20k|			if (padded_size > SCTP_MAX_ADDR_PARAMS_SIZE) {
  ------------------
  |  |   86|  1.20k|#define SCTP_MAX_ADDR_PARAMS_SIZE 12
  ------------------
  |  Branch (5452:8): [True: 1, False: 1.20k]
  ------------------
 5453|      1|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error supaddrtype %d\n", plen);
 5454|      1|				goto invalid_size;
 5455|      1|			}
 5456|  1.20k|			at += padded_size;
 5457|  1.20k|			break;
 5458|    211|		case SCTP_ZERO_CHECKSUM_ACCEPTABLE:
  ------------------
  |  |  417|    211|#define SCTP_ZERO_CHECKSUM_ACCEPTABLE	0x8001
  ------------------
  |  Branch (5458:3): [True: 211, False: 125k]
  ------------------
 5459|    211|			if (padded_size != sizeof(struct sctp_zero_checksum_acceptable)) {
  ------------------
  |  Branch (5459:8): [True: 1, False: 210]
  ------------------
 5460|      1|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error checksum acceptable %d\n", plen);
 5461|      1|				goto invalid_size;
 5462|      1|			}
 5463|    210|			if (edmid != NULL) {
  ------------------
  |  Branch (5463:8): [True: 0, False: 210]
  ------------------
 5464|      0|				phdr = sctp_get_next_param(mat, at,
 5465|      0|				                           (struct sctp_paramhdr *)&zero_chksum,
 5466|      0|				                           sizeof(struct sctp_zero_checksum_acceptable));
 5467|      0|				if (phdr != NULL) {
  ------------------
  |  Branch (5467:9): [True: 0, False: 0]
  ------------------
 5468|      0|					zero_chksum_p = (struct sctp_zero_checksum_acceptable *)phdr;
 5469|      0|					*edmid = ntohl(zero_chksum_p->edmid);
 5470|      0|				}
 5471|      0|			}
 5472|    210|			at += padded_size;
 5473|    210|			break;
 5474|  8.59k|		case SCTP_RANDOM:
  ------------------
  |  |  419|  8.59k|#define SCTP_RANDOM			0x8002
  ------------------
  |  Branch (5474:3): [True: 8.59k, False: 117k]
  ------------------
 5475|  8.59k|			if (padded_size > (sizeof(struct sctp_auth_random) + SCTP_RANDOM_MAX_SIZE)) {
  ------------------
  |  |  514|  8.59k|#define SCTP_RANDOM_MAX_SIZE 256
  ------------------
  |  Branch (5475:8): [True: 1, False: 8.59k]
  ------------------
 5476|      1|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error random %d\n", plen);
 5477|      1|				goto invalid_size;
 5478|      1|			}
 5479|  8.59k|			at += padded_size;
 5480|  8.59k|			break;
 5481|  1.39k|		case SCTP_SET_PRIM_ADDR:
  ------------------
  |  |  433|  1.39k|#define SCTP_SET_PRIM_ADDR		0xc004
  ------------------
  |  Branch (5481:3): [True: 1.39k, False: 124k]
  ------------------
 5482|  2.41k|		case SCTP_DEL_IP_ADDRESS:
  ------------------
  |  |  431|  2.41k|#define SCTP_DEL_IP_ADDRESS		0xc002
  ------------------
  |  Branch (5482:3): [True: 1.02k, False: 124k]
  ------------------
 5483|  3.16k|		case SCTP_ADD_IP_ADDRESS:
  ------------------
  |  |  430|  3.16k|#define SCTP_ADD_IP_ADDRESS		0xc001
  ------------------
  |  Branch (5483:3): [True: 746, False: 125k]
  ------------------
 5484|  3.16k|			if ((padded_size != sizeof(struct sctp_asconf_addrv4_param)) &&
  ------------------
  |  Branch (5484:8): [True: 1.46k, False: 1.69k]
  ------------------
 5485|  3.16k|			    (padded_size != sizeof(struct sctp_asconf_addr_param))) {
  ------------------
  |  Branch (5485:8): [True: 10, False: 1.45k]
  ------------------
 5486|     10|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error setprim %d\n", plen);
 5487|     10|				goto invalid_size;
 5488|     10|			}
 5489|  3.15k|			at += padded_size;
 5490|  3.15k|			break;
 5491|       |			/* Param's with a fixed size */
 5492|    771|		case SCTP_IPV4_ADDRESS:
  ------------------
  |  |  394|    771|#define SCTP_IPV4_ADDRESS		0x0005
  ------------------
  |  Branch (5492:3): [True: 771, False: 125k]
  ------------------
 5493|    771|			if (padded_size != sizeof(struct sctp_ipv4addr_param)) {
  ------------------
  |  Branch (5493:8): [True: 1, False: 770]
  ------------------
 5494|      1|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error ipv4 addr %d\n", plen);
 5495|      1|				goto invalid_size;
 5496|      1|			}
 5497|    770|			at += padded_size;
 5498|    770|			break;
 5499|    104|		case SCTP_IPV6_ADDRESS:
  ------------------
  |  |  395|    104|#define SCTP_IPV6_ADDRESS		0x0006
  ------------------
  |  Branch (5499:3): [True: 104, False: 125k]
  ------------------
 5500|    104|			if (padded_size != sizeof(struct sctp_ipv6addr_param)) {
  ------------------
  |  Branch (5500:8): [True: 2, False: 102]
  ------------------
 5501|      2|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error ipv6 addr %d\n", plen);
 5502|      2|				goto invalid_size;
 5503|      2|			}
 5504|    102|			at += padded_size;
 5505|    102|			break;
 5506|    227|		case SCTP_COOKIE_PRESERVE:
  ------------------
  |  |  398|    227|#define SCTP_COOKIE_PRESERVE		0x0009
  ------------------
  |  Branch (5506:3): [True: 227, False: 125k]
  ------------------
 5507|    227|			if (padded_size != sizeof(struct sctp_cookie_perserve_param)) {
  ------------------
  |  Branch (5507:8): [True: 1, False: 226]
  ------------------
 5508|      1|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error cookie-preserve %d\n", plen);
 5509|      1|				goto invalid_size;
 5510|      1|			}
 5511|    226|			at += padded_size;
 5512|    226|			break;
 5513|  2.95k|		case SCTP_HAS_NAT_SUPPORT:
  ------------------
  |  |  437|  2.95k|#define SCTP_HAS_NAT_SUPPORT		0xc007
  ------------------
  |  Branch (5513:3): [True: 2.95k, False: 122k]
  ------------------
 5514|  2.95k|			if (padded_size != sizeof(struct sctp_paramhdr)) {
  ------------------
  |  Branch (5514:8): [True: 1, False: 2.95k]
  ------------------
 5515|      1|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error nat support %d\n", plen);
 5516|      1|				goto invalid_size;
 5517|      1|			}
 5518|  2.95k|			*nat_friendly = 1;
 5519|  2.95k|			at += padded_size;
 5520|  2.95k|			break;
 5521|  11.2k|		case SCTP_PRSCTP_SUPPORTED:
  ------------------
  |  |  428|  11.2k|#define SCTP_PRSCTP_SUPPORTED		0xc000
  ------------------
  |  Branch (5521:3): [True: 11.2k, False: 114k]
  ------------------
 5522|  11.2k|			if (padded_size != sizeof(struct sctp_paramhdr)) {
  ------------------
  |  Branch (5522:8): [True: 6, False: 11.2k]
  ------------------
 5523|      6|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error prsctp %d\n", plen);
 5524|      6|				goto invalid_size;
 5525|      6|			}
 5526|  11.2k|			at += padded_size;
 5527|  11.2k|			break;
 5528|  14.2k|		case SCTP_ECN_CAPABLE:
  ------------------
  |  |  416|  14.2k|#define SCTP_ECN_CAPABLE		0x8000
  ------------------
  |  Branch (5528:3): [True: 14.2k, False: 111k]
  ------------------
 5529|  14.2k|			if (padded_size != sizeof(struct sctp_paramhdr)) {
  ------------------
  |  Branch (5529:8): [True: 6, False: 14.2k]
  ------------------
 5530|      6|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error ecn %d\n", plen);
 5531|      6|				goto invalid_size;
 5532|      6|			}
 5533|  14.2k|			at += padded_size;
 5534|  14.2k|			break;
 5535|  8.46k|		case SCTP_ULP_ADAPTATION:
  ------------------
  |  |  435|  8.46k|#define SCTP_ULP_ADAPTATION		0xc006
  ------------------
  |  Branch (5535:3): [True: 8.46k, False: 117k]
  ------------------
 5536|  8.46k|			if (padded_size != sizeof(struct sctp_adaptation_layer_indication)) {
  ------------------
  |  Branch (5536:8): [True: 1, False: 8.46k]
  ------------------
 5537|      1|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error adapatation %d\n", plen);
 5538|      1|				goto invalid_size;
 5539|      1|			}
 5540|  8.46k|			at += padded_size;
 5541|  8.46k|			break;
 5542|    297|		case SCTP_SUCCESS_REPORT:
  ------------------
  |  |  434|    297|#define SCTP_SUCCESS_REPORT		0xc005
  ------------------
  |  Branch (5542:3): [True: 297, False: 125k]
  ------------------
 5543|    297|			if (padded_size != sizeof(struct sctp_asconf_paramhdr)) {
  ------------------
  |  Branch (5543:8): [True: 1, False: 296]
  ------------------
 5544|      1|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error success %d\n", plen);
 5545|      1|				goto invalid_size;
 5546|      1|			}
 5547|    296|			at += padded_size;
 5548|    296|			break;
 5549|      8|		case SCTP_HOSTNAME_ADDRESS:
  ------------------
  |  |  399|      8|#define SCTP_HOSTNAME_ADDRESS		0x000b
  ------------------
  |  Branch (5549:3): [True: 8, False: 125k]
  ------------------
 5550|      8|		{
 5551|       |			/* Hostname parameters are deprecated. */
 5552|      8|			struct sctp_gen_error_cause *cause;
 5553|      8|			int l_len;
 5554|       |
 5555|      8|			SCTPDBG(SCTP_DEBUG_OUTPUT1, "Can't handle hostname addresses.. abort processing\n");
 5556|      8|			*abort_processing = 1;
 5557|      8|			sctp_m_freem(op_err);
  ------------------
  |  |   52|      8|#define sctp_m_freem m_freem
  ------------------
 5558|      8|			op_err = NULL;
 5559|      8|			op_err_last = NULL;
 5560|      8|#ifdef INET6
 5561|      8|			l_len = SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|      8|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|      8|                           sizeof(struct sctphdr))
  ------------------
 5562|       |#else
 5563|       |			l_len = SCTP_MIN_V4_OVERHEAD;
 5564|       |#endif
 5565|      8|			l_len += sizeof(struct sctp_chunkhdr);
 5566|      8|			l_len += sizeof(struct sctp_gen_error_cause);
 5567|      8|			op_err = sctp_get_mbuf_for_msg(l_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|      8|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              			op_err = sctp_get_mbuf_for_msg(l_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|      8|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 5568|      8|			if (op_err != NULL) {
  ------------------
  |  Branch (5568:8): [True: 8, False: 0]
  ------------------
 5569|       |				/*
 5570|       |				 * Pre-reserve space for IP, SCTP, and
 5571|       |				 * chunk header.
 5572|       |				 */
 5573|      8|#ifdef INET6
 5574|      8|				SCTP_BUF_RESV_UF(op_err, sizeof(struct ip6_hdr));
  ------------------
  |  |  798|      8|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|      8|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5575|       |#else
 5576|       |				SCTP_BUF_RESV_UF(op_err, sizeof(struct ip));
 5577|       |#endif
 5578|      8|				SCTP_BUF_RESV_UF(op_err, sizeof(struct sctphdr));
  ------------------
  |  |  798|      8|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|      8|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5579|      8|				SCTP_BUF_RESV_UF(op_err, sizeof(struct sctp_chunkhdr));
  ------------------
  |  |  798|      8|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|      8|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5580|      8|				SCTP_BUF_LEN(op_err) = sizeof(struct sctp_gen_error_cause);
  ------------------
  |  |  795|      8|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      8|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5581|      8|				cause = mtod(op_err, struct sctp_gen_error_cause *);
  ------------------
  |  |   96|      8|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      8|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5582|      8|				cause->code = htons(SCTP_CAUSE_UNRESOLVABLE_ADDR);
 5583|      8|				cause->length = htons((uint16_t)(sizeof(struct sctp_gen_error_cause) + plen));
 5584|      8|				SCTP_BUF_NEXT(op_err) = SCTP_M_COPYM(mat, at, plen, M_NOWAIT);
  ------------------
  |  |  796|      8|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      8|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
              				SCTP_BUF_NEXT(op_err) = SCTP_M_COPYM(mat, at, plen, M_NOWAIT);
  ------------------
  |  |  764|      8|#define SCTP_M_COPYM	m_copym
  ------------------
              				SCTP_BUF_NEXT(op_err) = SCTP_M_COPYM(mat, at, plen, M_NOWAIT);
  ------------------
  |  |   60|      8|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 5585|      8|				if (SCTP_BUF_NEXT(op_err) == NULL) {
  ------------------
  |  |  796|      8|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      8|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (5585:9): [True: 0, False: 8]
  ------------------
 5586|      0|					sctp_m_freem(op_err);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5587|      0|					op_err = NULL;
 5588|      0|					op_err_last = NULL;
 5589|      0|				}
 5590|      8|			}
 5591|      8|			return (op_err);
 5592|    297|		}
 5593|  26.6k|		default:
  ------------------
  |  Branch (5593:3): [True: 26.6k, False: 99.2k]
  ------------------
 5594|       |			/*
 5595|       |			 * we do not recognize the parameter figure out what
 5596|       |			 * we do.
 5597|       |			 */
 5598|  26.6k|			SCTPDBG(SCTP_DEBUG_OUTPUT1, "Hit default param %x\n", ptype);
 5599|  26.6k|			if ((ptype & 0x4000) == 0x4000) {
  ------------------
  |  Branch (5599:8): [True: 10.8k, False: 15.8k]
  ------------------
 5600|       |				/* Report bit is set?? */
 5601|  10.8k|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "report op err\n");
 5602|  10.8k|				if (op_err == NULL) {
  ------------------
  |  Branch (5602:9): [True: 333, False: 10.4k]
  ------------------
 5603|    333|					int l_len;
 5604|       |					/* Ok need to try to get an mbuf */
 5605|    333|#ifdef INET6
 5606|    333|					l_len = SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|    333|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|    333|                           sizeof(struct sctphdr))
  ------------------
 5607|       |#else
 5608|       |					l_len = SCTP_MIN_V4_OVERHEAD;
 5609|       |#endif
 5610|    333|					l_len += sizeof(struct sctp_chunkhdr);
 5611|    333|					l_len += sizeof(struct sctp_paramhdr);
 5612|    333|					op_err = sctp_get_mbuf_for_msg(l_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|    333|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              					op_err = sctp_get_mbuf_for_msg(l_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|    333|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 5613|    333|					if (op_err) {
  ------------------
  |  Branch (5613:10): [True: 333, False: 0]
  ------------------
 5614|    333|						SCTP_BUF_LEN(op_err) = 0;
  ------------------
  |  |  795|    333|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    333|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5615|    333|#ifdef INET6
 5616|    333|						SCTP_BUF_RESV_UF(op_err, sizeof(struct ip6_hdr));
  ------------------
  |  |  798|    333|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|    333|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5617|       |#else
 5618|       |						SCTP_BUF_RESV_UF(op_err, sizeof(struct ip));
 5619|       |#endif
 5620|    333|						SCTP_BUF_RESV_UF(op_err, sizeof(struct sctphdr));
  ------------------
  |  |  798|    333|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|    333|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5621|    333|						SCTP_BUF_RESV_UF(op_err, sizeof(struct sctp_chunkhdr));
  ------------------
  |  |  798|    333|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|    333|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5622|    333|						op_err_last = op_err;
 5623|    333|					}
 5624|    333|				}
 5625|  10.8k|				if (op_err != NULL) {
  ------------------
  |  Branch (5625:9): [True: 10.8k, False: 0]
  ------------------
 5626|       |					/* If we have space */
 5627|  10.8k|					struct sctp_paramhdr *param;
 5628|       |
 5629|  10.8k|					if (pad_needed > 0) {
  ------------------
  |  Branch (5629:10): [True: 3.63k, False: 7.17k]
  ------------------
 5630|  3.63k|						op_err_last = sctp_add_pad_tombuf(op_err_last, pad_needed);
 5631|  3.63k|					}
 5632|  10.8k|					if (op_err_last == NULL) {
  ------------------
  |  Branch (5632:10): [True: 0, False: 10.8k]
  ------------------
 5633|      0|						sctp_m_freem(op_err);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5634|      0|						op_err = NULL;
 5635|      0|						op_err_last = NULL;
 5636|      0|						goto more_processing;
 5637|      0|					}
 5638|  10.8k|					if (M_TRAILINGSPACE(op_err_last) < (int)sizeof(struct sctp_paramhdr)) {
  ------------------
  |  |  355|  10.8k|	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  221|  10.8k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  233|  10.8k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (355:3): [True: 3.73k, False: 7.06k]
  |  |  ------------------
  |  |  356|  10.8k|	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  326|  3.73k|#define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|  3.73k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               #define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  236|  3.73k|#define	M_RDONLY	0x0008	/* associated data is marked read-only */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (326:24): [True: 3.73k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  327|  3.73k|			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|  3.73k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  233|  3.73k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (327:6): [True: 0, False: 3.73k]
  |  |  |  |  ------------------
  |  |  |  |  328|  3.73k|			 (*((m)->m_ext.ref_cnt) == 1)) )		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  225|  3.73k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (328:5): [True: 0, False: 3.73k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|      0|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|      0|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |  357|  3.73k|		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  |  |  358|  10.8k|	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  227|  7.06k|#define	m_dat		M_dat.M_databuf
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  138|  7.06k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  7.06k|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  219|  7.06k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  218|  7.06k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (5638:10): [True: 3.73k, False: 7.06k]
  ------------------
 5639|  3.73k|						m_tmp = sctp_get_mbuf_for_msg(sizeof(struct sctp_paramhdr), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  3.73k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              						m_tmp = sctp_get_mbuf_for_msg(sizeof(struct sctp_paramhdr), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  3.73k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 5640|  3.73k|						if (m_tmp == NULL) {
  ------------------
  |  Branch (5640:11): [True: 0, False: 3.73k]
  ------------------
 5641|      0|							sctp_m_freem(op_err);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5642|      0|							op_err = NULL;
 5643|      0|							op_err_last = NULL;
 5644|      0|							goto more_processing;
 5645|      0|						}
 5646|  3.73k|						SCTP_BUF_LEN(m_tmp) = 0;
  ------------------
  |  |  795|  3.73k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  3.73k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5647|  3.73k|						SCTP_BUF_NEXT(m_tmp) = NULL;
  ------------------
  |  |  796|  3.73k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  3.73k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 5648|  3.73k|						SCTP_BUF_NEXT(op_err_last) = m_tmp;
  ------------------
  |  |  796|  3.73k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  3.73k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 5649|  3.73k|						op_err_last = m_tmp;
 5650|  3.73k|					}
 5651|  10.8k|					param = (struct sctp_paramhdr *)(mtod(op_err_last, caddr_t) + SCTP_BUF_LEN(op_err_last));
  ------------------
  |  |   96|  10.8k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  10.8k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
              					param = (struct sctp_paramhdr *)(mtod(op_err_last, caddr_t) + SCTP_BUF_LEN(op_err_last));
  ------------------
  |  |  795|  10.8k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  10.8k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5652|  10.8k|					param->param_type = htons(SCTP_UNRECOG_PARAM);
 5653|  10.8k|					param->param_length = htons((uint16_t)sizeof(struct sctp_paramhdr) + plen);
 5654|  10.8k|					SCTP_BUF_LEN(op_err_last) += sizeof(struct sctp_paramhdr);
  ------------------
  |  |  795|  10.8k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  10.8k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5655|  10.8k|					SCTP_BUF_NEXT(op_err_last) = SCTP_M_COPYM(mat, at, plen, M_NOWAIT);
  ------------------
  |  |  796|  10.8k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  10.8k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
              					SCTP_BUF_NEXT(op_err_last) = SCTP_M_COPYM(mat, at, plen, M_NOWAIT);
  ------------------
  |  |  764|  10.8k|#define SCTP_M_COPYM	m_copym
  ------------------
              					SCTP_BUF_NEXT(op_err_last) = SCTP_M_COPYM(mat, at, plen, M_NOWAIT);
  ------------------
  |  |   60|  10.8k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 5656|  10.8k|					if (SCTP_BUF_NEXT(op_err_last) == NULL) {
  ------------------
  |  |  796|  10.8k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  10.8k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (5656:10): [True: 0, False: 10.8k]
  ------------------
 5657|      0|						sctp_m_freem(op_err);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5658|      0|						op_err = NULL;
 5659|      0|						op_err_last = NULL;
 5660|      0|						goto more_processing;
 5661|  10.8k|					} else {
 5662|  21.6k|						while (SCTP_BUF_NEXT(op_err_last) != NULL) {
  ------------------
  |  |  796|  21.6k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  21.6k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (5662:14): [True: 10.8k, False: 10.8k]
  ------------------
 5663|  10.8k|							op_err_last = SCTP_BUF_NEXT(op_err_last);
  ------------------
  |  |  796|  10.8k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  10.8k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 5664|  10.8k|						}
 5665|  10.8k|					}
 5666|  10.8k|					if (plen % 4 != 0) {
  ------------------
  |  Branch (5666:10): [True: 3.71k, False: 7.09k]
  ------------------
 5667|  3.71k|						pad_needed = 4 - (plen % 4);
 5668|  7.09k|					} else {
 5669|  7.09k|						pad_needed = 0;
 5670|  7.09k|					}
 5671|  10.8k|				}
 5672|  10.8k|			}
 5673|  26.6k|		more_processing:
 5674|  26.6k|			if ((ptype & 0x8000) == 0x0000) {
  ------------------
  |  Branch (5674:8): [True: 196, False: 26.4k]
  ------------------
 5675|    196|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "stop proc\n");
 5676|    196|				return (op_err);
 5677|  26.4k|			} else {
 5678|       |				/* skip this chunk and continue processing */
 5679|  26.4k|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "move on\n");
 5680|  26.4k|				at += SCTP_SIZE32(plen);
  ------------------
  |  |  383|  26.4k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 5681|  26.4k|			}
 5682|  26.4k|			break;
 5683|   125k|		}
 5684|   125k|		phdr = sctp_get_next_param(mat, at, &params, sizeof(params));
 5685|   125k|	}
 5686|  9.29k|	return (op_err);
 5687|     91| invalid_size:
 5688|     91|	SCTPDBG(SCTP_DEBUG_OUTPUT1, "abort flag set\n");
 5689|     91|	*abort_processing = 1;
 5690|     91|	sctp_m_freem(op_err);
  ------------------
  |  |   52|     91|#define sctp_m_freem m_freem
  ------------------
 5691|     91|	op_err = NULL;
 5692|     91|	op_err_last = NULL;
 5693|     91|	if (phdr != NULL) {
  ------------------
  |  Branch (5693:6): [True: 91, False: 0]
  ------------------
 5694|     91|		struct sctp_paramhdr *param;
 5695|     91|		int l_len;
 5696|     91|#ifdef INET6
 5697|     91|		l_len = SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|     91|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|     91|                           sizeof(struct sctphdr))
  ------------------
 5698|       |#else
 5699|       |		l_len = SCTP_MIN_V4_OVERHEAD;
 5700|       |#endif
 5701|     91|		l_len += sizeof(struct sctp_chunkhdr);
 5702|     91|		l_len += (2 * sizeof(struct sctp_paramhdr));
 5703|     91|		op_err = sctp_get_mbuf_for_msg(l_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|     91|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		op_err = sctp_get_mbuf_for_msg(l_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|     91|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 5704|     91|		if (op_err) {
  ------------------
  |  Branch (5704:7): [True: 91, False: 0]
  ------------------
 5705|     91|			SCTP_BUF_LEN(op_err) = 0;
  ------------------
  |  |  795|     91|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     91|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5706|     91|#ifdef INET6
 5707|     91|			SCTP_BUF_RESV_UF(op_err, sizeof(struct ip6_hdr));
  ------------------
  |  |  798|     91|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|     91|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5708|       |#else
 5709|       |			SCTP_BUF_RESV_UF(op_err, sizeof(struct ip));
 5710|       |#endif
 5711|     91|			SCTP_BUF_RESV_UF(op_err, sizeof(struct sctphdr));
  ------------------
  |  |  798|     91|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|     91|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5712|     91|			SCTP_BUF_RESV_UF(op_err, sizeof(struct sctp_chunkhdr));
  ------------------
  |  |  798|     91|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|     91|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5713|     91|			SCTP_BUF_LEN(op_err) = 2 * sizeof(struct sctp_paramhdr);
  ------------------
  |  |  795|     91|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     91|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5714|     91|			param = mtod(op_err, struct sctp_paramhdr *);
  ------------------
  |  |   96|     91|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|     91|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5715|     91|			param->param_type = htons(SCTP_CAUSE_PROTOCOL_VIOLATION);
 5716|     91|			param->param_length = htons(2 * sizeof(struct sctp_paramhdr));
 5717|     91|			param++;
 5718|     91|			param->param_type = htons(ptype);
 5719|     91|			param->param_length = htons(plen);
 5720|     91|		}
 5721|     91|	}
 5722|     91|	return (op_err);
 5723|  9.59k|}
sctp_get_frag_point:
 6859|  37.4k|{
 6860|  37.4k|	struct sctp_association *asoc;
 6861|  37.4k|	uint32_t frag_point, overhead;
 6862|       |
 6863|  37.4k|	asoc = &stcb->asoc;
 6864|       |	/* Consider IP header and SCTP common header. */
 6865|  37.4k|	if (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) {
  ------------------
  |  |  547|  37.4k|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  |  Branch (6865:6): [True: 0, False: 37.4k]
  ------------------
 6866|      0|		overhead = SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|      0|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|      0|                           sizeof(struct sctphdr))
  ------------------
 6867|  37.4k|	} else {
 6868|  37.4k|#if defined(__Userspace__)
 6869|  37.4k|		if (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_BOUND_CONN) {
  ------------------
  |  |  553|  37.4k|#define SCTP_PCB_FLAGS_BOUND_CONN       0x80000000
  ------------------
  |  Branch (6869:7): [True: 37.4k, False: 0]
  ------------------
 6870|  37.4k|			overhead = sizeof(struct sctphdr);
 6871|  37.4k|		} else {
 6872|      0|			overhead = SCTP_MIN_V4_OVERHEAD;
  ------------------
  |  |  588|      0|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|      0|                              sizeof(struct sctphdr))
  ------------------
 6873|      0|		}
 6874|       |#else
 6875|       |		overhead = SCTP_MIN_V4_OVERHEAD;
 6876|       |#endif
 6877|  37.4k|	}
 6878|       |	/* Consider DATA/IDATA chunk header and AUTH header, if needed. */
 6879|  37.4k|	if (asoc->idata_supported) {
  ------------------
  |  Branch (6879:6): [True: 20.1k, False: 17.2k]
  ------------------
 6880|  20.1k|		overhead += sizeof(struct sctp_idata_chunk);
 6881|  20.1k|		if (sctp_auth_is_required_chunk(SCTP_IDATA, asoc->peer_auth_chunks)) {
  ------------------
  |  |  100|  20.1k|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:50): [True: 10, False: 20.1k]
  |  |  |  Branch (100:51): [True: 675, False: 19.4k]
  |  |  ------------------
  ------------------
 6882|     10|			overhead += sctp_get_auth_chunk_len(asoc->peer_hmac_id);
 6883|     10|		}
 6884|  20.1k|	} else {
 6885|  17.2k|		overhead += sizeof(struct sctp_data_chunk);
 6886|  17.2k|		if (sctp_auth_is_required_chunk(SCTP_DATA, asoc->peer_auth_chunks)) {
  ------------------
  |  |  100|  17.2k|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:50): [True: 40, False: 17.2k]
  |  |  |  Branch (100:51): [True: 1.64k, False: 15.6k]
  |  |  ------------------
  ------------------
 6887|     40|			overhead += sctp_get_auth_chunk_len(asoc->peer_hmac_id);
 6888|     40|		}
 6889|  17.2k|	}
 6890|  37.4k|	KASSERT(overhead % 4 == 0,
  ------------------
  |  |  112|  37.4k|	do {                         \
  |  |  113|  37.4k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 37.4k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  37.4k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6891|  37.4k|	        ("overhead (%u) not a multiple of 4", overhead));
 6892|       |	/* Consider padding. */
 6893|  37.4k|	if (asoc->smallest_mtu % 4 > 0) {
  ------------------
  |  Branch (6893:6): [True: 0, False: 37.4k]
  ------------------
 6894|      0|		overhead += (asoc->smallest_mtu % 4);
 6895|      0|	}
 6896|  37.4k|	KASSERT(asoc->smallest_mtu > overhead,
  ------------------
  |  |  112|  37.4k|	do {                         \
  |  |  113|  37.4k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 37.4k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  37.4k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6897|  37.4k|	        ("Association MTU (%u) too small for overhead (%u)",
 6898|  37.4k|	         asoc->smallest_mtu, overhead));
 6899|  37.4k|	frag_point = asoc->smallest_mtu - overhead;
 6900|  37.4k|	KASSERT(frag_point % 4 == 0,
  ------------------
  |  |  112|  37.4k|	do {                         \
  |  |  113|  37.4k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 37.4k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  37.4k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6901|  37.4k|	        ("frag_point (%u) not a multiple of 4", frag_point));
 6902|       |	/* Honor MAXSEG socket option. */
 6903|  37.4k|	if ((asoc->sctp_frag_point > 0) &&
  ------------------
  |  Branch (6903:6): [True: 0, False: 37.4k]
  ------------------
 6904|  37.4k|	    (asoc->sctp_frag_point < frag_point)) {
  ------------------
  |  Branch (6904:6): [True: 0, False: 0]
  ------------------
 6905|      0|		frag_point = asoc->sctp_frag_point;
 6906|      0|	}
 6907|  37.4k|	return (frag_point);
 6908|  37.4k|}
sctp_toss_old_cookies:
 7572|  56.5k|{
 7573|  56.5k|	struct sctp_tmit_chunk *chk, *nchk;
 7574|       |
 7575|   127M|	TAILQ_FOREACH_SAFE(chk, &asoc->control_send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|  56.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|   127M|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 127M, False: 56.5k]
  |  |  |  Branch (1124:24): [True: 127M, False: 0]
  |  |  ------------------
  |  | 1125|   127M|              (var) = (tvar))
  ------------------
 7576|   127M|		if (chk->rec.chunk_id.id == SCTP_COOKIE_ECHO) {
  ------------------
  |  |  467|   127M|#define SCTP_COOKIE_ECHO	0x0a
  ------------------
  |  Branch (7576:7): [True: 6.31k, False: 127M]
  ------------------
 7577|  6.31k|			TAILQ_REMOVE(&asoc->control_send_queue, chk, sctp_next);
 7578|  6.31k|			asoc->ctrl_queue_cnt--;
 7579|  6.31k|			if (chk->data) {
  ------------------
  |  Branch (7579:8): [True: 6.31k, False: 0]
  ------------------
 7580|  6.31k|				sctp_m_freem(chk->data);
  ------------------
  |  |   52|  6.31k|#define sctp_m_freem m_freem
  ------------------
 7581|  6.31k|				chk->data = NULL;
 7582|  6.31k|			}
 7583|  6.31k|			sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|  6.31k|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|  6.31k|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 6.31k]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|  6.31k|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 6.31k, False: 0]
  |  |  ------------------
  |  |  149|  6.31k|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|  6.31k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  6.31k|	do {                         \
  |  |  |  |  |  |  113|  6.31k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.31k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  6.31k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|  6.31k|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 6.31k, False: 0]
  |  |  ------------------
  |  |  151|  6.31k|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|  6.31k|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|  6.31k|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 6.31k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|  6.31k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|  6.31k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|  6.31k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 6.31k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|  6.31k|	} \
  |  |  |  |  245|  6.31k|}
  |  |  ------------------
  |  |  152|  6.31k|			(_chk)->whoTo = NULL; \
  |  |  153|  6.31k|		} \
  |  |  154|  6.31k|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|  6.31k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 6.31k]
  |  |  ------------------
  |  |  155|  6.31k|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|  6.31k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|  6.31k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 6.31k]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|  6.31k|		} else { \
  |  |  159|  6.31k|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|  6.31k|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|  6.31k|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|  6.31k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|  6.31k|		} \
  |  |  163|  6.31k|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|  6.31k|}
  ------------------
 7584|  6.31k|		}
 7585|   127M|	}
 7586|  56.5k|}
sctp_toss_old_asconf:
 7590|    561|{
 7591|    561|	struct sctp_association *asoc;
 7592|    561|	struct sctp_tmit_chunk *chk, *nchk;
 7593|    561|	struct sctp_asconf_chunk *acp;
 7594|       |
 7595|    561|	asoc = &stcb->asoc;
 7596|    561|	TAILQ_FOREACH_SAFE(chk, &asoc->asconf_send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|    561|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|    561|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 561]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|    561|              (var) = (tvar))
  ------------------
 7597|       |		/* find SCTP_ASCONF chunk in queue */
 7598|      0|		if (chk->rec.chunk_id.id == SCTP_ASCONF) {
  ------------------
  |  |  492|      0|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (7598:7): [True: 0, False: 0]
  ------------------
 7599|      0|			if (chk->data) {
  ------------------
  |  Branch (7599:8): [True: 0, False: 0]
  ------------------
 7600|      0|				acp = mtod(chk->data, struct sctp_asconf_chunk *);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 7601|      0|				if (SCTP_TSN_GT(ntohl(acp->serial_number), asoc->asconf_seq_out_acked)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7602|       |					/* Not Acked yet */
 7603|      0|					break;
 7604|      0|				}
 7605|      0|			}
 7606|      0|			TAILQ_REMOVE(&asoc->asconf_send_queue, chk, sctp_next);
 7607|      0|			asoc->ctrl_queue_cnt--;
 7608|      0|			if (chk->data) {
  ------------------
  |  Branch (7608:8): [True: 0, False: 0]
  ------------------
 7609|      0|				sctp_m_freem(chk->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 7610|      0|				chk->data = NULL;
 7611|      0|			}
 7612|      0|			sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
 7613|      0|		}
 7614|      0|	}
 7615|    561|}
sctp_move_chunks_from_net:
 8368|  1.65k|{
 8369|  1.65k|	struct sctp_association *asoc;
 8370|  1.65k|	struct sctp_tmit_chunk *chk;
 8371|  1.65k|	struct sctp_stream_queue_pending *sp;
 8372|  1.65k|	unsigned int i;
 8373|       |
 8374|  1.65k|	if (net == NULL) {
  ------------------
  |  Branch (8374:6): [True: 0, False: 1.65k]
  ------------------
 8375|      0|		return;
 8376|      0|	}
 8377|  1.65k|	asoc = &stcb->asoc;
 8378|   426k|	for (i = 0; i < stcb->asoc.streamoutcnt; i++) {
  ------------------
  |  Branch (8378:14): [True: 425k, False: 1.65k]
  ------------------
 8379|   425k|		TAILQ_FOREACH(sp, &stcb->asoc.strmout[i].outqueue, next) {
 8380|      0|			if (sp->net == net) {
  ------------------
  |  Branch (8380:8): [True: 0, False: 0]
  ------------------
 8381|      0|				sctp_free_remote_addr(sp->net);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 8382|      0|				sp->net = NULL;
 8383|      0|			}
 8384|      0|		}
 8385|   425k|	}
 8386|  1.65k|	TAILQ_FOREACH(chk, &asoc->send_queue, sctp_next) {
 8387|    657|		if (chk->whoTo == net) {
  ------------------
  |  Branch (8387:7): [True: 0, False: 657]
  ------------------
 8388|      0|			sctp_free_remote_addr(chk->whoTo);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 8389|      0|			chk->whoTo = NULL;
 8390|      0|		}
 8391|    657|	}
 8392|  1.65k|}
sctp_queue_op_err:
 9541|   198k|{
 9542|       |	/*-
 9543|       |	 * Prepend a OPERATIONAL_ERROR chunk header and put on the end of
 9544|       |	 * the control chunk queue.
 9545|       |	 */
 9546|   198k|	struct sctp_chunkhdr *hdr;
 9547|   198k|	struct sctp_tmit_chunk *chk;
 9548|   198k|	struct mbuf *mat, *last_mbuf;
 9549|   198k|	uint32_t chunk_length;
 9550|   198k|	uint16_t padding_length;
 9551|       |
 9552|   198k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|   198k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   198k|	do {                         \
  |  |  |  |  113|   198k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 198k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   198k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9553|   198k|	SCTP_BUF_PREPEND(op_err, sizeof(struct sctp_chunkhdr), M_NOWAIT);
  ------------------
  |  |  804|   198k|#define SCTP_BUF_PREPEND	M_PREPEND
  |  |  ------------------
  |  |  |  |  367|   198k|#define	M_PREPEND(m, plen, how) do {					\
  |  |  |  |  368|   198k|	struct mbuf **_mmp = &(m);					\
  |  |  |  |  369|   198k|	struct mbuf *_mm = *_mmp;					\
  |  |  |  |  370|   198k|	int _mplen = (plen);						\
  |  |  |  |  371|   198k|	int __mhow = (how);						\
  |  |  |  |  372|   198k|									\
  |  |  |  |  373|   198k|	if (M_LEADINGSPACE(_mm) >= _mplen) {				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  343|   198k|	(((m)->m_flags & M_EXT) ?					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  221|   198k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	(((m)->m_flags & M_EXT) ?					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  233|   198k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (343:3): [True: 0, False: 198k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  344|   198k|	    (M_WRITABLE(m) ? (m)->m_data - (m)->m_ext.ext_buf : 0):	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  326|      0|#define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  236|      0|#define	M_RDONLY	0x0008	/* associated data is marked read-only */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (326:24): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  327|      0|			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  233|      0|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (327:6): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  328|      0|			 (*((m)->m_ext.ref_cnt) == 1)) )		\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  225|      0|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (328:5): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    (M_WRITABLE(m) ? (m)->m_data - (m)->m_ext.ext_buf : 0):	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    (M_WRITABLE(m) ? (m)->m_data - (m)->m_ext.ext_buf : 0):	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  225|      0|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  345|   198k|	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  221|   198k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  234|   198k|#define	M_PKTHDR	0x0002	/* start of record */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  226|      0|#define	m_pktdat	M_dat.MH.MH_dat.MH_databuf
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (345:6): [True: 0, False: 198k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  346|   198k|	    (m)->m_data - (m)->m_dat)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  219|   198k|#define	m_data		m_hdr.mh_data
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    (m)->m_data - (m)->m_dat)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  227|   198k|#define	m_dat		M_dat.M_databuf
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (373:6): [True: 562, False: 197k]
  |  |  |  |  ------------------
  |  |  |  |  374|    562|		_mm->m_data -= _mplen;					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  219|    562|#define	m_data		m_hdr.mh_data
  |  |  |  |  ------------------
  |  |  |  |  375|    562|		_mm->m_len += _mplen;					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  218|    562|#define	m_len		m_hdr.mh_len
  |  |  |  |  ------------------
  |  |  |  |  376|    562|	} else								\
  |  |  |  |  377|   198k|		_mm = m_prepend(_mm, _mplen, __mhow);			\
  |  |  |  |  378|   198k|	if (_mm != NULL && _mm->m_flags & M_PKTHDR)			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|   198k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               	if (_mm != NULL && _mm->m_flags & M_PKTHDR)			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  234|   198k|#define	M_PKTHDR	0x0002	/* start of record */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (378:6): [True: 198k, False: 0]
  |  |  |  |  |  Branch (378:21): [True: 0, False: 198k]
  |  |  |  |  ------------------
  |  |  |  |  379|   198k|		_mm->m_pkthdr.len += _mplen;				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  224|      0|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  |  |  |  |  ------------------
  |  |  |  |  380|   198k|	*_mmp = _mm;							\
  |  |  |  |  381|   198k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (381:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9554|   198k|	if (op_err == NULL) {
  ------------------
  |  Branch (9554:6): [True: 0, False: 198k]
  ------------------
 9555|      0|		return;
 9556|      0|	}
 9557|   198k|	last_mbuf = NULL;
 9558|   198k|	chunk_length = 0;
 9559|   798k|	for (mat = op_err; mat != NULL; mat = SCTP_BUF_NEXT(mat)) {
  ------------------
  |  |  796|   600k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|   600k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (9559:21): [True: 600k, False: 198k]
  ------------------
 9560|   600k|		chunk_length += SCTP_BUF_LEN(mat);
  ------------------
  |  |  795|   600k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   600k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 9561|   600k|		if (SCTP_BUF_NEXT(mat) == NULL) {
  ------------------
  |  |  796|   600k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|   600k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (9561:7): [True: 198k, False: 401k]
  ------------------
 9562|   198k|			last_mbuf = mat;
 9563|   198k|		}
 9564|   600k|	}
 9565|   198k|	if (chunk_length > SCTP_MAX_CHUNK_LENGTH) {
  ------------------
  |  |   72|   198k|#define SCTP_MAX_CHUNK_LENGTH 0xffff
  ------------------
  |  Branch (9565:6): [True: 0, False: 198k]
  ------------------
 9566|      0|		sctp_m_freem(op_err);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 9567|      0|		return;
 9568|      0|	}
 9569|   198k|	padding_length = chunk_length % 4;
 9570|   198k|	if (padding_length != 0) {
  ------------------
  |  Branch (9570:6): [True: 549, False: 197k]
  ------------------
 9571|    549|		padding_length = 4 - padding_length;
 9572|    549|	}
 9573|   198k|	if (padding_length != 0) {
  ------------------
  |  Branch (9573:6): [True: 549, False: 197k]
  ------------------
 9574|    549|		if (sctp_add_pad_tombuf(last_mbuf, padding_length) == NULL) {
  ------------------
  |  Branch (9574:7): [True: 0, False: 549]
  ------------------
 9575|      0|			sctp_m_freem(op_err);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 9576|      0|			return;
 9577|      0|		}
 9578|    549|	}
 9579|   198k|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|   198k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|   198k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|   197k|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|   197k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|   197k|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 197k, False: 0]
  |  |  ------------------
  |  |  173|   197k|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|   197k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|   197k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|   197k|			(_chk)->whoTo = NULL; \
  |  |  175|   197k|			(_chk)->holds_key_ref = 0; \
  |  |  176|   197k|		} \
  |  |  177|   197k|	} else { \
  |  |  178|    941|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|    941|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|    941|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|    941|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|    941|		(_chk)->holds_key_ref = 0; \
  |  |  182|    941|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|    941|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|    941|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|    941|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|    941|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|    941|	} \
  |  |  185|   198k|}
  ------------------
 9580|   198k|	if (chk == NULL) {
  ------------------
  |  Branch (9580:6): [True: 0, False: 198k]
  ------------------
 9581|       |		/* no memory */
 9582|      0|		sctp_m_freem(op_err);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 9583|      0|		return;
 9584|      0|	}
 9585|   198k|	chk->copy_by_ref = 0;
 9586|   198k|	chk->rec.chunk_id.id = SCTP_OPERATION_ERROR;
  ------------------
  |  |  466|   198k|#define SCTP_OPERATION_ERROR	0x09
  ------------------
 9587|   198k|	chk->rec.chunk_id.can_take_data = 0;
 9588|   198k|	chk->flags = 0;
 9589|   198k|	chk->send_size = (uint16_t)chunk_length;
 9590|   198k|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|   198k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
 9591|   198k|	chk->snd_count = 0;
 9592|   198k|	chk->asoc = &stcb->asoc;
 9593|   198k|	chk->data = op_err;
 9594|   198k|	chk->whoTo = NULL;
 9595|   198k|	hdr = mtod(op_err, struct sctp_chunkhdr *);
  ------------------
  |  |   96|   198k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|   198k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 9596|   198k|	hdr->chunk_type = SCTP_OPERATION_ERROR;
  ------------------
  |  |  466|   198k|#define SCTP_OPERATION_ERROR	0x09
  ------------------
 9597|   198k|	hdr->chunk_flags = 0;
 9598|   198k|	hdr->chunk_length = htons(chk->send_size);
 9599|   198k|	TAILQ_INSERT_TAIL(&chk->asoc->control_send_queue, chk, sctp_next);
 9600|   198k|	chk->asoc->ctrl_queue_cnt++;
 9601|   198k|}
sctp_send_cookie_echo:
 9608|  9.06k|{
 9609|       |	/*-
 9610|       |	 * pull out the cookie and put it at the front of the control chunk
 9611|       |	 * queue.
 9612|       |	 */
 9613|  9.06k|	int at;
 9614|  9.06k|	struct mbuf *cookie;
 9615|  9.06k|	struct sctp_paramhdr param, *phdr;
 9616|  9.06k|	struct sctp_chunkhdr *hdr;
 9617|  9.06k|	struct sctp_tmit_chunk *chk;
 9618|  9.06k|	uint16_t ptype, plen;
 9619|       |
 9620|  9.06k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  9.06k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  9.06k|	do {                         \
  |  |  |  |  113|  9.06k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 9.06k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  9.06k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9621|       |	/* First find the cookie in the param area */
 9622|  9.06k|	cookie = NULL;
 9623|  9.06k|	at = offset + sizeof(struct sctp_init_chunk);
 9624|  72.2k|	for (;;) {
 9625|  72.2k|		phdr = sctp_get_next_param(m, at, &param, sizeof(param));
 9626|  72.2k|		if (phdr == NULL) {
  ------------------
  |  Branch (9626:7): [True: 0, False: 72.2k]
  ------------------
 9627|      0|			return (-3);
 9628|      0|		}
 9629|  72.2k|		ptype = ntohs(phdr->param_type);
 9630|  72.2k|		plen = ntohs(phdr->param_length);
 9631|  72.2k|		if (plen < sizeof(struct sctp_paramhdr)) {
  ------------------
  |  Branch (9631:7): [True: 0, False: 72.2k]
  ------------------
 9632|      0|			return (-6);
 9633|      0|		}
 9634|  72.2k|		if (ptype == SCTP_STATE_COOKIE) {
  ------------------
  |  |  396|  72.2k|#define SCTP_STATE_COOKIE		0x0007
  ------------------
  |  Branch (9634:7): [True: 9.06k, False: 63.1k]
  ------------------
 9635|  9.06k|			int pad;
 9636|       |
 9637|       |			/* found the cookie */
 9638|  9.06k|			if (at + plen > limit) {
  ------------------
  |  Branch (9638:8): [True: 0, False: 9.06k]
  ------------------
 9639|      0|				return (-7);
 9640|      0|			}
 9641|  9.06k|			cookie = SCTP_M_COPYM(m, at, plen, M_NOWAIT);
  ------------------
  |  |  764|  9.06k|#define SCTP_M_COPYM	m_copym
  ------------------
              			cookie = SCTP_M_COPYM(m, at, plen, M_NOWAIT);
  ------------------
  |  |   60|  9.06k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 9642|  9.06k|			if (cookie == NULL) {
  ------------------
  |  Branch (9642:8): [True: 0, False: 9.06k]
  ------------------
 9643|       |				/* No memory */
 9644|      0|				return (-2);
 9645|      0|			}
 9646|  9.06k|			if ((pad = (plen % 4)) > 0) {
  ------------------
  |  Branch (9646:8): [True: 83, False: 8.98k]
  ------------------
 9647|     83|				pad = 4 - pad;
 9648|     83|			}
 9649|  9.06k|			if (pad > 0) {
  ------------------
  |  Branch (9649:8): [True: 83, False: 8.98k]
  ------------------
 9650|     83|				if (sctp_pad_lastmbuf(cookie, pad, NULL) == NULL) {
  ------------------
  |  Branch (9650:9): [True: 0, False: 83]
  ------------------
 9651|      0|					return (-8);
 9652|      0|				}
 9653|     83|			}
 9654|       |#ifdef SCTP_MBUF_LOGGING
 9655|       |			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MBUF_LOGGING_ENABLE) {
 9656|       |				sctp_log_mbc(cookie, SCTP_MBUF_ICOPY);
 9657|       |			}
 9658|       |#endif
 9659|  9.06k|			break;
 9660|  9.06k|		}
 9661|  63.1k|		at += SCTP_SIZE32(plen);
  ------------------
  |  |  383|  63.1k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 9662|  63.1k|	}
 9663|       |	/* ok, we got the cookie lets change it into a cookie echo chunk */
 9664|       |	/* first the change from param to cookie */
 9665|  9.06k|	hdr = mtod(cookie, struct sctp_chunkhdr *);
  ------------------
  |  |   96|  9.06k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  9.06k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 9666|  9.06k|	hdr->chunk_type = SCTP_COOKIE_ECHO;
  ------------------
  |  |  467|  9.06k|#define SCTP_COOKIE_ECHO	0x0a
  ------------------
 9667|  9.06k|	hdr->chunk_flags = 0;
 9668|       |	/* get the chunk stuff now and place it in the FRONT of the queue */
 9669|  9.06k|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|  9.06k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|  9.06k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|  9.06k|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|  9.06k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|  9.06k|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 9.06k, False: 0]
  |  |  ------------------
  |  |  173|  9.06k|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|  9.06k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  9.06k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|  9.06k|			(_chk)->whoTo = NULL; \
  |  |  175|  9.06k|			(_chk)->holds_key_ref = 0; \
  |  |  176|  9.06k|		} \
  |  |  177|  9.06k|	} else { \
  |  |  178|      0|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|      0|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|      0|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|      0|		(_chk)->holds_key_ref = 0; \
  |  |  182|      0|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|      0|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|      0|	} \
  |  |  185|  9.06k|}
  ------------------
 9670|  9.06k|	if (chk == NULL) {
  ------------------
  |  Branch (9670:6): [True: 0, False: 9.06k]
  ------------------
 9671|       |		/* no memory */
 9672|      0|		sctp_m_freem(cookie);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 9673|      0|		return (-5);
 9674|      0|	}
 9675|  9.06k|	chk->copy_by_ref = 0;
 9676|  9.06k|	chk->rec.chunk_id.id = SCTP_COOKIE_ECHO;
  ------------------
  |  |  467|  9.06k|#define SCTP_COOKIE_ECHO	0x0a
  ------------------
 9677|  9.06k|	chk->rec.chunk_id.can_take_data = 0;
 9678|  9.06k|	chk->flags = CHUNK_FLAGS_FRAGMENT_OK;
  ------------------
  |  |  481|  9.06k|#define CHUNK_FLAGS_FRAGMENT_OK	        0x0100
  ------------------
 9679|  9.06k|	chk->send_size = SCTP_SIZE32(plen);
  ------------------
  |  |  383|  9.06k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 9680|  9.06k|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|  9.06k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
 9681|  9.06k|	chk->snd_count = 0;
 9682|  9.06k|	chk->asoc = &stcb->asoc;
 9683|  9.06k|	chk->data = cookie;
 9684|  9.06k|	chk->whoTo = net;
 9685|  9.06k|	atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|  9.06k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 9686|  9.06k|	TAILQ_INSERT_HEAD(&chk->asoc->control_send_queue, chk, sctp_next);
 9687|  9.06k|	chk->asoc->ctrl_queue_cnt++;
 9688|  9.06k|	return (0);
 9689|  9.06k|}
sctp_send_heartbeat_ack:
 9697|  32.6k|{
 9698|       |	/*
 9699|       |	 * take a HB request and make it into a HB ack and send it.
 9700|       |	 */
 9701|  32.6k|	struct mbuf *outchain;
 9702|  32.6k|	struct sctp_chunkhdr *chdr;
 9703|  32.6k|	struct sctp_tmit_chunk *chk;
 9704|       |
 9705|  32.6k|	if (net == NULL)
  ------------------
  |  Branch (9705:6): [True: 0, False: 32.6k]
  ------------------
 9706|       |		/* must have a net pointer */
 9707|      0|		return;
 9708|       |
 9709|  32.6k|	outchain = SCTP_M_COPYM(m, offset, chk_length, M_NOWAIT);
  ------------------
  |  |  764|  32.6k|#define SCTP_M_COPYM	m_copym
  ------------------
              	outchain = SCTP_M_COPYM(m, offset, chk_length, M_NOWAIT);
  ------------------
  |  |   60|  32.6k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 9710|  32.6k|	if (outchain == NULL) {
  ------------------
  |  Branch (9710:6): [True: 0, False: 32.6k]
  ------------------
 9711|       |		/* gak out of memory */
 9712|      0|		return;
 9713|      0|	}
 9714|       |#ifdef SCTP_MBUF_LOGGING
 9715|       |	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MBUF_LOGGING_ENABLE) {
 9716|       |		sctp_log_mbc(outchain, SCTP_MBUF_ICOPY);
 9717|       |	}
 9718|       |#endif
 9719|  32.6k|	chdr = mtod(outchain, struct sctp_chunkhdr *);
  ------------------
  |  |   96|  32.6k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  32.6k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 9720|  32.6k|	chdr->chunk_type = SCTP_HEARTBEAT_ACK;
  ------------------
  |  |  462|  32.6k|#define SCTP_HEARTBEAT_ACK	0x05
  ------------------
 9721|  32.6k|	chdr->chunk_flags = 0;
 9722|  32.6k|	if (chk_length % 4 != 0) {
  ------------------
  |  Branch (9722:6): [True: 1.78k, False: 30.8k]
  ------------------
 9723|  1.78k|		sctp_pad_lastmbuf(outchain, 4 - (chk_length % 4), NULL);
 9724|  1.78k|	}
 9725|  32.6k|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|  32.6k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|  32.6k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|  32.1k|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|  32.1k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|  32.1k|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 32.1k, False: 0]
  |  |  ------------------
  |  |  173|  32.1k|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|  32.1k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  32.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|  32.1k|			(_chk)->whoTo = NULL; \
  |  |  175|  32.1k|			(_chk)->holds_key_ref = 0; \
  |  |  176|  32.1k|		} \
  |  |  177|  32.1k|	} else { \
  |  |  178|    549|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|    549|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|    549|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|    549|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|    549|		(_chk)->holds_key_ref = 0; \
  |  |  182|    549|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|    549|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|    549|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|    549|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|    549|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|    549|	} \
  |  |  185|  32.6k|}
  ------------------
 9726|  32.6k|	if (chk == NULL) {
  ------------------
  |  Branch (9726:6): [True: 0, False: 32.6k]
  ------------------
 9727|       |		/* no memory */
 9728|      0|		sctp_m_freem(outchain);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 9729|      0|		return;
 9730|      0|	}
 9731|  32.6k|	chk->copy_by_ref = 0;
 9732|  32.6k|	chk->rec.chunk_id.id = SCTP_HEARTBEAT_ACK;
  ------------------
  |  |  462|  32.6k|#define SCTP_HEARTBEAT_ACK	0x05
  ------------------
 9733|  32.6k|	chk->rec.chunk_id.can_take_data = 1;
 9734|  32.6k|	chk->flags = 0;
 9735|  32.6k|	chk->send_size = chk_length;
 9736|  32.6k|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|  32.6k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
 9737|  32.6k|	chk->snd_count = 0;
 9738|  32.6k|	chk->asoc = &stcb->asoc;
 9739|  32.6k|	chk->data = outchain;
 9740|  32.6k|	chk->whoTo = net;
 9741|  32.6k|	atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|  32.6k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 9742|  32.6k|	TAILQ_INSERT_TAIL(&chk->asoc->control_send_queue, chk, sctp_next);
 9743|  32.6k|	chk->asoc->ctrl_queue_cnt++;
 9744|  32.6k|}
sctp_send_cookie_ack:
 9748|    792|{
 9749|       |	/* formulate and queue a cookie-ack back to sender */
 9750|    792|	struct mbuf *cookie_ack;
 9751|    792|	struct sctp_chunkhdr *hdr;
 9752|    792|	struct sctp_tmit_chunk *chk;
 9753|       |
 9754|    792|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|    792|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    792|	do {                         \
  |  |  |  |  113|    792|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 792]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    792|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9755|       |
 9756|    792|	cookie_ack = sctp_get_mbuf_for_msg(sizeof(struct sctp_chunkhdr), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   60|    792|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	cookie_ack = sctp_get_mbuf_for_msg(sizeof(struct sctp_chunkhdr), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |  288|    792|#define	MT_HEADER	MT_DATA	/* packet header, use M_PKTHDR instead */
  |  |  ------------------
  |  |  |  |  287|    792|#define	MT_DATA		1	/* dynamic (data) allocation */
  |  |  ------------------
  ------------------
 9757|    792|	if (cookie_ack == NULL) {
  ------------------
  |  Branch (9757:6): [True: 0, False: 792]
  ------------------
 9758|       |		/* no mbuf's */
 9759|      0|		return;
 9760|      0|	}
 9761|    792|	SCTP_BUF_RESV_UF(cookie_ack, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|    792|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|    792|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 9762|    792|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|    792|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|    792|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|    533|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|    533|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|    533|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 533, False: 0]
  |  |  ------------------
  |  |  173|    533|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|    533|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    533|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|    533|			(_chk)->whoTo = NULL; \
  |  |  175|    533|			(_chk)->holds_key_ref = 0; \
  |  |  176|    533|		} \
  |  |  177|    533|	} else { \
  |  |  178|    259|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|    259|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|    259|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|    259|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|    259|		(_chk)->holds_key_ref = 0; \
  |  |  182|    259|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|    259|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|    259|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|    259|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|    259|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|    259|	} \
  |  |  185|    792|}
  ------------------
 9763|    792|	if (chk == NULL) {
  ------------------
  |  Branch (9763:6): [True: 0, False: 792]
  ------------------
 9764|       |		/* no memory */
 9765|      0|		sctp_m_freem(cookie_ack);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 9766|      0|		return;
 9767|      0|	}
 9768|    792|	chk->copy_by_ref = 0;
 9769|    792|	chk->rec.chunk_id.id = SCTP_COOKIE_ACK;
  ------------------
  |  |  468|    792|#define SCTP_COOKIE_ACK		0x0b
  ------------------
 9770|    792|	chk->rec.chunk_id.can_take_data = 1;
 9771|    792|	chk->flags = 0;
 9772|    792|	chk->send_size = sizeof(struct sctp_chunkhdr);
 9773|    792|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|    792|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
 9774|    792|	chk->snd_count = 0;
 9775|    792|	chk->asoc = &stcb->asoc;
 9776|    792|	chk->data = cookie_ack;
 9777|    792|	if (chk->asoc->last_control_chunk_from != NULL) {
  ------------------
  |  Branch (9777:6): [True: 792, False: 0]
  ------------------
 9778|    792|		chk->whoTo = chk->asoc->last_control_chunk_from;
 9779|    792|		atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|    792|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 9780|    792|	} else {
 9781|      0|		chk->whoTo = NULL;
 9782|      0|	}
 9783|    792|	hdr = mtod(cookie_ack, struct sctp_chunkhdr *);
  ------------------
  |  |   96|    792|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    792|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 9784|    792|	hdr->chunk_type = SCTP_COOKIE_ACK;
  ------------------
  |  |  468|    792|#define SCTP_COOKIE_ACK		0x0b
  ------------------
 9785|    792|	hdr->chunk_flags = 0;
 9786|    792|	hdr->chunk_length = htons(chk->send_size);
 9787|    792|	SCTP_BUF_LEN(cookie_ack) = chk->send_size;
  ------------------
  |  |  795|    792|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    792|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 9788|    792|	TAILQ_INSERT_TAIL(&chk->asoc->control_send_queue, chk, sctp_next);
 9789|    792|	chk->asoc->ctrl_queue_cnt++;
 9790|    792|	return;
 9791|    792|}
sctp_send_shutdown_ack:
 9795|  1.15k|{
 9796|       |	/* formulate and queue a SHUTDOWN-ACK back to the sender */
 9797|  1.15k|	struct mbuf *m_shutdown_ack;
 9798|  1.15k|	struct sctp_shutdown_ack_chunk *ack_cp;
 9799|  1.15k|	struct sctp_tmit_chunk *chk;
 9800|       |
 9801|  1.15k|	m_shutdown_ack = sctp_get_mbuf_for_msg(sizeof(struct sctp_shutdown_ack_chunk), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   60|  1.15k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_shutdown_ack = sctp_get_mbuf_for_msg(sizeof(struct sctp_shutdown_ack_chunk), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |  288|  1.15k|#define	MT_HEADER	MT_DATA	/* packet header, use M_PKTHDR instead */
  |  |  ------------------
  |  |  |  |  287|  1.15k|#define	MT_DATA		1	/* dynamic (data) allocation */
  |  |  ------------------
  ------------------
 9802|  1.15k|	if (m_shutdown_ack == NULL) {
  ------------------
  |  Branch (9802:6): [True: 0, False: 1.15k]
  ------------------
 9803|       |		/* no mbuf's */
 9804|      0|		return;
 9805|      0|	}
 9806|  1.15k|	SCTP_BUF_RESV_UF(m_shutdown_ack, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|  1.15k|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|  1.15k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 9807|  1.15k|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|  1.15k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|  1.15k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|    779|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|    779|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|    779|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 779, False: 0]
  |  |  ------------------
  |  |  173|    779|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|    779|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    779|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|    779|			(_chk)->whoTo = NULL; \
  |  |  175|    779|			(_chk)->holds_key_ref = 0; \
  |  |  176|    779|		} \
  |  |  177|    779|	} else { \
  |  |  178|    375|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|    375|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|    375|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|    375|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|    375|		(_chk)->holds_key_ref = 0; \
  |  |  182|    375|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|    375|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|    375|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|    375|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|    375|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|    375|	} \
  |  |  185|  1.15k|}
  ------------------
 9808|  1.15k|	if (chk == NULL) {
  ------------------
  |  Branch (9808:6): [True: 0, False: 1.15k]
  ------------------
 9809|       |		/* no memory */
 9810|      0|		sctp_m_freem(m_shutdown_ack);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 9811|      0|		return;
 9812|      0|	}
 9813|  1.15k|	chk->copy_by_ref = 0;
 9814|  1.15k|	chk->rec.chunk_id.id = SCTP_SHUTDOWN_ACK;
  ------------------
  |  |  465|  1.15k|#define SCTP_SHUTDOWN_ACK	0x08
  ------------------
 9815|  1.15k|	chk->rec.chunk_id.can_take_data = 1;
 9816|  1.15k|	chk->flags = 0;
 9817|  1.15k|	chk->send_size = sizeof(struct sctp_chunkhdr);
 9818|  1.15k|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|  1.15k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
 9819|  1.15k|	chk->snd_count = 0;
 9820|  1.15k|	chk->asoc = &stcb->asoc;
 9821|  1.15k|	chk->data = m_shutdown_ack;
 9822|  1.15k|	chk->whoTo = net;
 9823|  1.15k|	if (chk->whoTo) {
  ------------------
  |  Branch (9823:6): [True: 1.15k, False: 0]
  ------------------
 9824|  1.15k|		atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|  1.15k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 9825|  1.15k|	}
 9826|  1.15k|	ack_cp = mtod(m_shutdown_ack, struct sctp_shutdown_ack_chunk *);
  ------------------
  |  |   96|  1.15k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  1.15k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 9827|  1.15k|	ack_cp->ch.chunk_type = SCTP_SHUTDOWN_ACK;
  ------------------
  |  |  465|  1.15k|#define SCTP_SHUTDOWN_ACK	0x08
  ------------------
 9828|  1.15k|	ack_cp->ch.chunk_flags = 0;
 9829|  1.15k|	ack_cp->ch.chunk_length = htons(chk->send_size);
 9830|  1.15k|	SCTP_BUF_LEN(m_shutdown_ack) = chk->send_size;
  ------------------
  |  |  795|  1.15k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  1.15k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 9831|  1.15k|	TAILQ_INSERT_TAIL(&chk->asoc->control_send_queue, chk, sctp_next);
 9832|  1.15k|	chk->asoc->ctrl_queue_cnt++;
 9833|  1.15k|	return;
 9834|  1.15k|}
sctp_send_shutdown:
 9838|  3.45k|{
 9839|       |	/* formulate and queue a SHUTDOWN to the sender */
 9840|  3.45k|	struct mbuf *m_shutdown;
 9841|  3.45k|	struct sctp_shutdown_chunk *shutdown_cp;
 9842|  3.45k|	struct sctp_tmit_chunk *chk;
 9843|       |
 9844|  5.44M|	TAILQ_FOREACH(chk, &stcb->asoc.control_send_queue, sctp_next) {
 9845|  5.44M|		if (chk->rec.chunk_id.id == SCTP_SHUTDOWN) {
  ------------------
  |  |  464|  5.44M|#define SCTP_SHUTDOWN		0x07
  ------------------
  |  Branch (9845:7): [True: 3.37k, False: 5.43M]
  ------------------
 9846|       |			/* We already have a SHUTDOWN queued. Reuse it. */
 9847|  3.37k|			if (chk->whoTo) {
  ------------------
  |  Branch (9847:8): [True: 3.37k, False: 0]
  ------------------
 9848|  3.37k|				sctp_free_remote_addr(chk->whoTo);
  ------------------
  |  |  228|  3.37k|#define sctp_free_remote_addr(__net) { \
  |  |  229|  3.37k|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 3.37k, False: 0]
  |  |  ------------------
  |  |  230|  3.37k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|  3.37k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|  3.37k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 3.37k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|  3.37k|	} \
  |  |  245|  3.37k|}
  ------------------
 9849|  3.37k|				chk->whoTo = NULL;
 9850|  3.37k|			}
 9851|  3.37k|			break;
 9852|  3.37k|		}
 9853|  5.44M|	}
 9854|  3.45k|	if (chk == NULL) {
  ------------------
  |  Branch (9854:6): [True: 84, False: 3.37k]
  ------------------
 9855|     84|		m_shutdown = sctp_get_mbuf_for_msg(sizeof(struct sctp_shutdown_chunk), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   60|     84|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		m_shutdown = sctp_get_mbuf_for_msg(sizeof(struct sctp_shutdown_chunk), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |  288|     84|#define	MT_HEADER	MT_DATA	/* packet header, use M_PKTHDR instead */
  |  |  ------------------
  |  |  |  |  287|     84|#define	MT_DATA		1	/* dynamic (data) allocation */
  |  |  ------------------
  ------------------
 9856|     84|		if (m_shutdown == NULL) {
  ------------------
  |  Branch (9856:7): [True: 0, False: 84]
  ------------------
 9857|       |			/* no mbuf's */
 9858|      0|			return;
 9859|      0|		}
 9860|     84|		SCTP_BUF_RESV_UF(m_shutdown, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|     84|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|     84|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 9861|     84|		sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|     84|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|     84|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|     83|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|     83|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|     83|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 83, False: 0]
  |  |  ------------------
  |  |  173|     83|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|     83|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|     83|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|     83|			(_chk)->whoTo = NULL; \
  |  |  175|     83|			(_chk)->holds_key_ref = 0; \
  |  |  176|     83|		} \
  |  |  177|     83|	} else { \
  |  |  178|      1|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|      1|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|      1|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|      1|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|      1|		(_chk)->holds_key_ref = 0; \
  |  |  182|      1|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|      1|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      1|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      1|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|      1|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|      1|	} \
  |  |  185|     84|}
  ------------------
 9862|     84|		if (chk == NULL) {
  ------------------
  |  Branch (9862:7): [True: 0, False: 84]
  ------------------
 9863|       |			/* no memory */
 9864|      0|			sctp_m_freem(m_shutdown);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 9865|      0|			return;
 9866|      0|		}
 9867|     84|		chk->copy_by_ref = 0;
 9868|     84|		chk->rec.chunk_id.id = SCTP_SHUTDOWN;
  ------------------
  |  |  464|     84|#define SCTP_SHUTDOWN		0x07
  ------------------
 9869|     84|		chk->rec.chunk_id.can_take_data = 1;
 9870|     84|		chk->flags = 0;
 9871|     84|		chk->send_size = sizeof(struct sctp_shutdown_chunk);
 9872|     84|		chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|     84|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
 9873|     84|		chk->snd_count = 0;
 9874|     84|		chk->asoc = &stcb->asoc;
 9875|     84|		chk->data = m_shutdown;
 9876|     84|		chk->whoTo = net;
 9877|     84|		if (chk->whoTo) {
  ------------------
  |  Branch (9877:7): [True: 84, False: 0]
  ------------------
 9878|     84|			atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|     84|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 9879|     84|		}
 9880|     84|		shutdown_cp = mtod(m_shutdown, struct sctp_shutdown_chunk *);
  ------------------
  |  |   96|     84|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|     84|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 9881|     84|		shutdown_cp->ch.chunk_type = SCTP_SHUTDOWN;
  ------------------
  |  |  464|     84|#define SCTP_SHUTDOWN		0x07
  ------------------
 9882|     84|		shutdown_cp->ch.chunk_flags = 0;
 9883|     84|		shutdown_cp->ch.chunk_length = htons(chk->send_size);
 9884|     84|		shutdown_cp->cumulative_tsn_ack = htonl(stcb->asoc.cumulative_tsn);
 9885|     84|		SCTP_BUF_LEN(m_shutdown) = chk->send_size;
  ------------------
  |  |  795|     84|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     84|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 9886|     84|		TAILQ_INSERT_TAIL(&chk->asoc->control_send_queue, chk, sctp_next);
 9887|     84|		chk->asoc->ctrl_queue_cnt++;
 9888|  3.37k|	} else {
 9889|  3.37k|		TAILQ_REMOVE(&stcb->asoc.control_send_queue, chk, sctp_next);
 9890|  3.37k|		chk->whoTo = net;
 9891|  3.37k|		if (chk->whoTo) {
  ------------------
  |  Branch (9891:7): [True: 3.37k, False: 0]
  ------------------
 9892|  3.37k|			atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|  3.37k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 9893|  3.37k|		}
 9894|  3.37k|		shutdown_cp = mtod(chk->data, struct sctp_shutdown_chunk *);
  ------------------
  |  |   96|  3.37k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  3.37k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 9895|  3.37k|		shutdown_cp->cumulative_tsn_ack = htonl(stcb->asoc.cumulative_tsn);
 9896|  3.37k|		TAILQ_INSERT_TAIL(&stcb->asoc.control_send_queue, chk, sctp_next);
 9897|  3.37k|	}
 9898|  3.45k|	return;
 9899|  3.45k|}
sctp_send_asconf_ack:
 9953|  2.21k|{
 9954|       |	/*
 9955|       |	 * formulate and queue a asconf-ack back to sender.
 9956|       |	 * the asconf-ack must be stored in the tcb.
 9957|       |	 */
 9958|  2.21k|	struct sctp_tmit_chunk *chk;
 9959|  2.21k|	struct sctp_asconf_ack *ack, *latest_ack;
 9960|  2.21k|	struct mbuf *m_ack;
 9961|  2.21k|	struct sctp_nets *net = NULL;
 9962|       |
 9963|  2.21k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  2.21k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  2.21k|	do {                         \
  |  |  |  |  113|  2.21k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.21k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  2.21k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9964|       |	/* Get the latest ASCONF-ACK */
 9965|  2.21k|	latest_ack = TAILQ_LAST(&stcb->asoc.asconf_ack_sent, sctp_asconf_ackhead);
 9966|  2.21k|	if (latest_ack == NULL) {
  ------------------
  |  Branch (9966:6): [True: 978, False: 1.23k]
  ------------------
 9967|    978|		return;
 9968|    978|	}
 9969|  1.23k|	if (latest_ack->last_sent_to != NULL &&
  ------------------
  |  Branch (9969:6): [True: 0, False: 1.23k]
  ------------------
 9970|  1.23k|	    latest_ack->last_sent_to == stcb->asoc.last_control_chunk_from) {
  ------------------
  |  Branch (9970:6): [True: 0, False: 0]
  ------------------
 9971|       |		/* we're doing a retransmission */
 9972|      0|		net = sctp_find_alternate_net(stcb, stcb->asoc.last_control_chunk_from, 0);
 9973|      0|		if (net == NULL) {
  ------------------
  |  Branch (9973:7): [True: 0, False: 0]
  ------------------
 9974|       |			/* no alternate */
 9975|      0|			if (stcb->asoc.last_control_chunk_from == NULL) {
  ------------------
  |  Branch (9975:8): [True: 0, False: 0]
  ------------------
 9976|      0|				if (stcb->asoc.alternate) {
  ------------------
  |  Branch (9976:9): [True: 0, False: 0]
  ------------------
 9977|      0|					net = stcb->asoc.alternate;
 9978|      0|				} else {
 9979|      0|					net = stcb->asoc.primary_destination;
 9980|      0|				}
 9981|      0|			} else {
 9982|      0|				net = stcb->asoc.last_control_chunk_from;
 9983|      0|			}
 9984|      0|		}
 9985|  1.23k|	} else {
 9986|       |		/* normal case */
 9987|  1.23k|		if (stcb->asoc.last_control_chunk_from == NULL) {
  ------------------
  |  Branch (9987:7): [True: 0, False: 1.23k]
  ------------------
 9988|      0|			if (stcb->asoc.alternate) {
  ------------------
  |  Branch (9988:8): [True: 0, False: 0]
  ------------------
 9989|      0|				net = stcb->asoc.alternate;
 9990|      0|			} else {
 9991|      0|				net = stcb->asoc.primary_destination;
 9992|      0|			}
 9993|  1.23k|		} else {
 9994|  1.23k|			net = stcb->asoc.last_control_chunk_from;
 9995|  1.23k|		}
 9996|  1.23k|	}
 9997|  1.23k|	latest_ack->last_sent_to = net;
 9998|       |
 9999|  1.26k|	TAILQ_FOREACH(ack, &stcb->asoc.asconf_ack_sent, next) {
10000|  1.26k|		if (ack->data == NULL) {
  ------------------
  |  Branch (10000:7): [True: 0, False: 1.26k]
  ------------------
10001|      0|			continue;
10002|      0|		}
10003|       |
10004|       |		/* copy the asconf_ack */
10005|  1.26k|		m_ack = SCTP_M_COPYM(ack->data, 0, M_COPYALL, M_NOWAIT);
  ------------------
  |  |  764|  1.26k|#define SCTP_M_COPYM	m_copym
  ------------------
              		m_ack = SCTP_M_COPYM(ack->data, 0, M_COPYALL, M_NOWAIT);
  ------------------
  |  |   75|  1.26k|#define	M_COPYALL	1000000000
  ------------------
              		m_ack = SCTP_M_COPYM(ack->data, 0, M_COPYALL, M_NOWAIT);
  ------------------
  |  |   60|  1.26k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
10006|  1.26k|		if (m_ack == NULL) {
  ------------------
  |  Branch (10006:7): [True: 0, False: 1.26k]
  ------------------
10007|       |			/* couldn't copy it */
10008|      0|			return;
10009|      0|		}
10010|       |#ifdef SCTP_MBUF_LOGGING
10011|       |		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MBUF_LOGGING_ENABLE) {
10012|       |			sctp_log_mbc(m_ack, SCTP_MBUF_ICOPY);
10013|       |		}
10014|       |#endif
10015|       |
10016|  1.26k|		sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|  1.26k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|  1.26k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|  1.03k|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|  1.03k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|  1.03k|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 1.03k, False: 0]
  |  |  ------------------
  |  |  173|  1.03k|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|  1.03k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  1.03k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|  1.03k|			(_chk)->whoTo = NULL; \
  |  |  175|  1.03k|			(_chk)->holds_key_ref = 0; \
  |  |  176|  1.03k|		} \
  |  |  177|  1.03k|	} else { \
  |  |  178|    230|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|    230|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|    230|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|    230|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|    230|		(_chk)->holds_key_ref = 0; \
  |  |  182|    230|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|    230|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|    230|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|    230|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|    230|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|    230|	} \
  |  |  185|  1.26k|}
  ------------------
10017|  1.26k|		if (chk == NULL) {
  ------------------
  |  Branch (10017:7): [True: 0, False: 1.26k]
  ------------------
10018|       |			/* no memory */
10019|      0|			if (m_ack)
  ------------------
  |  Branch (10019:8): [True: 0, False: 0]
  ------------------
10020|      0|				sctp_m_freem(m_ack);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
10021|      0|			return;
10022|      0|		}
10023|  1.26k|		chk->copy_by_ref = 0;
10024|  1.26k|		chk->rec.chunk_id.id = SCTP_ASCONF_ACK;
  ------------------
  |  |  480|  1.26k|#define	SCTP_ASCONF_ACK		0x80
  ------------------
10025|  1.26k|		chk->rec.chunk_id.can_take_data = 1;
10026|  1.26k|		chk->flags = CHUNK_FLAGS_FRAGMENT_OK;
  ------------------
  |  |  481|  1.26k|#define CHUNK_FLAGS_FRAGMENT_OK	        0x0100
  ------------------
10027|  1.26k|		chk->whoTo = net;
10028|  1.26k|		if (chk->whoTo) {
  ------------------
  |  Branch (10028:7): [True: 1.26k, False: 0]
  ------------------
10029|  1.26k|			atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|  1.26k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
10030|  1.26k|		}
10031|  1.26k|		chk->data = m_ack;
10032|  1.26k|		chk->send_size = ack->len;
10033|  1.26k|		chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|  1.26k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
10034|  1.26k|		chk->snd_count = 0;
10035|  1.26k|		chk->asoc = &stcb->asoc;
10036|       |
10037|  1.26k|		TAILQ_INSERT_TAIL(&chk->asoc->control_send_queue, chk, sctp_next);
10038|  1.26k|		chk->asoc->ctrl_queue_cnt++;
10039|  1.26k|	}
10040|  1.23k|	return;
10041|  1.23k|}
sctp_chunk_output:
10627|  35.8k|{
10628|       |	/*-
10629|       |	 * Ok this is the generic chunk service queue. we must do the
10630|       |	 * following:
10631|       |	 * - See if there are retransmits pending, if so we must
10632|       |	 *   do these first.
10633|       |	 * - Service the stream queue that is next, moving any
10634|       |	 *   message (note I must get a complete message i.e.
10635|       |	 *   FIRST/MIDDLE and LAST to the out queue in one pass) and assigning
10636|       |	 *   TSN's
10637|       |	 * - Check to see if the cwnd/rwnd allows any output, if so we
10638|       |	 *   go ahead and formulate and send the low level chunks. Making sure
10639|       |	 *   to combine any control in the control chunk queue also.
10640|       |	 */
10641|  35.8k|	struct sctp_association *asoc;
10642|  35.8k|	struct sctp_nets *net;
10643|  35.8k|	int error = 0, num_out, tot_out = 0, ret = 0, reason_code;
10644|  35.8k|	unsigned int burst_cnt = 0;
10645|  35.8k|	struct timeval now;
10646|  35.8k|	int now_filled = 0;
10647|  35.8k|	int nagle_on;
10648|  35.8k|	uint32_t frag_point = sctp_get_frag_point(stcb);
10649|  35.8k|	int un_sent = 0;
10650|  35.8k|	int fr_done;
10651|  35.8k|	unsigned int tot_frs = 0;
10652|       |
10653|       |#if defined(__APPLE__) && !defined(__Userspace__)
10654|       |	if (so_locked) {
10655|       |		sctp_lock_assert(SCTP_INP_SO(inp));
10656|       |	} else {
10657|       |		sctp_unlock_assert(SCTP_INP_SO(inp));
10658|       |	}
10659|       |#endif
10660|  35.8k|	asoc = &stcb->asoc;
10661|  35.8k|do_it_again:
10662|       |	/* The Nagle algorithm is only applied when handling a send call. */
10663|  35.8k|	if (from_where == SCTP_OUTPUT_FROM_USR_SEND) {
  ------------------
  |  |  361|  35.8k|#define SCTP_OUTPUT_FROM_USR_SEND       0
  ------------------
  |  Branch (10663:6): [True: 3.12k, False: 32.6k]
  ------------------
10664|  3.12k|		if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_NODELAY)) {
  ------------------
  |  |   52|  3.12k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 3.12k, False: 0]
  |  |  ------------------
  ------------------
10665|  3.12k|			nagle_on = 0;
10666|  3.12k|		} else {
10667|      0|			nagle_on = 1;
10668|      0|		}
10669|  32.6k|	} else {
10670|  32.6k|		nagle_on = 0;
10671|  32.6k|	}
10672|  35.8k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  35.8k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  35.8k|	do {                         \
  |  |  |  |  113|  35.8k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 35.8k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  35.8k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
10673|       |
10674|  35.8k|	un_sent = (stcb->asoc.total_output_queue_size - stcb->asoc.total_flight);
10675|       |
10676|  35.8k|	if ((un_sent <= 0) &&
  ------------------
  |  Branch (10676:6): [True: 29.6k, False: 6.11k]
  ------------------
10677|  35.8k|	    (TAILQ_EMPTY(&asoc->control_send_queue)) &&
  ------------------
  |  Branch (10677:6): [True: 140, False: 29.5k]
  ------------------
10678|  35.8k|	    (TAILQ_EMPTY(&asoc->asconf_send_queue)) &&
  ------------------
  |  Branch (10678:6): [True: 140, False: 0]
  ------------------
10679|  35.8k|	    (asoc->sent_queue_retran_cnt == 0) &&
  ------------------
  |  Branch (10679:6): [True: 140, False: 0]
  ------------------
10680|  35.8k|	    (asoc->trigger_reset == 0)) {
  ------------------
  |  Branch (10680:6): [True: 140, False: 0]
  ------------------
10681|       |		/* Nothing to do unless there is something to be sent left */
10682|    140|		return;
10683|    140|	}
10684|       |	/* Do we have something to send, data or control AND
10685|       |	 * a sack timer running, if so piggy-back the sack.
10686|       |	 */
10687|  35.6k|	if (SCTP_OS_TIMER_PENDING(&stcb->asoc.dack_timer.timer)) {
  ------------------
  |  |  102|  35.6k|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|  35.6k|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  |  |  |  Branch (102:36): [True: 106, False: 35.5k]
  |  |  ------------------
  ------------------
10688|    106|		sctp_send_sack(stcb, so_locked);
10689|    106|		sctp_timer_stop(SCTP_TIMER_TYPE_RECV, stcb->sctp_ep, stcb, NULL,
  ------------------
  |  |  534|    106|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
10690|    106|		                SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_3);
  ------------------
  |  |  763|    106|#define SCTP_FROM_SCTP_OUTPUT       0x90000000
  ------------------
              		                SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_3);
  ------------------
  |  |  771|    106|#define SCTP_LOC_3  0x00000003
  ------------------
10691|    106|	}
10692|  35.6k|	while (asoc->sent_queue_retran_cnt) {
  ------------------
  |  Branch (10692:9): [True: 0, False: 35.6k]
  ------------------
10693|       |		/*-
10694|       |		 * Ok, it is retransmission time only, we send out only ONE
10695|       |		 * packet with a single call off to the retran code.
10696|       |		 */
10697|      0|		if (from_where == SCTP_OUTPUT_FROM_COOKIE_ACK) {
  ------------------
  |  |  375|      0|#define SCTP_OUTPUT_FROM_COOKIE_ACK     14
  ------------------
  |  Branch (10697:7): [True: 0, False: 0]
  ------------------
10698|       |			/*-
10699|       |			 * Special hook for handling cookies discarded
10700|       |			 * by peer that carried data. Send cookie-ack only
10701|       |			 * and then the next call with get the retran's.
10702|       |			 */
10703|      0|			(void)sctp_med_chunk_output(inp, stcb, asoc, &num_out, &reason_code, 1,
10704|      0|			                            from_where,
10705|      0|			                            &now, &now_filled, frag_point, so_locked);
10706|      0|			return;
10707|      0|		} else if (from_where != SCTP_OUTPUT_FROM_HB_TMR) {
  ------------------
  |  |  367|      0|#define SCTP_OUTPUT_FROM_HB_TMR         6
  ------------------
  |  Branch (10707:14): [True: 0, False: 0]
  ------------------
10708|       |			/* if its not from a HB then do it */
10709|      0|			fr_done = 0;
10710|      0|			ret = sctp_chunk_retransmission(inp, stcb, asoc, &num_out, &now, &now_filled, &fr_done, so_locked);
10711|      0|			if (fr_done) {
  ------------------
  |  Branch (10711:8): [True: 0, False: 0]
  ------------------
10712|      0|				tot_frs++;
10713|      0|			}
10714|      0|		} else {
10715|       |			/*
10716|       |			 * its from any other place, we don't allow retran
10717|       |			 * output (only control)
10718|       |			 */
10719|      0|			ret = 1;
10720|      0|		}
10721|      0|		if (ret > 0) {
  ------------------
  |  Branch (10721:7): [True: 0, False: 0]
  ------------------
10722|       |			/* Can't send anymore */
10723|       |			/*-
10724|       |			 * now lets push out control by calling med-level
10725|       |			 * output once. this assures that we WILL send HB's
10726|       |			 * if queued too.
10727|       |			 */
10728|      0|			(void)sctp_med_chunk_output(inp, stcb, asoc, &num_out, &reason_code, 1,
10729|      0|			                            from_where,
10730|      0|			                            &now, &now_filled, frag_point, so_locked);
10731|       |#ifdef SCTP_AUDITING_ENABLED
10732|       |			sctp_auditing(8, inp, stcb, NULL);
10733|       |#endif
10734|      0|			sctp_timer_validation(inp, stcb, asoc);
10735|      0|			return;
10736|      0|		}
10737|      0|		if (ret < 0) {
  ------------------
  |  Branch (10737:7): [True: 0, False: 0]
  ------------------
10738|       |			/*-
10739|       |			 * The count was off.. retran is not happening so do
10740|       |			 * the normal retransmission.
10741|       |			 */
10742|       |#ifdef SCTP_AUDITING_ENABLED
10743|       |			sctp_auditing(9, inp, stcb, NULL);
10744|       |#endif
10745|      0|			if (ret == SCTP_RETRAN_EXIT) {
  ------------------
  |  |  908|      0|#define SCTP_RETRAN_EXIT -2
  ------------------
  |  Branch (10745:8): [True: 0, False: 0]
  ------------------
10746|      0|				return;
10747|      0|			}
10748|      0|			break;
10749|      0|		}
10750|      0|		if (from_where == SCTP_OUTPUT_FROM_T3) {
  ------------------
  |  |  362|      0|#define SCTP_OUTPUT_FROM_T3       	1
  ------------------
  |  Branch (10750:7): [True: 0, False: 0]
  ------------------
10751|       |			/* Only one transmission allowed out of a timeout */
10752|       |#ifdef SCTP_AUDITING_ENABLED
10753|       |			sctp_auditing(10, inp, stcb, NULL);
10754|       |#endif
10755|       |			/* Push out any control */
10756|      0|			(void)sctp_med_chunk_output(inp, stcb, asoc, &num_out, &reason_code, 1, from_where,
10757|      0|			                            &now, &now_filled, frag_point, so_locked);
10758|      0|			return;
10759|      0|		}
10760|      0|		if ((asoc->fr_max_burst > 0) && (tot_frs >= asoc->fr_max_burst)) {
  ------------------
  |  Branch (10760:7): [True: 0, False: 0]
  |  Branch (10760:35): [True: 0, False: 0]
  ------------------
10761|       |			/* Hit FR burst limit */
10762|      0|			return;
10763|      0|		}
10764|      0|		if ((num_out == 0) && (ret == 0)) {
  ------------------
  |  Branch (10764:7): [True: 0, False: 0]
  |  Branch (10764:25): [True: 0, False: 0]
  ------------------
10765|       |			/* No more retrans to send */
10766|      0|			break;
10767|      0|		}
10768|      0|	}
10769|       |#ifdef SCTP_AUDITING_ENABLED
10770|       |	sctp_auditing(12, inp, stcb, NULL);
10771|       |#endif
10772|       |	/* Check for bad destinations, if they exist move chunks around. */
10773|  46.2k|	TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
10774|  46.2k|		if ((net->dest_state & SCTP_ADDR_REACHABLE) == 0) {
  ------------------
  |  |  481|  46.2k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (10774:7): [True: 0, False: 46.2k]
  ------------------
10775|       |			/*-
10776|       |			 * if possible move things off of this address we
10777|       |			 * still may send below due to the dormant state but
10778|       |			 * we try to find an alternate address to send to
10779|       |			 * and if we have one we move all queued data on the
10780|       |			 * out wheel to this alternate address.
10781|       |			 */
10782|      0|			if (net->ref_count > 1)
  ------------------
  |  Branch (10782:8): [True: 0, False: 0]
  ------------------
10783|      0|				sctp_move_chunks_from_net(stcb, net);
10784|  46.2k|		} else {
10785|       |			/*-
10786|       |			 * if ((asoc->sat_network) || (net->addr_is_local))
10787|       |			 * { burst_limit = asoc->max_burst *
10788|       |			 * SCTP_SAT_NETWORK_BURST_INCR; }
10789|       |			 */
10790|  46.2k|			if (asoc->max_burst > 0) {
  ------------------
  |  Branch (10790:8): [True: 46.2k, False: 0]
  ------------------
10791|  46.2k|				if (SCTP_BASE_SYSCTL(sctp_use_cwnd_based_maxburst)) {
  ------------------
  |  |  584|  46.2k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 46.2k, False: 0]
  |  |  ------------------
  ------------------
10792|  46.2k|					if ((net->flight_size + (asoc->max_burst * net->mtu)) < net->cwnd) {
  ------------------
  |  Branch (10792:10): [True: 0, False: 46.2k]
  ------------------
10793|       |						/* JRS - Use the congestion control given in the congestion control module */
10794|      0|						asoc->cc_functions.sctp_cwnd_update_after_output(stcb, net, asoc->max_burst);
10795|      0|						if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_MAXBURST_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              						if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_MAXBURST_ENABLE) {
  ------------------
  |  |  663|      0|#define SCTP_LOG_MAXBURST_ENABLE			0x00080000
  ------------------
  |  Branch (10795:11): [True: 0, False: 0]
  ------------------
10796|      0|							sctp_log_maxburst(stcb, net, 0, asoc->max_burst, SCTP_MAX_BURST_APPLIED);
  ------------------
  |  |  137|      0|#define SCTP_MAX_BURST_APPLIED      33
  ------------------
10797|      0|						}
10798|      0|						SCTP_STAT_INCR(sctps_maxburstqueued);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
10799|      0|					}
10800|  46.2k|					net->fast_retran_ip = 0;
10801|  46.2k|				} else {
10802|      0|					if (net->flight_size == 0) {
  ------------------
  |  Branch (10802:10): [True: 0, False: 0]
  ------------------
10803|       |						/* Should be decaying the cwnd here */
10804|      0|						;
10805|      0|					}
10806|      0|				}
10807|  46.2k|			}
10808|  46.2k|		}
10809|  46.2k|	}
10810|  35.6k|	burst_cnt = 0;
10811|  36.5k|	do {
10812|  36.5k|		error = sctp_med_chunk_output(inp, stcb, asoc, &num_out,
10813|  36.5k|		                              &reason_code, 0, from_where,
10814|  36.5k|		                              &now, &now_filled, frag_point, so_locked);
10815|  36.5k|		if (error) {
  ------------------
  |  Branch (10815:7): [True: 0, False: 36.5k]
  ------------------
10816|      0|			SCTPDBG(SCTP_DEBUG_OUTPUT1, "Error %d was returned from med-c-op\n", error);
10817|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_MAXBURST_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_MAXBURST_ENABLE) {
  ------------------
  |  |  663|      0|#define SCTP_LOG_MAXBURST_ENABLE			0x00080000
  ------------------
  |  Branch (10817:8): [True: 0, False: 0]
  ------------------
10818|      0|				sctp_log_maxburst(stcb, asoc->primary_destination, error, burst_cnt, SCTP_MAX_BURST_ERROR_STOP);
  ------------------
  |  |  139|      0|#define SCTP_MAX_BURST_ERROR_STOP   35
  ------------------
10819|      0|			}
10820|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  648|      0|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  |  Branch (10820:8): [True: 0, False: 0]
  ------------------
10821|      0|				sctp_log_cwnd(stcb, NULL, error, SCTP_SEND_NOW_COMPLETES);
  ------------------
  |  |  172|      0|#define SCTP_SEND_NOW_COMPLETES     68
  ------------------
10822|      0|				sctp_log_cwnd(stcb, NULL, 0xdeadbeef, SCTP_SEND_NOW_COMPLETES);
  ------------------
  |  |  172|      0|#define SCTP_SEND_NOW_COMPLETES     68
  ------------------
10823|      0|			}
10824|      0|			break;
10825|      0|		}
10826|  36.5k|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "m-c-o put out %d\n", num_out);
10827|       |
10828|  36.5k|		tot_out += num_out;
10829|  36.5k|		burst_cnt++;
10830|  36.5k|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|  36.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  648|  36.5k|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  |  Branch (10830:7): [True: 0, False: 36.5k]
  ------------------
10831|      0|			sctp_log_cwnd(stcb, NULL, num_out, SCTP_SEND_NOW_COMPLETES);
  ------------------
  |  |  172|      0|#define SCTP_SEND_NOW_COMPLETES     68
  ------------------
10832|      0|			if (num_out == 0) {
  ------------------
  |  Branch (10832:8): [True: 0, False: 0]
  ------------------
10833|      0|				sctp_log_cwnd(stcb, NULL, reason_code, SCTP_SEND_NOW_COMPLETES);
  ------------------
  |  |  172|      0|#define SCTP_SEND_NOW_COMPLETES     68
  ------------------
10834|      0|			}
10835|      0|		}
10836|  36.5k|		if (nagle_on) {
  ------------------
  |  Branch (10836:7): [True: 0, False: 36.5k]
  ------------------
10837|       |			/*
10838|       |			 * When the Nagle algorithm is used, look at how much
10839|       |			 * is unsent, then if its smaller than an MTU and we
10840|       |			 * have data in flight we stop, except if we are
10841|       |			 * handling a fragmented user message.
10842|       |			 */
10843|      0|			un_sent = stcb->asoc.total_output_queue_size - stcb->asoc.total_flight;
10844|      0|			if ((un_sent < (int)(stcb->asoc.smallest_mtu - SCTP_MIN_OVERHEAD)) &&
  ------------------
  |  |  564|      0|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|      0|                           sizeof(struct sctphdr))
  ------------------
  |  Branch (10844:8): [True: 0, False: 0]
  ------------------
10845|      0|			    (stcb->asoc.total_flight > 0)) {
  ------------------
  |  Branch (10845:8): [True: 0, False: 0]
  ------------------
10846|       |/*	&&		     sctp_is_feature_on(inp, SCTP_PCB_FLAGS_EXPLICIT_EOR))) {*/
10847|      0|				break;
10848|      0|			}
10849|      0|		}
10850|  36.5k|		if (TAILQ_EMPTY(&asoc->control_send_queue) &&
10851|  36.5k|		    TAILQ_EMPTY(&asoc->send_queue) &&
10852|  36.5k|		    sctp_is_there_unsent_data(stcb, so_locked) == 0) {
  ------------------
  |  Branch (10852:7): [True: 7.50k, False: 0]
  ------------------
10853|       |			/* Nothing left to send */
10854|  7.50k|			break;
10855|  7.50k|		}
10856|  29.0k|		if ((stcb->asoc.total_output_queue_size - stcb->asoc.total_flight) <= 0) {
  ------------------
  |  Branch (10856:7): [True: 26.1k, False: 2.86k]
  ------------------
10857|       |			/* Nothing left to send */
10858|  26.1k|			break;
10859|  26.1k|		}
10860|  29.0k|	} while (num_out &&
  ------------------
  |  Branch (10860:11): [True: 845, False: 2.02k]
  ------------------
10861|  2.86k|	         ((asoc->max_burst == 0) ||
  ------------------
  |  Branch (10861:12): [True: 0, False: 845]
  ------------------
10862|    845|		  SCTP_BASE_SYSCTL(sctp_use_cwnd_based_maxburst) ||
  ------------------
  |  |  584|  1.69k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 845, False: 0]
  |  |  ------------------
  ------------------
10863|    845|		  (burst_cnt < asoc->max_burst)));
  ------------------
  |  Branch (10863:5): [True: 0, False: 0]
  ------------------
10864|       |
10865|  35.6k|	if (SCTP_BASE_SYSCTL(sctp_use_cwnd_based_maxburst) == 0) {
  ------------------
  |  |  584|  35.6k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (10865:6): [True: 0, False: 35.6k]
  ------------------
10866|      0|		if ((asoc->max_burst > 0) && (burst_cnt >= asoc->max_burst)) {
  ------------------
  |  Branch (10866:7): [True: 0, False: 0]
  |  Branch (10866:32): [True: 0, False: 0]
  ------------------
10867|      0|			SCTP_STAT_INCR(sctps_maxburstqueued);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
10868|      0|			asoc->burst_limit_applied = 1;
10869|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_MAXBURST_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_MAXBURST_ENABLE) {
  ------------------
  |  |  663|      0|#define SCTP_LOG_MAXBURST_ENABLE			0x00080000
  ------------------
  |  Branch (10869:8): [True: 0, False: 0]
  ------------------
10870|      0|				sctp_log_maxburst(stcb, asoc->primary_destination, 0, burst_cnt, SCTP_MAX_BURST_APPLIED);
  ------------------
  |  |  137|      0|#define SCTP_MAX_BURST_APPLIED      33
  ------------------
10871|      0|			}
10872|      0|		} else {
10873|      0|			asoc->burst_limit_applied = 0;
10874|      0|		}
10875|      0|	}
10876|  35.6k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|  35.6k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  648|  35.6k|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  |  Branch (10876:6): [True: 0, False: 35.6k]
  ------------------
10877|      0|		sctp_log_cwnd(stcb, NULL, tot_out, SCTP_SEND_NOW_COMPLETES);
  ------------------
  |  |  172|      0|#define SCTP_SEND_NOW_COMPLETES     68
  ------------------
10878|      0|	}
10879|  35.6k|	SCTPDBG(SCTP_DEBUG_OUTPUT1, "Ok, we have put out %d chunks\n",
10880|  35.6k|		tot_out);
10881|       |
10882|       |	/*-
10883|       |	 * Now we need to clean up the control chunk chain if a ECNE is on
10884|       |	 * it. It must be marked as UNSENT again so next call will continue
10885|       |	 * to send it until such time that we get a CWR, to remove it.
10886|       |	 */
10887|  35.6k|	if (stcb->asoc.ecn_echo_cnt_onq)
  ------------------
  |  Branch (10887:6): [True: 0, False: 35.6k]
  ------------------
10888|      0|		sctp_fix_ecn_echo(asoc);
10889|       |
10890|  35.6k|	if (stcb->asoc.trigger_reset) {
  ------------------
  |  Branch (10890:6): [True: 74, False: 35.5k]
  ------------------
10891|     74|		if (sctp_send_stream_reset_out_if_possible(stcb, so_locked) == 0) {
  ------------------
  |  Branch (10891:7): [True: 0, False: 74]
  ------------------
10892|      0|			goto do_it_again;
10893|      0|		}
10894|     74|	}
10895|  35.6k|	return;
10896|  35.6k|}
send_forward_tsn:
10942|  1.29k|{
10943|  1.29k|	struct sctp_tmit_chunk *chk, *at, *tp1, *last;
10944|  1.29k|	struct sctp_forward_tsn_chunk *fwdtsn;
10945|  1.29k|	struct sctp_strseq *strseq;
10946|  1.29k|	struct sctp_strseq_mid *strseq_m;
10947|  1.29k|	uint32_t advance_peer_ack_point;
10948|  1.29k|	unsigned int cnt_of_space, i, ovh;
10949|  1.29k|	unsigned int space_needed;
10950|  1.29k|	unsigned int cnt_of_skipped = 0;
10951|       |
10952|  1.29k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  1.29k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.29k|	do {                         \
  |  |  |  |  113|  1.29k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.29k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.29k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
10953|  5.82k|	TAILQ_FOREACH(chk, &asoc->control_send_queue, sctp_next) {
10954|  5.82k|		if (chk->rec.chunk_id.id == SCTP_FORWARD_CUM_TSN) {
  ------------------
  |  |  490|  5.82k|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
  |  Branch (10954:7): [True: 1.22k, False: 4.59k]
  ------------------
10955|       |			/* mark it to unsent */
10956|  1.22k|			chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|  1.22k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
10957|  1.22k|			chk->snd_count = 0;
10958|       |			/* Do we correct its output location? */
10959|  1.22k|			if (chk->whoTo) {
  ------------------
  |  Branch (10959:8): [True: 0, False: 1.22k]
  ------------------
10960|      0|				sctp_free_remote_addr(chk->whoTo);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
10961|      0|				chk->whoTo = NULL;
10962|      0|			}
10963|  1.22k|			goto sctp_fill_in_rest;
10964|  1.22k|		}
10965|  5.82k|	}
10966|       |	/* Ok if we reach here we must build one */
10967|     67|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|     67|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|     67|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|     66|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|     66|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|     66|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 66, False: 0]
  |  |  ------------------
  |  |  173|     66|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|     66|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|     66|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|     66|			(_chk)->whoTo = NULL; \
  |  |  175|     66|			(_chk)->holds_key_ref = 0; \
  |  |  176|     66|		} \
  |  |  177|     66|	} else { \
  |  |  178|      1|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|      1|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|      1|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|      1|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|      1|		(_chk)->holds_key_ref = 0; \
  |  |  182|      1|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|      1|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      1|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      1|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|      1|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|      1|	} \
  |  |  185|     67|}
  ------------------
10968|     67|	if (chk == NULL) {
  ------------------
  |  Branch (10968:6): [True: 0, False: 67]
  ------------------
10969|      0|		return;
10970|      0|	}
10971|     67|	asoc->fwd_tsn_cnt++;
10972|     67|	chk->copy_by_ref = 0;
10973|       |	/*
10974|       |	 * We don't do the old thing here since
10975|       |	 * this is used not for on-wire but to
10976|       |	 * tell if we are sending a fwd-tsn by
10977|       |	 * the stack during output. And if its
10978|       |	 * a IFORWARD or a FORWARD it is a fwd-tsn.
10979|       |	 */
10980|     67|	chk->rec.chunk_id.id = SCTP_FORWARD_CUM_TSN;
  ------------------
  |  |  490|     67|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
10981|     67|	chk->rec.chunk_id.can_take_data = 0;
10982|     67|	chk->flags = 0;
10983|     67|	chk->asoc = asoc;
10984|     67|	chk->whoTo = NULL;
10985|     67|	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   51|     67|#define MCLBYTES 2048
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|     67|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|     67|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
10986|     67|	if (chk->data == NULL) {
  ------------------
  |  Branch (10986:6): [True: 0, False: 67]
  ------------------
10987|      0|		sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
10988|      0|		return;
10989|      0|	}
10990|     67|	SCTP_BUF_RESV_UF(chk->data, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|     67|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|     67|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
10991|     67|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|     67|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
10992|     67|	chk->snd_count = 0;
10993|     67|	TAILQ_INSERT_TAIL(&asoc->control_send_queue, chk, sctp_next);
10994|     67|	asoc->ctrl_queue_cnt++;
10995|  1.29k|sctp_fill_in_rest:
10996|       |	/*-
10997|       |	 * Here we go through and fill out the part that deals with
10998|       |	 * stream/seq of the ones we skip.
10999|       |	 */
11000|  1.29k|	SCTP_BUF_LEN(chk->data) = 0;
  ------------------
  |  |  795|  1.29k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  1.29k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
11001|  1.29k|	TAILQ_FOREACH(at, &asoc->sent_queue, sctp_next) {
11002|      0|		if ((at->sent != SCTP_FORWARD_TSN_SKIP) &&
  ------------------
  |  |  357|      0|#define SCTP_FORWARD_TSN_SKIP		30010
  ------------------
  |  Branch (11002:7): [True: 0, False: 0]
  ------------------
11003|      0|		    (at->sent != SCTP_DATAGRAM_NR_ACKED)) {
  ------------------
  |  |  358|      0|#define SCTP_DATAGRAM_NR_ACKED		40010
  ------------------
  |  Branch (11003:7): [True: 0, False: 0]
  ------------------
11004|       |			/* no more to look at */
11005|      0|			break;
11006|      0|		}
11007|      0|		if (!asoc->idata_supported && (at->rec.data.rcv_flags & SCTP_DATA_UNORDERED)) {
  ------------------
  |  |  518|      0|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (11007:7): [True: 0, False: 0]
  |  Branch (11007:33): [True: 0, False: 0]
  ------------------
11008|       |			/* We don't report these */
11009|      0|			continue;
11010|      0|		}
11011|      0|		cnt_of_skipped++;
11012|      0|	}
11013|  1.29k|	if (asoc->idata_supported) {
  ------------------
  |  Branch (11013:6): [True: 767, False: 525]
  ------------------
11014|    767|		space_needed = (sizeof(struct sctp_forward_tsn_chunk) +
11015|    767|		                (cnt_of_skipped * sizeof(struct sctp_strseq_mid)));
11016|    767|	} else {
11017|    525|		space_needed = (sizeof(struct sctp_forward_tsn_chunk) +
11018|    525|		                (cnt_of_skipped * sizeof(struct sctp_strseq)));
11019|    525|	}
11020|  1.29k|	cnt_of_space = (unsigned int)M_TRAILINGSPACE(chk->data);
  ------------------
  |  |  355|  1.29k|	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  221|  1.29k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  233|  1.29k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (355:3): [True: 1.29k, False: 0]
  |  |  ------------------
  |  |  356|  1.29k|	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  326|  1.29k|#define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|  1.29k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               #define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  236|  1.29k|#define	M_RDONLY	0x0008	/* associated data is marked read-only */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (326:24): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  327|  1.29k|			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|  1.29k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  233|  1.29k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (327:6): [True: 0, False: 1.29k]
  |  |  |  |  ------------------
  |  |  |  |  328|  1.29k|			 (*((m)->m_ext.ref_cnt) == 1)) )		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  225|  1.29k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (328:5): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|  1.29k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|  1.29k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |  357|  1.29k|		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  219|  1.29k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  218|  1.29k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  |  |  358|  1.29k|	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  227|      0|#define	m_dat		M_dat.M_databuf
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  138|      0|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|      0|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
11021|       |
11022|  1.29k|	if (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) {
  ------------------
  |  |  547|  1.29k|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  |  Branch (11022:6): [True: 0, False: 1.29k]
  ------------------
11023|      0|		ovh = SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|      0|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|      0|                           sizeof(struct sctphdr))
  ------------------
11024|  1.29k|	} else {
11025|  1.29k|		ovh = SCTP_MIN_V4_OVERHEAD;
  ------------------
  |  |  588|  1.29k|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|  1.29k|                              sizeof(struct sctphdr))
  ------------------
11026|  1.29k|	}
11027|  1.29k|	if (cnt_of_space > (asoc->smallest_mtu - ovh)) {
  ------------------
  |  Branch (11027:6): [True: 1.29k, False: 0]
  ------------------
11028|       |		/* trim to a mtu size */
11029|  1.29k|		cnt_of_space = asoc->smallest_mtu - ovh;
11030|  1.29k|	}
11031|  1.29k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_TRY_ADVANCE) {
  ------------------
  |  |  584|  1.29k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_TRY_ADVANCE) {
  ------------------
  |  |  672|  1.29k|#define SCTP_LOG_TRY_ADVANCE				0x10000000
  ------------------
  |  Branch (11031:6): [True: 0, False: 1.29k]
  ------------------
11032|      0|		sctp_misc_ints(SCTP_FWD_TSN_CHECK,
  ------------------
  |  |  227|      0|#define SCTP_FWD_TSN_CHECK         123
  ------------------
11033|      0|			       0xff, 0, cnt_of_skipped,
11034|      0|			       asoc->advanced_peer_ack_point);
11035|      0|	}
11036|  1.29k|	advance_peer_ack_point = asoc->advanced_peer_ack_point;
11037|  1.29k|	if (cnt_of_space < space_needed) {
  ------------------
  |  Branch (11037:6): [True: 0, False: 1.29k]
  ------------------
11038|       |		/*-
11039|       |		 * ok we must trim down the chunk by lowering the
11040|       |		 * advance peer ack point.
11041|       |		 */
11042|      0|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_TRY_ADVANCE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_TRY_ADVANCE) {
  ------------------
  |  |  672|      0|#define SCTP_LOG_TRY_ADVANCE				0x10000000
  ------------------
  |  Branch (11042:7): [True: 0, False: 0]
  ------------------
11043|      0|			sctp_misc_ints(SCTP_FWD_TSN_CHECK,
  ------------------
  |  |  227|      0|#define SCTP_FWD_TSN_CHECK         123
  ------------------
11044|      0|				       0xff, 0xff, cnt_of_space,
11045|      0|				       space_needed);
11046|      0|		}
11047|      0|		cnt_of_skipped = cnt_of_space - sizeof(struct sctp_forward_tsn_chunk);
11048|      0|		if (asoc->idata_supported) {
  ------------------
  |  Branch (11048:7): [True: 0, False: 0]
  ------------------
11049|      0|			cnt_of_skipped /= sizeof(struct sctp_strseq_mid);
11050|      0|		} else {
11051|      0|			cnt_of_skipped /= sizeof(struct sctp_strseq);
11052|      0|		}
11053|       |		/*-
11054|       |		 * Go through and find the TSN that will be the one
11055|       |		 * we report.
11056|       |		 */
11057|      0|		at = TAILQ_FIRST(&asoc->sent_queue);
11058|      0|		if (at != NULL) {
  ------------------
  |  Branch (11058:7): [True: 0, False: 0]
  ------------------
11059|      0|			for (i = 0; i < cnt_of_skipped; i++) {
  ------------------
  |  Branch (11059:16): [True: 0, False: 0]
  ------------------
11060|      0|				tp1 = TAILQ_NEXT(at, sctp_next);
11061|      0|				if (tp1 == NULL) {
  ------------------
  |  Branch (11061:9): [True: 0, False: 0]
  ------------------
11062|      0|					break;
11063|      0|				}
11064|      0|				at = tp1;
11065|      0|			}
11066|      0|		}
11067|      0|		if (at && SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_TRY_ADVANCE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (at && SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_TRY_ADVANCE) {
  ------------------
  |  |  672|      0|#define SCTP_LOG_TRY_ADVANCE				0x10000000
  ------------------
  |  Branch (11067:7): [True: 0, False: 0]
  |  Branch (11067:13): [True: 0, False: 0]
  ------------------
11068|      0|			sctp_misc_ints(SCTP_FWD_TSN_CHECK,
  ------------------
  |  |  227|      0|#define SCTP_FWD_TSN_CHECK         123
  ------------------
11069|      0|				       0xff, cnt_of_skipped, at->rec.data.tsn,
11070|      0|				       asoc->advanced_peer_ack_point);
11071|      0|		}
11072|      0|		last = at;
11073|       |		/*-
11074|       |		 * last now points to last one I can report, update
11075|       |		 * peer ack point
11076|       |		 */
11077|      0|		if (last) {
  ------------------
  |  Branch (11077:7): [True: 0, False: 0]
  ------------------
11078|      0|			advance_peer_ack_point = last->rec.data.tsn;
11079|      0|		}
11080|      0|		if (asoc->idata_supported) {
  ------------------
  |  Branch (11080:7): [True: 0, False: 0]
  ------------------
11081|      0|			space_needed = sizeof(struct sctp_forward_tsn_chunk) +
11082|      0|			               cnt_of_skipped * sizeof(struct sctp_strseq_mid);
11083|      0|		} else {
11084|      0|			space_needed = sizeof(struct sctp_forward_tsn_chunk) +
11085|      0|			               cnt_of_skipped * sizeof(struct sctp_strseq);
11086|      0|		}
11087|      0|	}
11088|  1.29k|	chk->send_size = space_needed;
11089|       |	/* Setup the chunk */
11090|  1.29k|	fwdtsn = mtod(chk->data, struct sctp_forward_tsn_chunk *);
  ------------------
  |  |   96|  1.29k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  1.29k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11091|  1.29k|	fwdtsn->ch.chunk_length = htons(chk->send_size);
11092|  1.29k|	fwdtsn->ch.chunk_flags = 0;
11093|  1.29k|	if (asoc->idata_supported) {
  ------------------
  |  Branch (11093:6): [True: 767, False: 525]
  ------------------
11094|    767|		fwdtsn->ch.chunk_type = SCTP_IFORWARD_CUM_TSN;
  ------------------
  |  |  493|    767|#define SCTP_IFORWARD_CUM_TSN	0xc2
  ------------------
11095|    767|	} else {
11096|    525|		fwdtsn->ch.chunk_type = SCTP_FORWARD_CUM_TSN;
  ------------------
  |  |  490|    525|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
11097|    525|	}
11098|  1.29k|	fwdtsn->new_cumulative_tsn = htonl(advance_peer_ack_point);
11099|  1.29k|	SCTP_BUF_LEN(chk->data) = chk->send_size;
  ------------------
  |  |  795|  1.29k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  1.29k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
11100|  1.29k|	fwdtsn++;
11101|       |	/*-
11102|       |	 * Move pointer to after the fwdtsn and transfer to the
11103|       |	 * strseq pointer.
11104|       |	 */
11105|  1.29k|	if (asoc->idata_supported) {
  ------------------
  |  Branch (11105:6): [True: 767, False: 525]
  ------------------
11106|    767|		strseq_m = (struct sctp_strseq_mid *)fwdtsn;
11107|    767|		strseq = NULL;
11108|    767|	} else {
11109|    525|		strseq = (struct sctp_strseq *)fwdtsn;
11110|    525|		strseq_m = NULL;
11111|    525|	}
11112|       |	/*-
11113|       |	 * Now populate the strseq list. This is done blindly
11114|       |	 * without pulling out duplicate stream info. This is
11115|       |	 * inefficient but won't harm the process since the peer will
11116|       |	 * look at these in sequence and will thus release anything.
11117|       |	 * It could mean we exceed the PMTU and chop off some that
11118|       |	 * we could have included.. but this is unlikely (aka 1432/4
11119|       |	 * would mean 300+ stream seq's would have to be reported in
11120|       |	 * one FWD-TSN. With a bit of work we can later FIX this to
11121|       |	 * optimize and pull out duplicates.. but it does add more
11122|       |	 * overhead. So for now... not!
11123|       |	 */
11124|  1.29k|	i = 0;
11125|  1.29k|	TAILQ_FOREACH(at, &asoc->sent_queue, sctp_next) {
11126|      0|		if (i >= cnt_of_skipped) {
  ------------------
  |  Branch (11126:7): [True: 0, False: 0]
  ------------------
11127|      0|			break;
11128|      0|		}
11129|      0|		if (!asoc->idata_supported && (at->rec.data.rcv_flags & SCTP_DATA_UNORDERED)) {
  ------------------
  |  |  518|      0|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (11129:7): [True: 0, False: 0]
  |  Branch (11129:33): [True: 0, False: 0]
  ------------------
11130|       |			/* We don't report these */
11131|      0|			continue;
11132|      0|		}
11133|      0|		if (at->rec.data.tsn == advance_peer_ack_point) {
  ------------------
  |  Branch (11133:7): [True: 0, False: 0]
  ------------------
11134|      0|			at->rec.data.fwd_tsn_cnt = 0;
11135|      0|		}
11136|      0|		if (asoc->idata_supported) {
  ------------------
  |  Branch (11136:7): [True: 0, False: 0]
  ------------------
11137|      0|			strseq_m->sid = htons(at->rec.data.sid);
11138|      0|			if (at->rec.data.rcv_flags & SCTP_DATA_UNORDERED) {
  ------------------
  |  |  518|      0|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (11138:8): [True: 0, False: 0]
  ------------------
11139|      0|				strseq_m->flags = htons(PR_SCTP_UNORDERED_FLAG);
11140|      0|			} else {
11141|      0|				strseq_m->flags = 0;
11142|      0|			}
11143|      0|			strseq_m->mid = htonl(at->rec.data.mid);
11144|      0|			strseq_m++;
11145|      0|		} else {
11146|      0|			strseq->sid = htons(at->rec.data.sid);
11147|      0|			strseq->ssn = htons((uint16_t)at->rec.data.mid);
11148|      0|			strseq++;
11149|      0|		}
11150|      0|		i++;
11151|      0|	}
11152|  1.29k|	return;
11153|     67|}
sctp_send_sack:
11157|  16.9k|{
11158|       |	/*-
11159|       |	 * Queue up a SACK or NR-SACK in the control queue.
11160|       |	 * We must first check to see if a SACK or NR-SACK is
11161|       |	 * somehow on the control queue.
11162|       |	 * If so, we will take and and remove the old one.
11163|       |	 */
11164|  16.9k|	struct sctp_association *asoc;
11165|  16.9k|	struct sctp_tmit_chunk *chk, *a_chk;
11166|  16.9k|	struct sctp_sack_chunk *sack;
11167|  16.9k|	struct sctp_nr_sack_chunk *nr_sack;
11168|  16.9k|	struct sctp_gap_ack_block *gap_descriptor;
11169|  16.9k|	const struct sack_track *selector;
11170|  16.9k|	int mergeable = 0;
11171|  16.9k|	int offset;
11172|  16.9k|	caddr_t limit;
11173|  16.9k|	uint32_t *dup;
11174|  16.9k|	int limit_reached = 0;
11175|  16.9k|	unsigned int i, siz, j;
11176|  16.9k|	unsigned int num_gap_blocks = 0, num_nr_gap_blocks = 0, space;
11177|  16.9k|	int num_dups = 0;
11178|  16.9k|	int space_req;
11179|  16.9k|	uint32_t highest_tsn;
11180|  16.9k|	uint8_t flags;
11181|  16.9k|	uint8_t type;
11182|  16.9k|	uint8_t tsn_map;
11183|       |
11184|  16.9k|	if (stcb->asoc.nrsack_supported == 1) {
  ------------------
  |  Branch (11184:6): [True: 7.39k, False: 9.51k]
  ------------------
11185|  7.39k|		type = SCTP_NR_SELECTIVE_ACK;
  ------------------
  |  |  475|  7.39k|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
11186|  9.51k|	} else {
11187|  9.51k|		type = SCTP_SELECTIVE_ACK;
  ------------------
  |  |  460|  9.51k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
11188|  9.51k|	}
11189|  16.9k|	a_chk = NULL;
11190|  16.9k|	asoc = &stcb->asoc;
11191|  16.9k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  16.9k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  16.9k|	do {                         \
  |  |  |  |  113|  16.9k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 16.9k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  16.9k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11192|  16.9k|	if (asoc->last_data_chunk_from == NULL) {
  ------------------
  |  Branch (11192:6): [True: 4.75k, False: 12.1k]
  ------------------
11193|       |		/* Hmm we never received anything */
11194|  4.75k|		return;
11195|  4.75k|	}
11196|  12.1k|	sctp_slide_mapping_arrays(stcb);
11197|  12.1k|	sctp_set_rwnd(stcb, asoc);
11198|  4.59M|	TAILQ_FOREACH(chk, &asoc->control_send_queue, sctp_next) {
11199|  4.59M|		if (chk->rec.chunk_id.id == type) {
  ------------------
  |  Branch (11199:7): [True: 5.64k, False: 4.59M]
  ------------------
11200|       |			/* Hmm, found a sack already on queue, remove it */
11201|  5.64k|			TAILQ_REMOVE(&asoc->control_send_queue, chk, sctp_next);
11202|  5.64k|			asoc->ctrl_queue_cnt--;
11203|  5.64k|			a_chk = chk;
11204|  5.64k|			if (a_chk->data) {
  ------------------
  |  Branch (11204:8): [True: 5.64k, False: 0]
  ------------------
11205|  5.64k|				sctp_m_freem(a_chk->data);
  ------------------
  |  |   52|  5.64k|#define sctp_m_freem m_freem
  ------------------
11206|  5.64k|				a_chk->data = NULL;
11207|  5.64k|			}
11208|  5.64k|			if (a_chk->whoTo) {
  ------------------
  |  Branch (11208:8): [True: 5.64k, False: 0]
  ------------------
11209|  5.64k|				sctp_free_remote_addr(a_chk->whoTo);
  ------------------
  |  |  228|  5.64k|#define sctp_free_remote_addr(__net) { \
  |  |  229|  5.64k|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 5.64k, False: 0]
  |  |  ------------------
  |  |  230|  5.64k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|  5.64k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|  5.64k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 5.64k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|  5.64k|	} \
  |  |  245|  5.64k|}
  ------------------
11210|  5.64k|				a_chk->whoTo = NULL;
11211|  5.64k|			}
11212|  5.64k|			break;
11213|  5.64k|		}
11214|  4.59M|	}
11215|  12.1k|	if (a_chk == NULL) {
  ------------------
  |  Branch (11215:6): [True: 6.51k, False: 5.64k]
  ------------------
11216|  6.51k|		sctp_alloc_a_chunk(stcb, a_chk);
  ------------------
  |  |  169|  6.51k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|  6.51k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|  4.17k|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|  4.17k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|  4.17k|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 4.17k, False: 0]
  |  |  ------------------
  |  |  173|  4.17k|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|  4.17k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  4.17k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|  4.17k|			(_chk)->whoTo = NULL; \
  |  |  175|  4.17k|			(_chk)->holds_key_ref = 0; \
  |  |  176|  4.17k|		} \
  |  |  177|  4.17k|	} else { \
  |  |  178|  2.33k|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|  2.33k|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|  2.33k|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|  2.33k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|  2.33k|		(_chk)->holds_key_ref = 0; \
  |  |  182|  2.33k|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|  2.33k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  2.33k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  2.33k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|  2.33k|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|  2.33k|	} \
  |  |  185|  6.51k|}
  ------------------
11217|  6.51k|		if (a_chk == NULL) {
  ------------------
  |  Branch (11217:7): [True: 0, False: 6.51k]
  ------------------
11218|       |			/* No memory so we drop the idea, and set a timer */
11219|      0|			if (stcb->asoc.delayed_ack) {
  ------------------
  |  Branch (11219:8): [True: 0, False: 0]
  ------------------
11220|      0|				sctp_timer_stop(SCTP_TIMER_TYPE_RECV,
  ------------------
  |  |  534|      0|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
11221|      0|				                stcb->sctp_ep, stcb, NULL,
11222|      0|				                SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_4);
  ------------------
  |  |  763|      0|#define SCTP_FROM_SCTP_OUTPUT       0x90000000
  ------------------
              				                SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_4);
  ------------------
  |  |  772|      0|#define SCTP_LOC_4  0x00000004
  ------------------
11223|      0|				sctp_timer_start(SCTP_TIMER_TYPE_RECV,
  ------------------
  |  |  534|      0|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
11224|      0|				    stcb->sctp_ep, stcb, NULL);
11225|      0|			} else {
11226|      0|				stcb->asoc.send_sack = 1;
11227|      0|			}
11228|      0|			return;
11229|      0|		}
11230|  6.51k|		a_chk->copy_by_ref = 0;
11231|  6.51k|		a_chk->rec.chunk_id.id = type;
11232|  6.51k|		a_chk->rec.chunk_id.can_take_data = 1;
11233|  6.51k|	}
11234|       |	/* Clear our pkt counts */
11235|  12.1k|	asoc->data_pkts_seen = 0;
11236|       |
11237|  12.1k|	a_chk->flags = 0;
11238|  12.1k|	a_chk->asoc = asoc;
11239|  12.1k|	a_chk->snd_count = 0;
11240|  12.1k|	a_chk->send_size = 0;	/* fill in later */
11241|  12.1k|	a_chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|  12.1k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
11242|  12.1k|	a_chk->whoTo = NULL;
11243|       |
11244|  12.1k|	if ((asoc->last_data_chunk_from->dest_state & SCTP_ADDR_REACHABLE) == 0) {
  ------------------
  |  |  481|  12.1k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (11244:6): [True: 0, False: 12.1k]
  ------------------
11245|       |		/*-
11246|       |		 * Ok, the destination for the SACK is unreachable, lets see if
11247|       |		 * we can select an alternate to asoc->last_data_chunk_from
11248|       |		 */
11249|      0|		a_chk->whoTo = sctp_find_alternate_net(stcb, asoc->last_data_chunk_from, 0);
11250|      0|		if (a_chk->whoTo == NULL) {
  ------------------
  |  Branch (11250:7): [True: 0, False: 0]
  ------------------
11251|       |			/* Nope, no alternate */
11252|      0|			a_chk->whoTo = asoc->last_data_chunk_from;
11253|      0|		}
11254|  12.1k|	} else {
11255|  12.1k|		a_chk->whoTo = asoc->last_data_chunk_from;
11256|  12.1k|	}
11257|  12.1k|	if (a_chk->whoTo) {
  ------------------
  |  Branch (11257:6): [True: 12.1k, False: 0]
  ------------------
11258|  12.1k|		atomic_add_int(&a_chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|  12.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
11259|  12.1k|	}
11260|  12.1k|	if (SCTP_TSN_GT(asoc->highest_tsn_inside_map, asoc->highest_tsn_inside_nr_map)) {
  ------------------
  |  |  889|  12.1k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  12.1k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 2.00k, False: 10.1k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 2.00k]
  |  |  |  |  ------------------
  |  |  |  |  884|  12.1k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 1.18k, False: 10.9k]
  |  |  |  |  |  Branch (884:43): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11261|  1.18k|		highest_tsn = asoc->highest_tsn_inside_map;
11262|  10.9k|	} else {
11263|  10.9k|		highest_tsn = asoc->highest_tsn_inside_nr_map;
11264|  10.9k|	}
11265|  12.1k|	if (highest_tsn == asoc->cumulative_tsn) {
  ------------------
  |  Branch (11265:6): [True: 9.42k, False: 2.72k]
  ------------------
11266|       |		/* no gaps */
11267|  9.42k|		if (type == SCTP_SELECTIVE_ACK) {
  ------------------
  |  |  460|  9.42k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (11267:7): [True: 4.02k, False: 5.40k]
  ------------------
11268|  4.02k|			space_req = sizeof(struct sctp_sack_chunk);
11269|  5.40k|		} else {
11270|  5.40k|			space_req = sizeof(struct sctp_nr_sack_chunk);
11271|  5.40k|		}
11272|  9.42k|	} else {
11273|       |		/* gaps get a cluster */
11274|  2.72k|		space_req = MCLBYTES;
  ------------------
  |  |   51|  2.72k|#define MCLBYTES 2048
  ------------------
11275|  2.72k|	}
11276|       |	/* Ok now lets formulate a MBUF with our sack */
11277|  12.1k|	a_chk->data = sctp_get_mbuf_for_msg(space_req, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  12.1k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	a_chk->data = sctp_get_mbuf_for_msg(space_req, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  12.1k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
11278|  12.1k|	if ((a_chk->data == NULL) ||
  ------------------
  |  Branch (11278:6): [True: 0, False: 12.1k]
  ------------------
11279|  12.1k|	    (a_chk->whoTo == NULL)) {
  ------------------
  |  Branch (11279:6): [True: 0, False: 12.1k]
  ------------------
11280|       |		/* rats, no mbuf memory */
11281|      0|		if (a_chk->data) {
  ------------------
  |  Branch (11281:7): [True: 0, False: 0]
  ------------------
11282|       |			/* was a problem with the destination */
11283|      0|			sctp_m_freem(a_chk->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
11284|      0|			a_chk->data = NULL;
11285|      0|		}
11286|      0|		sctp_free_a_chunk(stcb, a_chk, so_locked);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
11287|       |		/* sa_ignore NO_NULL_CHK */
11288|      0|		if (stcb->asoc.delayed_ack) {
  ------------------
  |  Branch (11288:7): [True: 0, False: 0]
  ------------------
11289|      0|			sctp_timer_stop(SCTP_TIMER_TYPE_RECV,
  ------------------
  |  |  534|      0|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
11290|      0|			                stcb->sctp_ep, stcb, NULL,
11291|      0|			                SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_5);
  ------------------
  |  |  763|      0|#define SCTP_FROM_SCTP_OUTPUT       0x90000000
  ------------------
              			                SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_5);
  ------------------
  |  |  773|      0|#define SCTP_LOC_5  0x00000005
  ------------------
11292|      0|			sctp_timer_start(SCTP_TIMER_TYPE_RECV,
  ------------------
  |  |  534|      0|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
11293|      0|			    stcb->sctp_ep, stcb, NULL);
11294|      0|		} else {
11295|      0|			stcb->asoc.send_sack = 1;
11296|      0|		}
11297|      0|		return;
11298|      0|	}
11299|       |	/* ok, lets go through and fill it in */
11300|  12.1k|	SCTP_BUF_RESV_UF(a_chk->data, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|  12.1k|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|  12.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11301|  12.1k|	space = (unsigned int)M_TRAILINGSPACE(a_chk->data);
  ------------------
  |  |  355|  12.1k|	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  221|  12.1k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  233|  12.1k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (355:3): [True: 2.72k, False: 9.42k]
  |  |  ------------------
  |  |  356|  12.1k|	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  326|  2.72k|#define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|  2.72k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               #define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  236|  2.72k|#define	M_RDONLY	0x0008	/* associated data is marked read-only */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (326:24): [True: 2.72k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  327|  2.72k|			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|  2.72k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  233|  2.72k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (327:6): [True: 0, False: 2.72k]
  |  |  |  |  ------------------
  |  |  |  |  328|  2.72k|			 (*((m)->m_ext.ref_cnt) == 1)) )		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  225|  2.72k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (328:5): [True: 2.72k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|  2.72k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|  2.72k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |  357|  2.72k|		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  219|  2.72k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  218|  2.72k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  |  |  358|  12.1k|	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  227|  9.42k|#define	m_dat		M_dat.M_databuf
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  138|  9.42k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  9.42k|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  219|  9.42k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  218|  9.42k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
11302|  12.1k|	if (space > (a_chk->whoTo->mtu - SCTP_MIN_OVERHEAD)) {
  ------------------
  |  |  564|  12.1k|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|  12.1k|                           sizeof(struct sctphdr))
  ------------------
  |  Branch (11302:6): [True: 2.72k, False: 9.42k]
  ------------------
11303|  2.72k|		space = (a_chk->whoTo->mtu - SCTP_MIN_OVERHEAD);
  ------------------
  |  |  564|  2.72k|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|  2.72k|                           sizeof(struct sctphdr))
  ------------------
11304|  2.72k|	}
11305|  12.1k|	limit = mtod(a_chk->data, caddr_t);
  ------------------
  |  |   96|  12.1k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  12.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11306|  12.1k|	limit += space;
11307|       |
11308|  12.1k|	flags = 0;
11309|       |
11310|  12.1k|	if ((asoc->sctp_cmt_on_off > 0) &&
  ------------------
  |  Branch (11310:6): [True: 0, False: 12.1k]
  ------------------
11311|  12.1k|	    SCTP_BASE_SYSCTL(sctp_cmt_use_dac)) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
11312|       |		/*-
11313|       |		 * CMT DAC algorithm: If 2 (i.e., 0x10) packets have been
11314|       |		 * received, then set high bit to 1, else 0. Reset
11315|       |		 * pkts_rcvd.
11316|       |		 */
11317|      0|		flags |= (asoc->cmt_dac_pkts_rcvd << 6);
11318|      0|		asoc->cmt_dac_pkts_rcvd = 0;
11319|      0|	}
11320|       |#ifdef SCTP_ASOCLOG_OF_TSNS
11321|       |	stcb->asoc.cumack_logsnt[stcb->asoc.cumack_log_atsnt] = asoc->cumulative_tsn;
11322|       |	stcb->asoc.cumack_log_atsnt++;
11323|       |	if (stcb->asoc.cumack_log_atsnt >= SCTP_TSN_LOG_SIZE) {
11324|       |		stcb->asoc.cumack_log_atsnt = 0;
11325|       |	}
11326|       |#endif
11327|       |	/* reset the readers interpretation */
11328|  12.1k|	stcb->freed_by_sorcv_sincelast = 0;
11329|       |
11330|  12.1k|	if (type == SCTP_SELECTIVE_ACK) {
  ------------------
  |  |  460|  12.1k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (11330:6): [True: 6.22k, False: 5.93k]
  ------------------
11331|  6.22k|		sack = mtod(a_chk->data, struct sctp_sack_chunk *);
  ------------------
  |  |   96|  6.22k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  6.22k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11332|  6.22k|		nr_sack = NULL;
11333|  6.22k|		gap_descriptor = (struct sctp_gap_ack_block *)((caddr_t)sack + sizeof(struct sctp_sack_chunk));
11334|  6.22k|		if (highest_tsn > asoc->mapping_array_base_tsn) {
  ------------------
  |  Branch (11334:7): [True: 2.28k, False: 3.94k]
  ------------------
11335|  2.28k|			siz = (((highest_tsn - asoc->mapping_array_base_tsn) + 1) + 7) / 8;
11336|  3.94k|		} else {
11337|  3.94k|			siz = (((MAX_TSN - asoc->mapping_array_base_tsn) + 1) + highest_tsn + 7) / 8;
  ------------------
  |  |  310|  3.94k|#define MAX_TSN	0xffffffff
  ------------------
11338|  3.94k|		}
11339|  6.22k|	} else {
11340|  5.93k|		sack = NULL;
11341|  5.93k|		nr_sack = mtod(a_chk->data, struct sctp_nr_sack_chunk *);
  ------------------
  |  |   96|  5.93k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  5.93k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11342|  5.93k|		gap_descriptor = (struct sctp_gap_ack_block *)((caddr_t)nr_sack + sizeof(struct sctp_nr_sack_chunk));
11343|  5.93k|		if (asoc->highest_tsn_inside_map > asoc->mapping_array_base_tsn) {
  ------------------
  |  Branch (11343:7): [True: 0, False: 5.93k]
  ------------------
11344|      0|			siz = (((asoc->highest_tsn_inside_map - asoc->mapping_array_base_tsn) + 1) + 7) / 8;
11345|  5.93k|		} else {
11346|  5.93k|			siz = (((MAX_TSN - asoc->mapping_array_base_tsn) + 1) + asoc->highest_tsn_inside_map + 7) / 8;
  ------------------
  |  |  310|  5.93k|#define MAX_TSN	0xffffffff
  ------------------
11347|  5.93k|		}
11348|  5.93k|	}
11349|       |
11350|  12.1k|	if (SCTP_TSN_GT(asoc->mapping_array_base_tsn, asoc->cumulative_tsn)) {
  ------------------
  |  |  889|  12.1k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  12.1k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 1.37k, False: 10.7k]
  |  |  |  |  |  Branch (883:43): [True: 526, False: 851]
  |  |  |  |  ------------------
  |  |  |  |  884|  12.1k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 10.5k, False: 1.08k]
  |  |  |  |  |  Branch (884:43): [True: 10.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11351|  11.0k|		offset = 1;
11352|  11.0k|	} else {
11353|  1.08k|		offset = asoc->mapping_array_base_tsn - asoc->cumulative_tsn;
11354|  1.08k|	}
11355|  12.1k|	if (((type == SCTP_SELECTIVE_ACK) &&
  ------------------
  |  |  460|  12.1k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (11355:7): [True: 6.22k, False: 5.93k]
  ------------------
11356|  12.1k|	     SCTP_TSN_GT(highest_tsn, asoc->cumulative_tsn)) ||
  ------------------
  |  |  889|  6.22k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  6.22k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 6.22k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|  6.22k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 2.19k, False: 4.02k]
  |  |  |  |  |  Branch (884:43): [True: 2.19k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11357|  12.1k|	    ((type == SCTP_NR_SELECTIVE_ACK) &&
  ------------------
  |  |  475|  9.95k|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
  |  Branch (11357:7): [True: 5.93k, False: 4.02k]
  ------------------
11358|  9.95k|	     SCTP_TSN_GT(asoc->highest_tsn_inside_map, asoc->cumulative_tsn))) {
  ------------------
  |  |  889|  5.93k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  5.93k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 1.27k, False: 4.66k]
  |  |  |  |  |  Branch (883:43): [True: 526, False: 744]
  |  |  |  |  ------------------
  |  |  |  |  884|  5.93k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 5.40k]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11359|       |		/* we have a gap .. maybe */
11360|   587k|		for (i = 0; i < siz; i++) {
  ------------------
  |  Branch (11360:15): [True: 584k, False: 2.72k]
  ------------------
11361|   584k|			tsn_map = asoc->mapping_array[i];
11362|   584k|			if (type == SCTP_SELECTIVE_ACK) {
  ------------------
  |  |  460|   584k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (11362:8): [True: 584k, False: 0]
  ------------------
11363|   584k|				tsn_map |= asoc->nr_mapping_array[i];
11364|   584k|			}
11365|   584k|			if (i == 0) {
  ------------------
  |  Branch (11365:8): [True: 2.19k, False: 582k]
  ------------------
11366|       |				/*
11367|       |				 * Clear all bits corresponding to TSNs
11368|       |				 * smaller or equal to the cumulative TSN.
11369|       |				 */
11370|  2.19k|				tsn_map &= (~0U << (1 - offset));
11371|  2.19k|			}
11372|   584k|			selector = &sack_array[tsn_map];
11373|   584k|			if (mergeable && selector->right_edge) {
  ------------------
  |  Branch (11373:8): [True: 968, False: 583k]
  |  Branch (11373:21): [True: 193, False: 775]
  ------------------
11374|       |				/*
11375|       |				 * Backup, left and right edges were ok to
11376|       |				 * merge.
11377|       |				 */
11378|    193|				num_gap_blocks--;
11379|    193|				gap_descriptor--;
11380|    193|			}
11381|   584k|			if (selector->num_entries == 0)
  ------------------
  |  Branch (11381:8): [True: 577k, False: 6.67k]
  ------------------
11382|   577k|				mergeable = 0;
11383|  6.67k|			else {
11384|  13.8k|				for (j = 0; j < selector->num_entries; j++) {
  ------------------
  |  Branch (11384:17): [True: 7.18k, False: 6.67k]
  ------------------
11385|  7.18k|					if (mergeable && selector->right_edge) {
  ------------------
  |  Branch (11385:10): [True: 347, False: 6.83k]
  |  Branch (11385:23): [True: 193, False: 154]
  ------------------
11386|       |						/*
11387|       |						 * do a merge by NOT setting
11388|       |						 * the left side
11389|       |						 */
11390|    193|						mergeable = 0;
11391|  6.99k|					} else {
11392|       |						/*
11393|       |						 * no merge, set the left
11394|       |						 * side
11395|       |						 */
11396|  6.99k|						mergeable = 0;
11397|  6.99k|						gap_descriptor->start = htons((selector->gaps[j].start + offset));
11398|  6.99k|					}
11399|  7.18k|					gap_descriptor->end = htons((selector->gaps[j].end + offset));
11400|  7.18k|					num_gap_blocks++;
11401|  7.18k|					gap_descriptor++;
11402|  7.18k|					if (((caddr_t)gap_descriptor + sizeof(struct sctp_gap_ack_block)) > limit) {
  ------------------
  |  Branch (11402:10): [True: 0, False: 7.18k]
  ------------------
11403|       |						/* no more room */
11404|      0|						limit_reached = 1;
11405|      0|						break;
11406|      0|					}
11407|  7.18k|				}
11408|  6.67k|				if (selector->left_edge) {
  ------------------
  |  Branch (11408:9): [True: 1.34k, False: 5.33k]
  ------------------
11409|  1.34k|					mergeable = 1;
11410|  1.34k|				}
11411|  6.67k|			}
11412|   584k|			if (limit_reached) {
  ------------------
  |  Branch (11412:8): [True: 0, False: 584k]
  ------------------
11413|       |				/* Reached the limit stop */
11414|      0|				break;
11415|      0|			}
11416|   584k|			offset += 8;
11417|   584k|		}
11418|  2.72k|	}
11419|  12.1k|	if ((type == SCTP_NR_SELECTIVE_ACK) &&
  ------------------
  |  |  475|  12.1k|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
  |  Branch (11419:6): [True: 5.93k, False: 6.22k]
  ------------------
11420|  12.1k|	    (limit_reached == 0)) {
  ------------------
  |  Branch (11420:6): [True: 5.93k, False: 0]
  ------------------
11421|  5.93k|		mergeable = 0;
11422|       |
11423|  5.93k|		if (asoc->highest_tsn_inside_nr_map > asoc->mapping_array_base_tsn) {
  ------------------
  |  Branch (11423:7): [True: 741, False: 5.18k]
  ------------------
11424|    741|			siz = (((asoc->highest_tsn_inside_nr_map - asoc->mapping_array_base_tsn) + 1) + 7) / 8;
11425|  5.18k|		} else {
11426|  5.18k|			siz = (((MAX_TSN - asoc->mapping_array_base_tsn) + 1) + asoc->highest_tsn_inside_nr_map + 7) / 8;
  ------------------
  |  |  310|  5.18k|#define MAX_TSN	0xffffffff
  ------------------
11427|  5.18k|		}
11428|       |
11429|  5.93k|		if (SCTP_TSN_GT(asoc->mapping_array_base_tsn, asoc->cumulative_tsn)) {
  ------------------
  |  |  889|  5.93k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  5.93k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 1.26k, False: 4.66k]
  |  |  |  |  |  Branch (883:43): [True: 526, False: 741]
  |  |  |  |  ------------------
  |  |  |  |  884|  5.93k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 4.66k, False: 744]
  |  |  |  |  |  Branch (884:43): [True: 4.66k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11430|  5.18k|			offset = 1;
11431|  5.18k|		} else {
11432|    744|			offset = asoc->mapping_array_base_tsn - asoc->cumulative_tsn;
11433|    744|		}
11434|  5.93k|		if (SCTP_TSN_GT(asoc->highest_tsn_inside_nr_map, asoc->cumulative_tsn)) {
  ------------------
  |  |  889|  5.93k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  5.93k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 526, False: 5.40k]
  |  |  |  |  |  Branch (883:43): [True: 526, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|  5.93k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 5.40k]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11435|       |			/* we have a gap .. maybe */
11436|    526|			for (i = 0; i < siz; i++) {
  ------------------
  |  Branch (11436:16): [True: 0, False: 526]
  ------------------
11437|      0|				tsn_map = asoc->nr_mapping_array[i];
11438|      0|				if (i == 0) {
  ------------------
  |  Branch (11438:9): [True: 0, False: 0]
  ------------------
11439|       |					/*
11440|       |					 * Clear all bits corresponding to TSNs
11441|       |					 * smaller or equal to the cumulative TSN.
11442|       |					 */
11443|      0|					tsn_map &= (~0U << (1 - offset));
11444|      0|				}
11445|      0|				selector = &sack_array[tsn_map];
11446|      0|				if (mergeable && selector->right_edge) {
  ------------------
  |  Branch (11446:9): [True: 0, False: 0]
  |  Branch (11446:22): [True: 0, False: 0]
  ------------------
11447|       |					/*
11448|       |					* Backup, left and right edges were ok to
11449|       |					* merge.
11450|       |					*/
11451|      0|					num_nr_gap_blocks--;
11452|      0|					gap_descriptor--;
11453|      0|				}
11454|      0|				if (selector->num_entries == 0)
  ------------------
  |  Branch (11454:9): [True: 0, False: 0]
  ------------------
11455|      0|					mergeable = 0;
11456|      0|				else {
11457|      0|					for (j = 0; j < selector->num_entries; j++) {
  ------------------
  |  Branch (11457:18): [True: 0, False: 0]
  ------------------
11458|      0|						if (mergeable && selector->right_edge) {
  ------------------
  |  Branch (11458:11): [True: 0, False: 0]
  |  Branch (11458:24): [True: 0, False: 0]
  ------------------
11459|       |							/*
11460|       |							* do a merge by NOT setting
11461|       |							* the left side
11462|       |							*/
11463|      0|							mergeable = 0;
11464|      0|						} else {
11465|       |							/*
11466|       |							* no merge, set the left
11467|       |							* side
11468|       |							*/
11469|      0|							mergeable = 0;
11470|      0|							gap_descriptor->start = htons((selector->gaps[j].start + offset));
11471|      0|						}
11472|      0|						gap_descriptor->end = htons((selector->gaps[j].end + offset));
11473|      0|						num_nr_gap_blocks++;
11474|      0|						gap_descriptor++;
11475|      0|						if (((caddr_t)gap_descriptor + sizeof(struct sctp_gap_ack_block)) > limit) {
  ------------------
  |  Branch (11475:11): [True: 0, False: 0]
  ------------------
11476|       |							/* no more room */
11477|      0|							limit_reached = 1;
11478|      0|							break;
11479|      0|						}
11480|      0|					}
11481|      0|					if (selector->left_edge) {
  ------------------
  |  Branch (11481:10): [True: 0, False: 0]
  ------------------
11482|      0|						mergeable = 1;
11483|      0|					}
11484|      0|				}
11485|      0|				if (limit_reached) {
  ------------------
  |  Branch (11485:9): [True: 0, False: 0]
  ------------------
11486|       |					/* Reached the limit stop */
11487|      0|					break;
11488|      0|				}
11489|      0|				offset += 8;
11490|      0|			}
11491|    526|		}
11492|  5.93k|	}
11493|       |	/* now we must add any dups we are going to report. */
11494|  12.1k|	if ((limit_reached == 0) && (asoc->numduptsns)) {
  ------------------
  |  Branch (11494:6): [True: 12.1k, False: 0]
  |  Branch (11494:30): [True: 1.35k, False: 10.8k]
  ------------------
11495|  1.35k|		dup = (uint32_t *) gap_descriptor;
11496|  3.75k|		for (i = 0; i < asoc->numduptsns; i++) {
  ------------------
  |  Branch (11496:15): [True: 2.40k, False: 1.35k]
  ------------------
11497|  2.40k|			*dup = htonl(asoc->dup_tsns[i]);
11498|  2.40k|			dup++;
11499|  2.40k|			num_dups++;
11500|  2.40k|			if (((caddr_t)dup + sizeof(uint32_t)) > limit) {
  ------------------
  |  Branch (11500:8): [True: 0, False: 2.40k]
  ------------------
11501|       |				/* no more room */
11502|      0|				break;
11503|      0|			}
11504|  2.40k|		}
11505|  1.35k|		asoc->numduptsns = 0;
11506|  1.35k|	}
11507|       |	/*
11508|       |	 * now that the chunk is prepared queue it to the control chunk
11509|       |	 * queue.
11510|       |	 */
11511|  12.1k|	if (type == SCTP_SELECTIVE_ACK) {
  ------------------
  |  |  460|  12.1k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (11511:6): [True: 6.22k, False: 5.93k]
  ------------------
11512|  6.22k|		a_chk->send_size = (uint16_t)(sizeof(struct sctp_sack_chunk) +
11513|  6.22k|		                              (num_gap_blocks + num_nr_gap_blocks) * sizeof(struct sctp_gap_ack_block) +
11514|  6.22k|		                              num_dups * sizeof(int32_t));
11515|  6.22k|		SCTP_BUF_LEN(a_chk->data) = a_chk->send_size;
  ------------------
  |  |  795|  6.22k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  6.22k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
11516|  6.22k|		sack->sack.cum_tsn_ack = htonl(asoc->cumulative_tsn);
11517|  6.22k|		sack->sack.a_rwnd = htonl(asoc->my_rwnd);
11518|  6.22k|		sack->sack.num_gap_ack_blks = htons(num_gap_blocks);
11519|  6.22k|		sack->sack.num_dup_tsns = htons(num_dups);
11520|  6.22k|		sack->ch.chunk_type = type;
11521|  6.22k|		sack->ch.chunk_flags = flags;
11522|  6.22k|		sack->ch.chunk_length = htons(a_chk->send_size);
11523|  6.22k|	} else {
11524|  5.93k|		a_chk->send_size = (uint16_t)(sizeof(struct sctp_nr_sack_chunk) +
11525|  5.93k|		                              (num_gap_blocks + num_nr_gap_blocks) * sizeof(struct sctp_gap_ack_block) +
11526|  5.93k|		                              num_dups * sizeof(int32_t));
11527|  5.93k|		SCTP_BUF_LEN(a_chk->data) = a_chk->send_size;
  ------------------
  |  |  795|  5.93k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  5.93k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
11528|  5.93k|		nr_sack->nr_sack.cum_tsn_ack = htonl(asoc->cumulative_tsn);
11529|  5.93k|		nr_sack->nr_sack.a_rwnd = htonl(asoc->my_rwnd);
11530|  5.93k|		nr_sack->nr_sack.num_gap_ack_blks = htons(num_gap_blocks);
11531|  5.93k|		nr_sack->nr_sack.num_nr_gap_ack_blks = htons(num_nr_gap_blocks);
11532|  5.93k|		nr_sack->nr_sack.num_dup_tsns = htons(num_dups);
11533|  5.93k|		nr_sack->nr_sack.reserved = 0;
11534|  5.93k|		nr_sack->ch.chunk_type = type;
11535|  5.93k|		nr_sack->ch.chunk_flags = flags;
11536|  5.93k|		nr_sack->ch.chunk_length = htons(a_chk->send_size);
11537|  5.93k|	}
11538|  12.1k|	TAILQ_INSERT_TAIL(&asoc->control_send_queue, a_chk, sctp_next);
11539|  12.1k|	asoc->my_last_reported_rwnd = asoc->my_rwnd;
11540|  12.1k|	asoc->ctrl_queue_cnt++;
11541|  12.1k|	asoc->send_sack = 0;
11542|  12.1k|	SCTP_STAT_INCR(sctps_sendsacks);
  ------------------
  |  | 1112|  12.1k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  12.1k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  12.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11543|  12.1k|	return;
11544|  12.1k|}
sctp_send_abort_tcb:
11548|  8.84k|{
11549|  8.84k|	struct mbuf *m_abort, *m, *m_last;
11550|  8.84k|	struct mbuf *m_out, *m_end = NULL;
11551|  8.84k|	struct sctp_abort_chunk *abort;
11552|  8.84k|	struct sctp_auth_chunk *auth = NULL;
11553|  8.84k|	struct sctp_nets *net;
11554|  8.84k|	uint32_t vtag;
11555|  8.84k|	uint32_t auth_offset = 0;
11556|  8.84k|	int error;
11557|  8.84k|	uint16_t cause_len, chunk_len, padding_len;
11558|  8.84k|	bool use_zero_crc;
11559|       |
11560|       |#if defined(__APPLE__) && !defined(__Userspace__)
11561|       |	if (so_locked) {
11562|       |		sctp_lock_assert(SCTP_INP_SO(stcb->sctp_ep));
11563|       |	} else {
11564|       |		sctp_unlock_assert(SCTP_INP_SO(stcb->sctp_ep));
11565|       |	}
11566|       |#endif
11567|  8.84k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  8.84k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  8.84k|	do {                         \
  |  |  |  |  113|  8.84k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 8.84k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  8.84k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11568|       |	/*-
11569|       |	 * Add an AUTH chunk, if chunk requires it and save the offset into
11570|       |	 * the chain for AUTH
11571|       |	 */
11572|  8.84k|	if (sctp_auth_is_required_chunk(SCTP_ABORT_ASSOCIATION,
  ------------------
  |  |  100|  8.84k|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:50): [True: 13, False: 8.83k]
  |  |  |  Branch (100:51): [True: 711, False: 8.13k]
  |  |  ------------------
  ------------------
11573|  8.84k|	                                stcb->asoc.peer_auth_chunks)) {
11574|     13|		m_out = sctp_add_auth_chunk(NULL, &m_end, &auth, &auth_offset,
11575|     13|					    stcb, SCTP_ABORT_ASSOCIATION);
  ------------------
  |  |  463|     13|#define SCTP_ABORT_ASSOCIATION	0x06
  ------------------
11576|     13|		SCTP_STAT_INCR_COUNTER64(sctps_outcontrolchunks);
  ------------------
  |  | 1128|     13|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|     13|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|     13|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|     13|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11577|  8.83k|	} else {
11578|  8.83k|		m_out = NULL;
11579|  8.83k|	}
11580|  8.84k|	switch (stcb->asoc.snd_edmid) {
11581|      0|	case SCTP_EDMID_LOWER_LAYER_DTLS:
  ------------------
  |  |  810|      0|#define SCTP_EDMID_LOWER_LAYER_DTLS 1
  ------------------
  |  Branch (11581:2): [True: 0, False: 8.84k]
  ------------------
11582|      0|		use_zero_crc = true;
11583|      0|		break;
11584|  8.84k|	default:
  ------------------
  |  Branch (11584:2): [True: 8.84k, False: 0]
  ------------------
11585|  8.84k|		use_zero_crc = false;
11586|  8.84k|		break;
11587|  8.84k|	}
11588|  8.84k|	m_abort = sctp_get_mbuf_for_msg(sizeof(struct sctp_abort_chunk), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   60|  8.84k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_abort = sctp_get_mbuf_for_msg(sizeof(struct sctp_abort_chunk), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |  288|  8.84k|#define	MT_HEADER	MT_DATA	/* packet header, use M_PKTHDR instead */
  |  |  ------------------
  |  |  |  |  287|  8.84k|#define	MT_DATA		1	/* dynamic (data) allocation */
  |  |  ------------------
  ------------------
11589|  8.84k|	if (m_abort == NULL) {
  ------------------
  |  Branch (11589:6): [True: 0, False: 8.84k]
  ------------------
11590|      0|		if (m_out) {
  ------------------
  |  Branch (11590:7): [True: 0, False: 0]
  ------------------
11591|      0|			sctp_m_freem(m_out);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
11592|      0|		}
11593|      0|		if (operr) {
  ------------------
  |  Branch (11593:7): [True: 0, False: 0]
  ------------------
11594|      0|			sctp_m_freem(operr);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
11595|      0|		}
11596|      0|		return;
11597|      0|	}
11598|       |	/* link in any error */
11599|  8.84k|	SCTP_BUF_NEXT(m_abort) = operr;
  ------------------
  |  |  796|  8.84k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  8.84k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
11600|  8.84k|	cause_len = 0;
11601|  8.84k|	m_last = NULL;
11602|  17.6k|	for (m = operr; m; m = SCTP_BUF_NEXT(m)) {
  ------------------
  |  |  796|  8.84k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  8.84k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (11602:18): [True: 8.84k, False: 8.84k]
  ------------------
11603|  8.84k|		cause_len += (uint16_t)SCTP_BUF_LEN(m);
  ------------------
  |  |  795|  8.84k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  8.84k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
11604|  8.84k|		if (SCTP_BUF_NEXT(m) == NULL) {
  ------------------
  |  |  796|  8.84k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  8.84k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (11604:7): [True: 8.84k, False: 0]
  ------------------
11605|  8.84k|			m_last = m;
11606|  8.84k|		}
11607|  8.84k|	}
11608|  8.84k|	SCTP_BUF_LEN(m_abort) = sizeof(struct sctp_abort_chunk);
  ------------------
  |  |  795|  8.84k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  8.84k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
11609|  8.84k|	chunk_len = (uint16_t)sizeof(struct sctp_abort_chunk) + cause_len;
11610|  8.84k|	padding_len = SCTP_SIZE32(chunk_len) - chunk_len;
  ------------------
  |  |  383|  8.84k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
11611|  8.84k|	if (m_out == NULL) {
  ------------------
  |  Branch (11611:6): [True: 8.83k, False: 9]
  ------------------
11612|       |		/* NO Auth chunk prepended, so reserve space in front */
11613|  8.83k|		SCTP_BUF_RESV_UF(m_abort, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|  8.83k|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|  8.83k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11614|  8.83k|		m_out = m_abort;
11615|  8.83k|	} else {
11616|       |		/* Put AUTH chunk at the front of the chain */
11617|      9|		SCTP_BUF_NEXT(m_end) = m_abort;
  ------------------
  |  |  796|      9|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      9|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
11618|      9|	}
11619|  8.84k|	if (stcb->asoc.alternate) {
  ------------------
  |  Branch (11619:6): [True: 31, False: 8.81k]
  ------------------
11620|     31|		net = stcb->asoc.alternate;
11621|  8.81k|	} else {
11622|  8.81k|		net = stcb->asoc.primary_destination;
11623|  8.81k|	}
11624|       |	/* Fill in the ABORT chunk header. */
11625|  8.84k|	abort = mtod(m_abort, struct sctp_abort_chunk *);
  ------------------
  |  |   96|  8.84k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  8.84k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11626|  8.84k|	abort->ch.chunk_type = SCTP_ABORT_ASSOCIATION;
  ------------------
  |  |  463|  8.84k|#define SCTP_ABORT_ASSOCIATION	0x06
  ------------------
11627|  8.84k|	if (stcb->asoc.peer_vtag == 0) {
  ------------------
  |  Branch (11627:6): [True: 84, False: 8.76k]
  ------------------
11628|       |		/* This happens iff the assoc is in COOKIE-WAIT state. */
11629|     84|		vtag = stcb->asoc.my_vtag;
11630|     84|		abort->ch.chunk_flags = SCTP_HAD_NO_TCB;
  ------------------
  |  |  496|     84|#define SCTP_HAD_NO_TCB		0x01
  ------------------
11631|  8.76k|	} else {
11632|  8.76k|		vtag = stcb->asoc.peer_vtag;
11633|  8.76k|		abort->ch.chunk_flags = 0;
11634|  8.76k|	}
11635|  8.84k|	abort->ch.chunk_length = htons(chunk_len);
11636|       |	/* Add padding, if necessary. */
11637|  8.84k|	if (padding_len > 0) {
  ------------------
  |  Branch (11637:6): [True: 872, False: 7.97k]
  ------------------
11638|    872|		if ((m_last == NULL) ||
  ------------------
  |  Branch (11638:7): [True: 0, False: 872]
  ------------------
11639|    872|		    (sctp_add_pad_tombuf(m_last, padding_len) == NULL)) {
  ------------------
  |  Branch (11639:7): [True: 0, False: 872]
  ------------------
11640|      0|			sctp_m_freem(m_out);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
11641|      0|			return;
11642|      0|		}
11643|    872|	}
11644|  8.84k|	if ((error = sctp_lowlevel_chunk_output(stcb->sctp_ep, stcb, net,
  ------------------
  |  Branch (11644:6): [True: 142, False: 8.70k]
  ------------------
11645|  8.84k|	                                        (struct sockaddr *)&net->ro._l_addr,
11646|  8.84k|	                                        m_out, auth_offset, auth, stcb->asoc.authinfo.active_keyid, 1, 0, 0,
11647|  8.84k|	                                        stcb->sctp_ep->sctp_lport, stcb->rport, htonl(vtag),
  ------------------
  |  |  426|  8.84k|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|  8.84k|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|  8.84k|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11648|  8.84k|	                                        stcb->asoc.primary_destination->port, NULL,
11649|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
11650|       |	                                        0, 0,
11651|       |#endif
11652|  8.84k|	                                        use_zero_crc,
11653|  8.84k|	                                        so_locked))) {
11654|    142|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error);
11655|    142|		if (error == ENOBUFS) {
  ------------------
  |  Branch (11655:7): [True: 0, False: 142]
  ------------------
11656|      0|			stcb->asoc.ifp_had_enobuf = 1;
11657|      0|			SCTP_STAT_INCR(sctps_lowlevelerr);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11658|      0|		}
11659|  8.70k|	} else {
11660|  8.70k|		stcb->asoc.ifp_had_enobuf = 0;
11661|  8.70k|	}
11662|  8.84k|	SCTP_STAT_INCR_COUNTER64(sctps_outcontrolchunks);
  ------------------
  |  | 1128|  8.84k|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  8.84k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  8.84k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  8.84k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11663|  8.84k|}
sctp_send_shutdown_complete:
11669|      6|{
11670|       |	/* formulate and SEND a SHUTDOWN-COMPLETE */
11671|      6|	struct mbuf *m_shutdown_comp;
11672|      6|	struct sctp_shutdown_complete_chunk *shutdown_complete;
11673|      6|	uint32_t vtag;
11674|      6|	int error;
11675|      6|	uint8_t flags;
11676|      6|	bool use_zero_crc;
11677|       |
11678|      6|	m_shutdown_comp = sctp_get_mbuf_for_msg(sizeof(struct sctp_chunkhdr), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   60|      6|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_shutdown_comp = sctp_get_mbuf_for_msg(sizeof(struct sctp_chunkhdr), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |  288|      6|#define	MT_HEADER	MT_DATA	/* packet header, use M_PKTHDR instead */
  |  |  ------------------
  |  |  |  |  287|      6|#define	MT_DATA		1	/* dynamic (data) allocation */
  |  |  ------------------
  ------------------
11679|      6|	if (m_shutdown_comp == NULL) {
  ------------------
  |  Branch (11679:6): [True: 0, False: 6]
  ------------------
11680|       |		/* no mbuf's */
11681|      0|		return;
11682|      0|	}
11683|      6|	if (reflect_vtag) {
  ------------------
  |  Branch (11683:6): [True: 6, False: 0]
  ------------------
11684|      6|		flags = SCTP_HAD_NO_TCB;
  ------------------
  |  |  496|      6|#define SCTP_HAD_NO_TCB		0x01
  ------------------
11685|      6|		vtag = stcb->asoc.my_vtag;
11686|      6|	} else {
11687|      0|		flags = 0;
11688|      0|		vtag = stcb->asoc.peer_vtag;
11689|      0|	}
11690|      6|	switch (stcb->asoc.snd_edmid) {
11691|      0|	case SCTP_EDMID_LOWER_LAYER_DTLS:
  ------------------
  |  |  810|      0|#define SCTP_EDMID_LOWER_LAYER_DTLS 1
  ------------------
  |  Branch (11691:2): [True: 0, False: 6]
  ------------------
11692|      0|		use_zero_crc = true;
11693|      0|		break;
11694|      6|	default:
  ------------------
  |  Branch (11694:2): [True: 6, False: 0]
  ------------------
11695|      6|		use_zero_crc = false;
11696|      6|		break;
11697|      6|	}
11698|      6|	shutdown_complete = mtod(m_shutdown_comp, struct sctp_shutdown_complete_chunk *);
  ------------------
  |  |   96|      6|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      6|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11699|      6|	shutdown_complete->ch.chunk_type = SCTP_SHUTDOWN_COMPLETE;
  ------------------
  |  |  471|      6|#define SCTP_SHUTDOWN_COMPLETE	0x0e
  ------------------
11700|      6|	shutdown_complete->ch.chunk_flags = flags;
11701|      6|	shutdown_complete->ch.chunk_length = htons(sizeof(struct sctp_shutdown_complete_chunk));
11702|      6|	SCTP_BUF_LEN(m_shutdown_comp) = sizeof(struct sctp_shutdown_complete_chunk);
  ------------------
  |  |  795|      6|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      6|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
11703|      6|	if ((error = sctp_lowlevel_chunk_output(stcb->sctp_ep, stcb, net,
  ------------------
  |  Branch (11703:6): [True: 0, False: 6]
  ------------------
11704|      6|	                                        (struct sockaddr *)&net->ro._l_addr,
11705|      6|	                                        m_shutdown_comp, 0, NULL, 0, 1, 0, 0,
11706|      6|	                                        stcb->sctp_ep->sctp_lport, stcb->rport,
  ------------------
  |  |  426|      6|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|      6|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|      6|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11707|      6|	                                        htonl(vtag),
11708|      6|	                                        net->port, NULL,
11709|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
11710|       |	                                        0, 0,
11711|       |#endif
11712|      6|	                                        use_zero_crc,
11713|      6|	                                        SCTP_SO_NOT_LOCKED))) {
  ------------------
  |  |  960|      6|#define SCTP_SO_NOT_LOCKED	0
  ------------------
11714|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error);
11715|      0|		if (error == ENOBUFS) {
  ------------------
  |  Branch (11715:7): [True: 0, False: 0]
  ------------------
11716|      0|			stcb->asoc.ifp_had_enobuf = 1;
11717|      0|			SCTP_STAT_INCR(sctps_lowlevelerr);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11718|      0|		}
11719|      6|	} else {
11720|      6|		stcb->asoc.ifp_had_enobuf = 0;
11721|      6|	}
11722|      6|	SCTP_STAT_INCR_COUNTER64(sctps_outcontrolchunks);
  ------------------
  |  | 1128|      6|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      6|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      6|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      6|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11723|      6|	return;
11724|      6|}
sctp_send_shutdown_complete2:
12127|      2|{
12128|      2|	sctp_send_resp_msg(src, dst, sh, 0, SCTP_SHUTDOWN_COMPLETE, NULL,
  ------------------
  |  |  471|      2|#define SCTP_SHUTDOWN_COMPLETE	0x0e
  ------------------
12129|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
12130|       |	                   mflowtype, mflowid, fibnum,
12131|       |#endif
12132|      2|	                   vrf_id, port);
12133|      2|}
sctp_send_hb:
12137|  49.1k|{
12138|  49.1k|	struct sctp_tmit_chunk *chk;
12139|  49.1k|	struct sctp_heartbeat_chunk *hb;
12140|  49.1k|	struct timeval now;
12141|       |
12142|  49.1k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  49.1k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  49.1k|	do {                         \
  |  |  |  |  113|  49.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 49.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  49.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12143|  49.1k|	if (net == NULL) {
  ------------------
  |  Branch (12143:6): [True: 0, False: 49.1k]
  ------------------
12144|      0|		return;
12145|      0|	}
12146|  49.1k|	(void)SCTP_GETTIME_TIMEVAL(&now);
  ------------------
  |  |  991|  49.1k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
12147|  49.1k|	switch (net->ro._l_addr.sa.sa_family) {
12148|      0|#ifdef INET
12149|  1.76k|	case AF_INET:
  ------------------
  |  Branch (12149:2): [True: 1.76k, False: 47.3k]
  ------------------
12150|  1.76k|		break;
12151|      0|#endif
12152|      0|#ifdef INET6
12153|  1.61k|	case AF_INET6:
  ------------------
  |  Branch (12153:2): [True: 1.61k, False: 47.5k]
  ------------------
12154|  1.61k|		break;
12155|      0|#endif
12156|      0|#if defined(__Userspace__)
12157|  45.7k|	case AF_CONN:
  ------------------
  |  | 1008|  45.7k|#define AF_CONN 123
  ------------------
  |  Branch (12157:2): [True: 45.7k, False: 3.37k]
  ------------------
12158|  45.7k|		break;
12159|      0|#endif
12160|      0|	default:
  ------------------
  |  Branch (12160:2): [True: 0, False: 49.1k]
  ------------------
12161|      0|		return;
12162|  49.1k|	}
12163|  49.1k|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|  49.1k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|  49.1k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|  48.5k|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|  48.5k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|  48.5k|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 48.5k, False: 0]
  |  |  ------------------
  |  |  173|  48.5k|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|  48.5k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  48.5k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|  48.5k|			(_chk)->whoTo = NULL; \
  |  |  175|  48.5k|			(_chk)->holds_key_ref = 0; \
  |  |  176|  48.5k|		} \
  |  |  177|  48.5k|	} else { \
  |  |  178|    584|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|    584|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|    584|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|    584|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|    584|		(_chk)->holds_key_ref = 0; \
  |  |  182|    584|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|    584|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|    584|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|    584|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|    584|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|    584|	} \
  |  |  185|  49.1k|}
  ------------------
12164|  49.1k|	if (chk == NULL) {
  ------------------
  |  Branch (12164:6): [True: 0, False: 49.1k]
  ------------------
12165|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT4, "Gak, can't get a chunk for hb\n");
12166|      0|		return;
12167|      0|	}
12168|       |
12169|  49.1k|	chk->copy_by_ref = 0;
12170|  49.1k|	chk->rec.chunk_id.id = SCTP_HEARTBEAT_REQUEST;
  ------------------
  |  |  461|  49.1k|#define SCTP_HEARTBEAT_REQUEST	0x04
  ------------------
12171|  49.1k|	chk->rec.chunk_id.can_take_data = 1;
12172|  49.1k|	chk->flags = 0;
12173|  49.1k|	chk->asoc = &stcb->asoc;
12174|  49.1k|	chk->send_size = sizeof(struct sctp_heartbeat_chunk);
12175|       |
12176|  49.1k|	chk->data = sctp_get_mbuf_for_msg(chk->send_size, 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   60|  49.1k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(chk->send_size, 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |  288|  49.1k|#define	MT_HEADER	MT_DATA	/* packet header, use M_PKTHDR instead */
  |  |  ------------------
  |  |  |  |  287|  49.1k|#define	MT_DATA		1	/* dynamic (data) allocation */
  |  |  ------------------
  ------------------
12177|  49.1k|	if (chk->data == NULL) {
  ------------------
  |  Branch (12177:6): [True: 0, False: 49.1k]
  ------------------
12178|      0|		sctp_free_a_chunk(stcb, chk, so_locked);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
12179|      0|		return;
12180|      0|	}
12181|  49.1k|	SCTP_BUF_RESV_UF(chk->data, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|  49.1k|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|  49.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12182|  49.1k|	SCTP_BUF_LEN(chk->data) = chk->send_size;
  ------------------
  |  |  795|  49.1k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  49.1k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
12183|  49.1k|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|  49.1k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
12184|  49.1k|	chk->snd_count = 0;
12185|  49.1k|	chk->whoTo = net;
12186|  49.1k|	atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|  49.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
12187|       |	/* Now we have a mbuf that we can fill in with the details */
12188|  49.1k|	hb = mtod(chk->data, struct sctp_heartbeat_chunk *);
  ------------------
  |  |   96|  49.1k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  49.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12189|  49.1k|	memset(hb, 0, sizeof(struct sctp_heartbeat_chunk));
12190|       |	/* fill out chunk header */
12191|  49.1k|	hb->ch.chunk_type = SCTP_HEARTBEAT_REQUEST;
  ------------------
  |  |  461|  49.1k|#define SCTP_HEARTBEAT_REQUEST	0x04
  ------------------
12192|  49.1k|	hb->ch.chunk_flags = 0;
12193|  49.1k|	hb->ch.chunk_length = htons(chk->send_size);
12194|       |	/* Fill out hb parameter */
12195|  49.1k|	hb->heartbeat.hb_info.ph.param_type = htons(SCTP_HEARTBEAT_INFO);
12196|  49.1k|	hb->heartbeat.hb_info.ph.param_length = htons(sizeof(struct sctp_heartbeat_info_param));
12197|  49.1k|	hb->heartbeat.hb_info.time_value_1 = now.tv_sec;
12198|  49.1k|	hb->heartbeat.hb_info.time_value_2 = now.tv_usec;
12199|       |	/* Did our user request this one, put it in */
12200|  49.1k|	hb->heartbeat.hb_info.addr_family = (uint8_t)net->ro._l_addr.sa.sa_family;
12201|       |#ifdef HAVE_SA_LEN
12202|       |	hb->heartbeat.hb_info.addr_len = net->ro._l_addr.sa.sa_len;
12203|       |#else
12204|  49.1k|	switch (net->ro._l_addr.sa.sa_family) {
12205|      0|#ifdef INET
12206|  1.76k|	case AF_INET:
  ------------------
  |  Branch (12206:2): [True: 1.76k, False: 47.3k]
  ------------------
12207|  1.76k|		hb->heartbeat.hb_info.addr_len = sizeof(struct sockaddr_in);
12208|  1.76k|		break;
12209|      0|#endif
12210|      0|#ifdef INET6
12211|  1.61k|	case AF_INET6:
  ------------------
  |  Branch (12211:2): [True: 1.61k, False: 47.5k]
  ------------------
12212|  1.61k|		hb->heartbeat.hb_info.addr_len = sizeof(struct sockaddr_in6);
12213|  1.61k|		break;
12214|      0|#endif
12215|      0|#if defined(__Userspace__)
12216|  45.7k|	case AF_CONN:
  ------------------
  |  | 1008|  45.7k|#define AF_CONN 123
  ------------------
  |  Branch (12216:2): [True: 45.7k, False: 3.37k]
  ------------------
12217|  45.7k|		hb->heartbeat.hb_info.addr_len = sizeof(struct sockaddr_conn);
12218|  45.7k|		break;
12219|      0|#endif
12220|      0|	default:
  ------------------
  |  Branch (12220:2): [True: 0, False: 49.1k]
  ------------------
12221|      0|		hb->heartbeat.hb_info.addr_len = 0;
12222|      0|		break;
12223|  49.1k|	}
12224|  49.1k|#endif
12225|  49.1k|	if (net->dest_state & SCTP_ADDR_UNCONFIRMED) {
  ------------------
  |  |  487|  49.1k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (12225:6): [True: 2.77k, False: 46.3k]
  ------------------
12226|       |		/*
12227|       |		 * we only take from the entropy pool if the address is not
12228|       |		 * confirmed.
12229|       |		 */
12230|  2.77k|		net->heartbeat_random1 = hb->heartbeat.hb_info.random_value1 = sctp_select_initial_TSN(&stcb->sctp_ep->sctp_ep);
12231|  2.77k|		net->heartbeat_random2 = hb->heartbeat.hb_info.random_value2 = sctp_select_initial_TSN(&stcb->sctp_ep->sctp_ep);
12232|  46.3k|	} else {
12233|  46.3k|		net->heartbeat_random1 = hb->heartbeat.hb_info.random_value1 = 0;
12234|  46.3k|		net->heartbeat_random2 = hb->heartbeat.hb_info.random_value2 = 0;
12235|  46.3k|	}
12236|  49.1k|	switch (net->ro._l_addr.sa.sa_family) {
12237|      0|#ifdef INET
12238|  1.76k|	case AF_INET:
  ------------------
  |  Branch (12238:2): [True: 1.76k, False: 47.3k]
  ------------------
12239|  1.76k|		memcpy(hb->heartbeat.hb_info.address,
12240|  1.76k|		       &net->ro._l_addr.sin.sin_addr,
12241|  1.76k|		       sizeof(net->ro._l_addr.sin.sin_addr));
12242|  1.76k|		break;
12243|      0|#endif
12244|      0|#ifdef INET6
12245|  1.61k|	case AF_INET6:
  ------------------
  |  Branch (12245:2): [True: 1.61k, False: 47.5k]
  ------------------
12246|  1.61k|		memcpy(hb->heartbeat.hb_info.address,
12247|  1.61k|		       &net->ro._l_addr.sin6.sin6_addr,
12248|  1.61k|		       sizeof(net->ro._l_addr.sin6.sin6_addr));
12249|  1.61k|		break;
12250|      0|#endif
12251|      0|#if defined(__Userspace__)
12252|  45.7k|	case AF_CONN:
  ------------------
  |  | 1008|  45.7k|#define AF_CONN 123
  ------------------
  |  Branch (12252:2): [True: 45.7k, False: 3.37k]
  ------------------
12253|  45.7k|		memcpy(hb->heartbeat.hb_info.address,
12254|  45.7k|		       &net->ro._l_addr.sconn.sconn_addr,
12255|  45.7k|		       sizeof(net->ro._l_addr.sconn.sconn_addr));
12256|  45.7k|		break;
12257|      0|#endif
12258|      0|	default:
  ------------------
  |  Branch (12258:2): [True: 0, False: 49.1k]
  ------------------
12259|      0|		if (chk->data) {
  ------------------
  |  Branch (12259:7): [True: 0, False: 0]
  ------------------
12260|      0|			sctp_m_freem(chk->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
12261|      0|			chk->data = NULL;
12262|      0|		}
12263|      0|		sctp_free_a_chunk(stcb, chk, so_locked);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
12264|      0|		return;
12265|      0|		break;
12266|  49.1k|	}
12267|  49.1k|	net->hb_responded = 0;
12268|  49.1k|	TAILQ_INSERT_TAIL(&stcb->asoc.control_send_queue, chk, sctp_next);
12269|  49.1k|	stcb->asoc.ctrl_queue_cnt++;
12270|  49.1k|	SCTP_STAT_INCR(sctps_sendheartbeat);
  ------------------
  |  | 1112|  49.1k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  49.1k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  49.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12271|  49.1k|	return;
12272|  49.1k|}
sctp_send_packet_dropped:
12341|     26|{
12342|     26|	struct sctp_association *asoc;
12343|     26|	struct sctp_pktdrop_chunk *drp;
12344|     26|	struct sctp_tmit_chunk *chk;
12345|     26|	uint8_t *datap;
12346|     26|	int was_trunc = 0;
12347|     26|	int fullsz = 0;
12348|     26|	long spc;
12349|     26|	int offset;
12350|     26|	struct sctp_chunkhdr *ch, chunk_buf;
12351|     26|	unsigned int chk_length;
12352|       |
12353|     26|        if (!stcb) {
  ------------------
  |  Branch (12353:13): [True: 0, False: 26]
  ------------------
12354|      0|            return;
12355|      0|        }
12356|     26|	asoc = &stcb->asoc;
12357|     26|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|     26|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     26|	do {                         \
  |  |  |  |  113|     26|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 26]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     26|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12358|     26|	if (asoc->pktdrop_supported == 0) {
  ------------------
  |  Branch (12358:6): [True: 26, False: 0]
  ------------------
12359|       |		/*-
12360|       |		 * peer must declare support before I send one.
12361|       |		 */
12362|     26|		return;
12363|     26|	}
12364|      0|	if (stcb->sctp_socket == NULL) {
  ------------------
  |  Branch (12364:6): [True: 0, False: 0]
  ------------------
12365|      0|		return;
12366|      0|	}
12367|      0|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|      0|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|      0|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|      0|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|      0|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|      0|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  173|      0|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|      0|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|      0|			(_chk)->whoTo = NULL; \
  |  |  175|      0|			(_chk)->holds_key_ref = 0; \
  |  |  176|      0|		} \
  |  |  177|      0|	} else { \
  |  |  178|      0|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|      0|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|      0|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|      0|		(_chk)->holds_key_ref = 0; \
  |  |  182|      0|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|      0|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|      0|	} \
  |  |  185|      0|}
  ------------------
12368|      0|	if (chk == NULL) {
  ------------------
  |  Branch (12368:6): [True: 0, False: 0]
  ------------------
12369|      0|		return;
12370|      0|	}
12371|      0|	chk->copy_by_ref = 0;
12372|      0|	chk->rec.chunk_id.id = SCTP_PACKET_DROPPED;
  ------------------
  |  |  482|      0|#define SCTP_PACKET_DROPPED	0x81
  ------------------
12373|      0|	chk->rec.chunk_id.can_take_data = 1;
12374|      0|	chk->flags = 0;
12375|      0|	len -= iphlen;
12376|      0|	chk->send_size = len;
12377|       |	/* Validate that we do not have an ABORT in here. */
12378|      0|	offset = iphlen + sizeof(struct sctphdr);
12379|      0|	ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, offset,
12380|      0|						   sizeof(*ch), (uint8_t *) & chunk_buf);
12381|      0|	while (ch != NULL) {
  ------------------
  |  Branch (12381:9): [True: 0, False: 0]
  ------------------
12382|      0|		chk_length = ntohs(ch->chunk_length);
12383|      0|		if (chk_length < sizeof(*ch)) {
  ------------------
  |  Branch (12383:7): [True: 0, False: 0]
  ------------------
12384|       |			/* break to abort land */
12385|      0|			break;
12386|      0|		}
12387|      0|		switch (ch->chunk_type) {
12388|      0|		case SCTP_PACKET_DROPPED:
  ------------------
  |  |  482|      0|#define SCTP_PACKET_DROPPED	0x81
  ------------------
  |  Branch (12388:3): [True: 0, False: 0]
  ------------------
12389|      0|		case SCTP_ABORT_ASSOCIATION:
  ------------------
  |  |  463|      0|#define SCTP_ABORT_ASSOCIATION	0x06
  ------------------
  |  Branch (12389:3): [True: 0, False: 0]
  ------------------
12390|      0|		case SCTP_INITIATION_ACK:
  ------------------
  |  |  459|      0|#define SCTP_INITIATION_ACK	0x02
  ------------------
  |  Branch (12390:3): [True: 0, False: 0]
  ------------------
12391|       |			/**
12392|       |			 * We don't respond with an PKT-DROP to an ABORT
12393|       |			 * or PKT-DROP. We also do not respond to an
12394|       |			 * INIT-ACK, because we can't know if the initiation
12395|       |			 * tag is correct or not.
12396|       |			 */
12397|      0|			sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
12398|      0|			return;
12399|      0|		default:
  ------------------
  |  Branch (12399:3): [True: 0, False: 0]
  ------------------
12400|      0|			break;
12401|      0|		}
12402|      0|		offset += SCTP_SIZE32(chk_length);
  ------------------
  |  |  383|      0|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12403|      0|		ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, offset,
12404|      0|		    sizeof(*ch), (uint8_t *) & chunk_buf);
12405|      0|	}
12406|       |
12407|      0|	if ((len + SCTP_MAX_OVERHEAD + sizeof(struct sctp_pktdrop_chunk)) >
  ------------------
  |  |  554|      0|#define SCTP_MAX_OVERHEAD (sizeof(struct sctp_data_chunk) + \
  |  |  555|      0|                           sizeof(struct sctphdr) + \
  |  |  556|      0|                           sizeof(struct sctp_ecne_chunk) + \
  |  |  557|      0|                           sizeof(struct sctp_sack_chunk) + \
  |  |  558|      0|                           sizeof(struct ip6_hdr))
  ------------------
  |  Branch (12407:6): [True: 0, False: 0]
  ------------------
12408|      0|	    min(stcb->asoc.smallest_mtu, MCLBYTES)) {
  ------------------
  |  |   66|      0|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 0]
  |  |  ------------------
  ------------------
12409|       |		/* only send 1 mtu worth, trim off the
12410|       |		 * excess on the end.
12411|       |		 */
12412|      0|		fullsz = len;
12413|      0|		len = min(stcb->asoc.smallest_mtu, MCLBYTES) - SCTP_MAX_OVERHEAD;
  ------------------
  |  |   66|      0|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 0]
  |  |  ------------------
  ------------------
              		len = min(stcb->asoc.smallest_mtu, MCLBYTES) - SCTP_MAX_OVERHEAD;
  ------------------
  |  |  554|      0|#define SCTP_MAX_OVERHEAD (sizeof(struct sctp_data_chunk) + \
  |  |  555|      0|                           sizeof(struct sctphdr) + \
  |  |  556|      0|                           sizeof(struct sctp_ecne_chunk) + \
  |  |  557|      0|                           sizeof(struct sctp_sack_chunk) + \
  |  |  558|      0|                           sizeof(struct ip6_hdr))
  ------------------
12414|      0|		was_trunc = 1;
12415|      0|	}
12416|      0|	chk->asoc = &stcb->asoc;
12417|      0|	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   51|      0|#define MCLBYTES 2048
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|      0|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
12418|      0|	if (chk->data == NULL) {
  ------------------
  |  Branch (12418:6): [True: 0, False: 0]
  ------------------
12419|      0|jump_out:
12420|      0|		sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
12421|      0|		return;
12422|      0|	}
12423|      0|	SCTP_BUF_RESV_UF(chk->data, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|      0|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12424|      0|	drp = mtod(chk->data, struct sctp_pktdrop_chunk *);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12425|      0|	if (drp == NULL) {
  ------------------
  |  Branch (12425:6): [True: 0, False: 0]
  ------------------
12426|      0|		sctp_m_freem(chk->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
12427|      0|		chk->data = NULL;
12428|      0|		goto jump_out;
12429|      0|	}
12430|      0|	chk->book_size = SCTP_SIZE32((chk->send_size + sizeof(struct sctp_pktdrop_chunk) +
  ------------------
  |  |  383|      0|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12431|      0|	    sizeof(struct sctphdr) + SCTP_MED_OVERHEAD));
12432|      0|	chk->book_size_scale = 0;
12433|      0|	if (was_trunc) {
  ------------------
  |  Branch (12433:6): [True: 0, False: 0]
  ------------------
12434|      0|		drp->ch.chunk_flags = SCTP_PACKET_TRUNCATED;
  ------------------
  |  |  501|      0|#define SCTP_PACKET_TRUNCATED	0x04
  ------------------
12435|      0|		drp->trunc_len = htons(fullsz);
12436|       |		/* Len is already adjusted to size minus overhead above
12437|       |		 * take out the pkt_drop chunk itself from it.
12438|       |		 */
12439|      0|		chk->send_size = (uint16_t)(len - sizeof(struct sctp_pktdrop_chunk));
12440|      0|		len = chk->send_size;
12441|      0|	} else {
12442|       |		/* no truncation needed */
12443|      0|		drp->ch.chunk_flags = 0;
12444|      0|		drp->trunc_len = htons(0);
12445|      0|	}
12446|      0|	if (bad_crc) {
  ------------------
  |  Branch (12446:6): [True: 0, False: 0]
  ------------------
12447|      0|		drp->ch.chunk_flags |= SCTP_BADCRC;
  ------------------
  |  |  500|      0|#define SCTP_BADCRC		0x02
  ------------------
12448|      0|	}
12449|      0|	chk->send_size += sizeof(struct sctp_pktdrop_chunk);
12450|      0|	SCTP_BUF_LEN(chk->data) = chk->send_size;
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
12451|      0|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|      0|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
12452|      0|	chk->snd_count = 0;
12453|      0|	if (net) {
  ------------------
  |  Branch (12453:6): [True: 0, False: 0]
  ------------------
12454|       |		/* we should hit here */
12455|      0|		chk->whoTo = net;
12456|      0|		atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
12457|      0|	} else {
12458|      0|		chk->whoTo = NULL;
12459|      0|	}
12460|      0|	drp->ch.chunk_type = SCTP_PACKET_DROPPED;
  ------------------
  |  |  482|      0|#define SCTP_PACKET_DROPPED	0x81
  ------------------
12461|      0|	drp->ch.chunk_length = htons(chk->send_size);
12462|      0|	spc = SCTP_SB_LIMIT_RCV(stcb->sctp_socket);
  ------------------
  |  |  977|      0|#define SCTP_SB_LIMIT_RCV(so) so->so_rcv.sb_hiwat
  ------------------
12463|      0|	if (spc < 0) {
  ------------------
  |  Branch (12463:6): [True: 0, False: 0]
  ------------------
12464|      0|		spc = 0;
12465|      0|	}
12466|      0|	drp->bottle_bw = htonl(spc);
12467|      0|	if (asoc->my_rwnd) {
  ------------------
  |  Branch (12467:6): [True: 0, False: 0]
  ------------------
12468|      0|		drp->current_onq = htonl(asoc->size_on_reasm_queue +
12469|      0|		    asoc->size_on_all_streams +
12470|      0|		    asoc->my_rwnd_control_len +
12471|      0|		    SCTP_SBAVAIL(&stcb->sctp_socket->so_rcv));
12472|      0|	} else {
12473|       |		/*-
12474|       |		 * If my rwnd is 0, possibly from mbuf depletion as well as
12475|       |		 * space used, tell the peer there is NO space aka onq == bw
12476|       |		 */
12477|      0|		drp->current_onq = htonl(spc);
12478|      0|	}
12479|      0|	drp->reserved = 0;
12480|      0|	datap = drp->data;
12481|      0|	m_copydata(m, iphlen, len, (caddr_t)datap);
12482|      0|	TAILQ_INSERT_TAIL(&stcb->asoc.control_send_queue, chk, sctp_next);
12483|      0|	asoc->ctrl_queue_cnt++;
12484|      0|}
sctp_send_cwr:
12488|  4.33k|{
12489|  4.33k|	struct sctp_association *asoc;
12490|  4.33k|	struct sctp_cwr_chunk *cwr;
12491|  4.33k|	struct sctp_tmit_chunk *chk;
12492|       |
12493|  4.33k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  4.33k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  4.33k|	do {                         \
  |  |  |  |  113|  4.33k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 4.33k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  4.33k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12494|  4.33k|	if (net == NULL) {
  ------------------
  |  Branch (12494:6): [True: 0, False: 4.33k]
  ------------------
12495|      0|		return;
12496|      0|	}
12497|  4.33k|	asoc = &stcb->asoc;
12498|  14.1k|	TAILQ_FOREACH(chk, &asoc->control_send_queue, sctp_next) {
12499|  14.1k|		if ((chk->rec.chunk_id.id == SCTP_ECN_CWR) && (net == chk->whoTo)) {
  ------------------
  |  |  470|  14.1k|#define SCTP_ECN_CWR		0x0d
  ------------------
  |  Branch (12499:7): [True: 4.15k, False: 9.95k]
  |  Branch (12499:49): [True: 3.94k, False: 213]
  ------------------
12500|       |			/* found a previous CWR queued to same destination update it if needed */
12501|  3.94k|			uint32_t ctsn;
12502|  3.94k|			cwr = mtod(chk->data, struct sctp_cwr_chunk *);
  ------------------
  |  |   96|  3.94k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  3.94k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12503|  3.94k|			ctsn = ntohl(cwr->tsn);
12504|  3.94k|			if (SCTP_TSN_GT(high_tsn, ctsn)) {
  ------------------
  |  |  889|  3.94k|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|  3.94k|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 3.94k]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|  3.94k|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 3.94k]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12505|      0|				cwr->tsn = htonl(high_tsn);
12506|      0|			}
12507|  3.94k|			if (override & SCTP_CWR_REDUCE_OVERRIDE) {
  ------------------
  |  |  504|  3.94k|#define SCTP_CWR_REDUCE_OVERRIDE 0x01
  ------------------
  |  Branch (12507:8): [True: 3.94k, False: 0]
  ------------------
12508|       |				/* Make sure override is carried */
12509|  3.94k|				cwr->ch.chunk_flags |= SCTP_CWR_REDUCE_OVERRIDE;
  ------------------
  |  |  504|  3.94k|#define SCTP_CWR_REDUCE_OVERRIDE 0x01
  ------------------
12510|  3.94k|			}
12511|  3.94k|			return;
12512|  3.94k|		}
12513|  14.1k|	}
12514|    391|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|    391|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|    391|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|    299|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|    299|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|    299|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 299, False: 0]
  |  |  ------------------
  |  |  173|    299|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|    299|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    299|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|    299|			(_chk)->whoTo = NULL; \
  |  |  175|    299|			(_chk)->holds_key_ref = 0; \
  |  |  176|    299|		} \
  |  |  177|    299|	} else { \
  |  |  178|     92|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|     92|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|     92|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|     92|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|     92|		(_chk)->holds_key_ref = 0; \
  |  |  182|     92|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|     92|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|     92|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|     92|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|     92|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|     92|	} \
  |  |  185|    391|}
  ------------------
12515|    391|	if (chk == NULL) {
  ------------------
  |  Branch (12515:6): [True: 0, False: 391]
  ------------------
12516|      0|		return;
12517|      0|	}
12518|    391|	chk->copy_by_ref = 0;
12519|    391|	chk->rec.chunk_id.id = SCTP_ECN_CWR;
  ------------------
  |  |  470|    391|#define SCTP_ECN_CWR		0x0d
  ------------------
12520|    391|	chk->rec.chunk_id.can_take_data = 1;
12521|    391|	chk->flags = 0;
12522|    391|	chk->asoc = asoc;
12523|    391|	chk->send_size = sizeof(struct sctp_cwr_chunk);
12524|    391|	chk->data = sctp_get_mbuf_for_msg(chk->send_size, 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   60|    391|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(chk->send_size, 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |  288|    391|#define	MT_HEADER	MT_DATA	/* packet header, use M_PKTHDR instead */
  |  |  ------------------
  |  |  |  |  287|    391|#define	MT_DATA		1	/* dynamic (data) allocation */
  |  |  ------------------
  ------------------
12525|    391|	if (chk->data == NULL) {
  ------------------
  |  Branch (12525:6): [True: 0, False: 391]
  ------------------
12526|      0|		sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
12527|      0|		return;
12528|      0|	}
12529|    391|	SCTP_BUF_RESV_UF(chk->data, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|    391|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|    391|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12530|    391|	SCTP_BUF_LEN(chk->data) = chk->send_size;
  ------------------
  |  |  795|    391|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    391|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
12531|    391|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|    391|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
12532|    391|	chk->snd_count = 0;
12533|    391|	chk->whoTo = net;
12534|    391|	atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|    391|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
12535|    391|	cwr = mtod(chk->data, struct sctp_cwr_chunk *);
  ------------------
  |  |   96|    391|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    391|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12536|    391|	cwr->ch.chunk_type = SCTP_ECN_CWR;
  ------------------
  |  |  470|    391|#define SCTP_ECN_CWR		0x0d
  ------------------
12537|    391|	cwr->ch.chunk_flags = override;
12538|    391|	cwr->ch.chunk_length = htons(sizeof(struct sctp_cwr_chunk));
12539|    391|	cwr->tsn = htonl(high_tsn);
12540|    391|	TAILQ_INSERT_TAIL(&asoc->control_send_queue, chk, sctp_next);
12541|    391|	asoc->ctrl_queue_cnt++;
12542|    391|}
sctp_add_stream_reset_result:
12689|  9.52k|{
12690|  9.52k|	uint16_t len, old_len;
12691|  9.52k|	struct sctp_stream_reset_response *resp;
12692|  9.52k|	struct sctp_chunkhdr *ch;
12693|       |
12694|  9.52k|	ch = mtod(chk->data, struct sctp_chunkhdr *);
  ------------------
  |  |   96|  9.52k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  9.52k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12695|  9.52k|	old_len = len = SCTP_SIZE32(ntohs(ch->chunk_length));
  ------------------
  |  |  383|  9.52k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12696|       |
12697|       |	/* get to new offset for the param. */
12698|  9.52k|	resp = (struct sctp_stream_reset_response *)((caddr_t)ch + len);
12699|       |	/* now how long will this param be? */
12700|  9.52k|	len = sizeof(struct sctp_stream_reset_response);
12701|  9.52k|	resp->ph.param_type = htons(SCTP_STR_RESET_RESPONSE);
12702|  9.52k|	resp->ph.param_length = htons(len);
12703|  9.52k|	resp->response_seq = htonl(resp_seq);
12704|  9.52k|	resp->result = ntohl(result);
12705|       |
12706|       |	/* now fix the chunk length */
12707|  9.52k|	ch->chunk_length = htons(len + old_len);
12708|  9.52k|	chk->book_size = len + old_len;
12709|  9.52k|	chk->book_size_scale = 0;
12710|  9.52k|	chk->send_size = SCTP_SIZE32(chk->book_size);
  ------------------
  |  |  383|  9.52k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12711|  9.52k|	SCTP_BUF_LEN(chk->data) = chk->send_size;
  ------------------
  |  |  795|  9.52k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  9.52k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
12712|  9.52k|	return;
12713|  9.52k|}
sctp_send_deferred_reset_response:
12719|    215|{
12720|    215|	struct sctp_association *asoc;
12721|    215|	struct sctp_tmit_chunk *chk;
12722|    215|	struct sctp_chunkhdr *ch;
12723|       |
12724|    215|	asoc = &stcb->asoc;
12725|       |
12726|       |	/*
12727|       |	 * Reset our last reset action to the new one IP -> response
12728|       |	 * (PERFORMED probably). This assures that if we fail to send, a
12729|       |	 * retran from the peer will get the new response.
12730|       |	 */
12731|    215|	asoc->last_reset_action[0] = response;
12732|    215|	if (asoc->stream_reset_outstanding) {
  ------------------
  |  Branch (12732:6): [True: 78, False: 137]
  ------------------
12733|     78|		return;
12734|     78|	}
12735|    137|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|    137|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|    137|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|     62|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|     62|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|     62|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 62, False: 0]
  |  |  ------------------
  |  |  173|     62|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|     62|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|     62|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|     62|			(_chk)->whoTo = NULL; \
  |  |  175|     62|			(_chk)->holds_key_ref = 0; \
  |  |  176|     62|		} \
  |  |  177|     75|	} else { \
  |  |  178|     75|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|     75|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|     75|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|     75|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|     75|		(_chk)->holds_key_ref = 0; \
  |  |  182|     75|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|     75|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|     75|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|     75|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|     75|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|     75|	} \
  |  |  185|    137|}
  ------------------
12736|    137|	if (chk == NULL) {
  ------------------
  |  Branch (12736:6): [True: 0, False: 137]
  ------------------
12737|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
12738|      0|		return;
12739|      0|	}
12740|    137|	chk->copy_by_ref = 0;
12741|    137|	chk->rec.chunk_id.id = SCTP_STREAM_RESET;
  ------------------
  |  |  484|    137|#define SCTP_STREAM_RESET       0x82
  ------------------
12742|    137|	chk->rec.chunk_id.can_take_data = 0;
12743|    137|	chk->flags = 0;
12744|    137|	chk->asoc = &stcb->asoc;
12745|    137|	chk->book_size = sizeof(struct sctp_chunkhdr);
12746|    137|	chk->send_size = SCTP_SIZE32(chk->book_size);
  ------------------
  |  |  383|    137|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12747|    137|	chk->book_size_scale = 0;
12748|    137|	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   51|    137|#define MCLBYTES 2048
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|    137|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|    137|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
12749|    137|	if (chk->data == NULL) {
  ------------------
  |  Branch (12749:6): [True: 0, False: 137]
  ------------------
12750|      0|		sctp_free_a_chunk(stcb, chk, SCTP_SO_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
12751|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
12752|      0|		return;
12753|      0|	}
12754|    137|	SCTP_BUF_RESV_UF(chk->data, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|    137|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|    137|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12755|       |	/* setup chunk parameters */
12756|    137|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|    137|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
12757|    137|	chk->snd_count = 0;
12758|    137|	if (stcb->asoc.alternate) {
  ------------------
  |  Branch (12758:6): [True: 3, False: 134]
  ------------------
12759|      3|		chk->whoTo = stcb->asoc.alternate;
12760|    134|	} else {
12761|    134|		chk->whoTo = stcb->asoc.primary_destination;
12762|    134|	}
12763|    137|	ch = mtod(chk->data, struct sctp_chunkhdr *);
  ------------------
  |  |   96|    137|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    137|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12764|    137|	ch->chunk_type = SCTP_STREAM_RESET;
  ------------------
  |  |  484|    137|#define SCTP_STREAM_RESET       0x82
  ------------------
12765|    137|	ch->chunk_flags = 0;
12766|    137|	ch->chunk_length = htons(chk->book_size);
12767|    137|	atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|    137|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
12768|    137|	SCTP_BUF_LEN(chk->data) = chk->send_size;
  ------------------
  |  |  795|    137|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    137|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
12769|    137|	sctp_add_stream_reset_result(chk, ent->seq, response);
12770|       |	/* insert the chunk for sending */
12771|    137|	TAILQ_INSERT_TAIL(&asoc->control_send_queue,
12772|    137|			  chk,
12773|    137|			  sctp_next);
12774|    137|	asoc->ctrl_queue_cnt++;
12775|    137|}
sctp_add_stream_reset_result_tsn:
12781|    944|{
12782|    944|	uint16_t len, old_len;
12783|    944|	struct sctp_stream_reset_response_tsn *resp;
12784|    944|	struct sctp_chunkhdr *ch;
12785|       |
12786|    944|	ch = mtod(chk->data, struct sctp_chunkhdr *);
  ------------------
  |  |   96|    944|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    944|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12787|    944|	old_len = len = SCTP_SIZE32(ntohs(ch->chunk_length));
  ------------------
  |  |  383|    944|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12788|       |
12789|       |	/* get to new offset for the param. */
12790|    944|	resp = (struct sctp_stream_reset_response_tsn *)((caddr_t)ch + len);
12791|       |	/* now how long will this param be? */
12792|    944|	len = sizeof(struct sctp_stream_reset_response_tsn);
12793|    944|	resp->ph.param_type = htons(SCTP_STR_RESET_RESPONSE);
12794|    944|	resp->ph.param_length = htons(len);
12795|    944|	resp->response_seq = htonl(resp_seq);
12796|    944|	resp->result = htonl(result);
12797|    944|	resp->senders_next_tsn = htonl(send_una);
12798|    944|	resp->receivers_next_tsn = htonl(recv_next);
12799|       |
12800|       |	/* now fix the chunk length */
12801|    944|	ch->chunk_length = htons(len + old_len);
12802|    944|	chk->book_size = len + old_len;
12803|    944|	chk->send_size = SCTP_SIZE32(chk->book_size);
  ------------------
  |  |  383|    944|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12804|    944|	chk->book_size_scale = 0;
12805|    944|	SCTP_BUF_LEN(chk->data) = chk->send_size;
  ------------------
  |  |  795|    944|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    944|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
12806|    944|	return;
12807|    944|}
sctp_send_stream_reset_out_if_possible:
12876|  5.46k|{
12877|  5.46k|	struct sctp_association *asoc;
12878|  5.46k|	struct sctp_tmit_chunk *chk;
12879|  5.46k|	struct sctp_chunkhdr *ch;
12880|  5.46k|	uint32_t seq;
12881|       |
12882|  5.46k|	asoc = &stcb->asoc;
12883|  5.46k|	asoc->trigger_reset = 0;
12884|  5.46k|	if (asoc->stream_reset_outstanding) {
  ------------------
  |  Branch (12884:6): [True: 1.42k, False: 4.04k]
  ------------------
12885|  1.42k|		return (EALREADY);
12886|  1.42k|	}
12887|  4.04k|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|  4.04k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|  4.04k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|  2.79k|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|  2.79k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|  2.79k|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 2.79k, False: 0]
  |  |  ------------------
  |  |  173|  2.79k|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|  2.79k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  2.79k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|  2.79k|			(_chk)->whoTo = NULL; \
  |  |  175|  2.79k|			(_chk)->holds_key_ref = 0; \
  |  |  176|  2.79k|		} \
  |  |  177|  2.79k|	} else { \
  |  |  178|  1.24k|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|  1.24k|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|  1.24k|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|  1.24k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|  1.24k|		(_chk)->holds_key_ref = 0; \
  |  |  182|  1.24k|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|  1.24k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  1.24k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  1.24k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|  1.24k|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|  1.24k|	} \
  |  |  185|  4.04k|}
  ------------------
12888|  4.04k|	if (chk == NULL) {
  ------------------
  |  Branch (12888:6): [True: 0, False: 4.04k]
  ------------------
12889|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
12890|      0|		return (ENOMEM);
12891|      0|	}
12892|  4.04k|	chk->copy_by_ref = 0;
12893|  4.04k|	chk->rec.chunk_id.id = SCTP_STREAM_RESET;
  ------------------
  |  |  484|  4.04k|#define SCTP_STREAM_RESET       0x82
  ------------------
12894|  4.04k|	chk->rec.chunk_id.can_take_data = 0;
12895|  4.04k|	chk->flags = 0;
12896|  4.04k|	chk->asoc = &stcb->asoc;
12897|  4.04k|	chk->book_size = sizeof(struct sctp_chunkhdr);
12898|  4.04k|	chk->send_size = SCTP_SIZE32(chk->book_size);
  ------------------
  |  |  383|  4.04k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12899|  4.04k|	chk->book_size_scale = 0;
12900|  4.04k|	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   51|  4.04k|#define MCLBYTES 2048
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  4.04k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  4.04k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
12901|  4.04k|	if (chk->data == NULL) {
  ------------------
  |  Branch (12901:6): [True: 0, False: 4.04k]
  ------------------
12902|      0|		sctp_free_a_chunk(stcb, chk, so_locked);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
12903|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
12904|      0|		return (ENOMEM);
12905|      0|	}
12906|  4.04k|	SCTP_BUF_RESV_UF(chk->data, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|  4.04k|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|  4.04k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12907|       |
12908|       |	/* setup chunk parameters */
12909|  4.04k|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|  4.04k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
12910|  4.04k|	chk->snd_count = 0;
12911|  4.04k|	if (stcb->asoc.alternate) {
  ------------------
  |  Branch (12911:6): [True: 197, False: 3.84k]
  ------------------
12912|    197|		chk->whoTo = stcb->asoc.alternate;
12913|  3.84k|	} else {
12914|  3.84k|		chk->whoTo = stcb->asoc.primary_destination;
12915|  3.84k|	}
12916|  4.04k|	ch = mtod(chk->data, struct sctp_chunkhdr *);
  ------------------
  |  |   96|  4.04k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  4.04k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12917|  4.04k|	ch->chunk_type = SCTP_STREAM_RESET;
  ------------------
  |  |  484|  4.04k|#define SCTP_STREAM_RESET       0x82
  ------------------
12918|  4.04k|	ch->chunk_flags = 0;
12919|  4.04k|	ch->chunk_length = htons(chk->book_size);
12920|  4.04k|	atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|  4.04k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
12921|  4.04k|	SCTP_BUF_LEN(chk->data) = chk->send_size;
  ------------------
  |  |  795|  4.04k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  4.04k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
12922|  4.04k|	seq = stcb->asoc.str_reset_seq_out;
12923|  4.04k|	if (sctp_add_stream_reset_out(stcb, chk, seq, (stcb->asoc.str_reset_seq_in - 1), (stcb->asoc.sending_seq - 1))) {
  ------------------
  |  Branch (12923:6): [True: 151, False: 3.89k]
  ------------------
12924|    151|		seq++;
12925|    151|		asoc->stream_reset_outstanding++;
12926|  3.89k|	} else {
12927|  3.89k|		m_freem(chk->data);
12928|  3.89k|		chk->data = NULL;
12929|  3.89k|		sctp_free_a_chunk(stcb, chk, so_locked);
  ------------------
  |  |  143|  3.89k|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|  3.89k|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 3.89k]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|  3.89k|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 3.89k, False: 0]
  |  |  ------------------
  |  |  149|  3.89k|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|  3.89k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  3.89k|	do {                         \
  |  |  |  |  |  |  113|  3.89k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 3.89k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  3.89k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|  3.89k|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 3.89k, False: 0]
  |  |  ------------------
  |  |  151|  3.89k|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|  3.89k|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|  3.89k|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 3.89k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|  3.89k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|  3.89k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|  3.89k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 3.89k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|  3.89k|	} \
  |  |  |  |  245|  3.89k|}
  |  |  ------------------
  |  |  152|  3.89k|			(_chk)->whoTo = NULL; \
  |  |  153|  3.89k|		} \
  |  |  154|  3.89k|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|  3.89k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 3.89k]
  |  |  ------------------
  |  |  155|  3.89k|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|  3.89k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|  3.89k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 3.89k]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|  3.89k|		} else { \
  |  |  159|  3.89k|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|  3.89k|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|  3.89k|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|  3.89k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|  3.89k|		} \
  |  |  163|  3.89k|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|  3.89k|}
  ------------------
12930|  3.89k|		return (ENOENT);
12931|  3.89k|	}
12932|    151|	asoc->str_reset = chk;
12933|       |	/* insert the chunk for sending */
12934|    151|	TAILQ_INSERT_TAIL(&asoc->control_send_queue,
12935|    151|			  chk,
12936|    151|			  sctp_next);
12937|    151|	asoc->ctrl_queue_cnt++;
12938|       |
12939|    151|	if (stcb->asoc.send_sack) {
  ------------------
  |  Branch (12939:6): [True: 101, False: 50]
  ------------------
12940|    101|		sctp_send_sack(stcb, so_locked);
12941|    101|	}
12942|    151|	sctp_timer_start(SCTP_TIMER_TYPE_STRRESET, stcb->sctp_ep, stcb, chk->whoTo);
  ------------------
  |  |  544|    151|#define SCTP_TIMER_TYPE_STRRESET	13
  ------------------
12943|    151|	return (0);
12944|  4.04k|}
sctp_send_str_reset_req:
12954|  2.74k|{
12955|  2.74k|	struct sctp_association *asoc;
12956|  2.74k|	struct sctp_tmit_chunk *chk;
12957|  2.74k|	struct sctp_chunkhdr *ch;
12958|  2.74k|	int can_send_out_req=0;
12959|  2.74k|	uint32_t seq;
12960|       |
12961|  2.74k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  2.74k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  2.74k|	do {                         \
  |  |  |  |  113|  2.74k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.74k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  2.74k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12962|       |
12963|  2.74k|	asoc = &stcb->asoc;
12964|  2.74k|	if (asoc->stream_reset_outstanding) {
  ------------------
  |  Branch (12964:6): [True: 0, False: 2.74k]
  ------------------
12965|       |		/*-
12966|       |		 * Already one pending, must get ACK back to clear the flag.
12967|       |		 */
12968|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, EBUSY);
12969|      0|		return (EBUSY);
12970|      0|	}
12971|  2.74k|	if ((send_in_req == 0) && (send_tsn_req == 0) &&
  ------------------
  |  Branch (12971:6): [True: 108, False: 2.63k]
  |  Branch (12971:28): [True: 108, False: 0]
  ------------------
12972|  2.74k|	    (add_stream == 0)) {
  ------------------
  |  Branch (12972:6): [True: 0, False: 108]
  ------------------
12973|       |		/* nothing to do */
12974|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, EINVAL);
12975|      0|		return (EINVAL);
12976|      0|	}
12977|  2.74k|	if (send_tsn_req && send_in_req) {
  ------------------
  |  Branch (12977:6): [True: 0, False: 2.74k]
  |  Branch (12977:22): [True: 0, False: 0]
  ------------------
12978|       |		/* error, can't do that */
12979|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, EINVAL);
12980|      0|		return (EINVAL);
12981|  2.74k|	} else if (send_in_req) {
  ------------------
  |  Branch (12981:13): [True: 2.63k, False: 108]
  ------------------
12982|  2.63k|		can_send_out_req = 1;
12983|  2.63k|	}
12984|  2.74k|	if (number_entries > (MCLBYTES -
  ------------------
  |  |   51|  2.74k|#define MCLBYTES 2048
  ------------------
  |  Branch (12984:6): [True: 0, False: 2.74k]
  ------------------
12985|  2.74k|	                      SCTP_MIN_OVERHEAD -
  ------------------
  |  |  564|  2.74k|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|  2.74k|                           sizeof(struct sctphdr))
  ------------------
12986|  2.74k|	                      sizeof(struct sctp_chunkhdr) -
12987|  2.74k|	                      sizeof(struct sctp_stream_reset_out_request)) /
12988|  2.74k|	                     sizeof(uint16_t)) {
12989|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
12990|      0|		return (ENOMEM);
12991|      0|	}
12992|  2.74k|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|  2.74k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|  2.74k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|  1.68k|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|  1.68k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|  1.68k|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 1.68k, False: 0]
  |  |  ------------------
  |  |  173|  1.68k|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|  1.68k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  1.68k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|  1.68k|			(_chk)->whoTo = NULL; \
  |  |  175|  1.68k|			(_chk)->holds_key_ref = 0; \
  |  |  176|  1.68k|		} \
  |  |  177|  1.68k|	} else { \
  |  |  178|  1.06k|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|  1.06k|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|  1.06k|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|  1.06k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|  1.06k|		(_chk)->holds_key_ref = 0; \
  |  |  182|  1.06k|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|  1.06k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  1.06k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  1.06k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|  1.06k|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|  1.06k|	} \
  |  |  185|  2.74k|}
  ------------------
12993|  2.74k|	if (chk == NULL) {
  ------------------
  |  Branch (12993:6): [True: 0, False: 2.74k]
  ------------------
12994|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
12995|      0|		return (ENOMEM);
12996|      0|	}
12997|  2.74k|	chk->copy_by_ref = 0;
12998|  2.74k|	chk->rec.chunk_id.id = SCTP_STREAM_RESET;
  ------------------
  |  |  484|  2.74k|#define SCTP_STREAM_RESET       0x82
  ------------------
12999|  2.74k|	chk->rec.chunk_id.can_take_data = 0;
13000|  2.74k|	chk->flags = 0;
13001|  2.74k|	chk->asoc = &stcb->asoc;
13002|  2.74k|	chk->book_size = sizeof(struct sctp_chunkhdr);
13003|  2.74k|	chk->send_size = SCTP_SIZE32(chk->book_size);
  ------------------
  |  |  383|  2.74k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
13004|  2.74k|	chk->book_size_scale = 0;
13005|  2.74k|	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   51|  2.74k|#define MCLBYTES 2048
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  2.74k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  2.74k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
13006|  2.74k|	if (chk->data == NULL) {
  ------------------
  |  Branch (13006:6): [True: 0, False: 2.74k]
  ------------------
13007|      0|		sctp_free_a_chunk(stcb, chk, SCTP_SO_LOCKED);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
13008|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
13009|      0|		return (ENOMEM);
13010|      0|	}
13011|  2.74k|	SCTP_BUF_RESV_UF(chk->data, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|  2.74k|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|  2.74k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
13012|       |
13013|       |	/* setup chunk parameters */
13014|  2.74k|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|  2.74k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
13015|  2.74k|	chk->snd_count = 0;
13016|  2.74k|	if (stcb->asoc.alternate) {
  ------------------
  |  Branch (13016:6): [True: 10, False: 2.73k]
  ------------------
13017|     10|		chk->whoTo = stcb->asoc.alternate;
13018|  2.73k|	} else {
13019|  2.73k|		chk->whoTo = stcb->asoc.primary_destination;
13020|  2.73k|	}
13021|  2.74k|	atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|  2.74k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
13022|  2.74k|	ch = mtod(chk->data, struct sctp_chunkhdr *);
  ------------------
  |  |   96|  2.74k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  2.74k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
13023|  2.74k|	ch->chunk_type = SCTP_STREAM_RESET;
  ------------------
  |  |  484|  2.74k|#define SCTP_STREAM_RESET       0x82
  ------------------
13024|  2.74k|	ch->chunk_flags = 0;
13025|  2.74k|	ch->chunk_length = htons(chk->book_size);
13026|  2.74k|	SCTP_BUF_LEN(chk->data) = chk->send_size;
  ------------------
  |  |  795|  2.74k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.74k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
13027|       |
13028|  2.74k|	seq = stcb->asoc.str_reset_seq_out;
13029|  2.74k|	if (can_send_out_req) {
  ------------------
  |  Branch (13029:6): [True: 2.63k, False: 108]
  ------------------
13030|  2.63k|		int ret;
13031|       |
13032|  2.63k|		ret = sctp_add_stream_reset_out(stcb, chk, seq, (stcb->asoc.str_reset_seq_in - 1), (stcb->asoc.sending_seq - 1));
13033|  2.63k|		if (ret) {
  ------------------
  |  Branch (13033:7): [True: 2.63k, False: 0]
  ------------------
13034|  2.63k|			seq++;
13035|  2.63k|			asoc->stream_reset_outstanding++;
13036|  2.63k|		}
13037|  2.63k|	}
13038|  2.74k|	if ((add_stream & 1) &&
  ------------------
  |  Branch (13038:6): [True: 108, False: 2.63k]
  ------------------
13039|  2.74k|	    ((stcb->asoc.strm_realoutsize - stcb->asoc.streamoutcnt) < adding_o)) {
  ------------------
  |  Branch (13039:6): [True: 62, False: 46]
  ------------------
13040|       |		/* Need to allocate more */
13041|     62|		struct sctp_stream_out *oldstream;
13042|     62|		struct sctp_stream_queue_pending *sp, *nsp;
13043|     62|		int i;
13044|       |#if defined(SCTP_DETAILED_STR_STATS)
13045|       |		int j;
13046|       |#endif
13047|       |
13048|     62|		oldstream = stcb->asoc.strmout;
13049|       |		/* get some more */
13050|     62|		SCTP_MALLOC(stcb->asoc.strmout, struct sctp_stream_out *,
  ------------------
  |  |  669|     62|	do {								\
  |  |  670|     62|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|     62|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|     62|    do {								\
  |  |  |  |  198|     62|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|    124|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|     62|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|     62|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
13051|     62|			    (stcb->asoc.streamoutcnt + adding_o) * sizeof(struct sctp_stream_out),
13052|     62|			    SCTP_M_STRMO);
13053|     62|		if (stcb->asoc.strmout == NULL) {
  ------------------
  |  Branch (13053:7): [True: 0, False: 62]
  ------------------
13054|      0|			uint8_t x;
13055|      0|			stcb->asoc.strmout = oldstream;
13056|       |			/* Turn off the bit */
13057|      0|			x = add_stream & 0xfe;
13058|      0|			add_stream = x;
13059|      0|			goto skip_stuff;
13060|      0|		}
13061|       |		/* Ok now we proceed with copying the old out stuff and
13062|       |		 * initializing the new stuff.
13063|       |		 */
13064|     62|		stcb->asoc.ss_functions.sctp_ss_clear(stcb, &stcb->asoc, false);
13065|  15.9k|		for (i = 0; i < stcb->asoc.streamoutcnt; i++) {
  ------------------
  |  Branch (13065:15): [True: 15.9k, False: 62]
  ------------------
13066|  15.9k|			TAILQ_INIT(&stcb->asoc.strmout[i].outqueue);
13067|       |			/* FIX ME FIX ME */
13068|       |			/* This should be a SS_COPY operation FIX ME STREAM SCHEDULER EXPERT */
13069|  15.9k|			stcb->asoc.ss_functions.sctp_ss_init_stream(stcb, &stcb->asoc.strmout[i], &oldstream[i]);
13070|  15.9k|			stcb->asoc.strmout[i].chunks_on_queues = oldstream[i].chunks_on_queues;
13071|       |#if defined(SCTP_DETAILED_STR_STATS)
13072|       |			for (j = 0; j < SCTP_PR_SCTP_MAX + 1; j++) {
13073|       |				stcb->asoc.strmout[i].abandoned_sent[j] = oldstream[i].abandoned_sent[j];
13074|       |				stcb->asoc.strmout[i].abandoned_unsent[j] = oldstream[i].abandoned_unsent[j];
13075|       |			}
13076|       |#else
13077|  15.9k|			stcb->asoc.strmout[i].abandoned_sent[0] = oldstream[i].abandoned_sent[0];
13078|  15.9k|			stcb->asoc.strmout[i].abandoned_unsent[0] = oldstream[i].abandoned_unsent[0];
13079|  15.9k|#endif
13080|  15.9k|			stcb->asoc.strmout[i].next_mid_ordered = oldstream[i].next_mid_ordered;
13081|  15.9k|			stcb->asoc.strmout[i].next_mid_unordered = oldstream[i].next_mid_unordered;
13082|  15.9k|			stcb->asoc.strmout[i].last_msg_incomplete = oldstream[i].last_msg_incomplete;
13083|  15.9k|			stcb->asoc.strmout[i].sid = i;
13084|  15.9k|			stcb->asoc.strmout[i].state = oldstream[i].state;
13085|       |			/* now anything on those queues? */
13086|  15.9k|			TAILQ_FOREACH_SAFE(sp, &oldstream[i].outqueue, next, nsp) {
  ------------------
  |  | 1123|  15.9k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  15.9k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 10, False: 15.9k]
  |  |  |  Branch (1124:24): [True: 10, False: 0]
  |  |  ------------------
  |  | 1125|  15.9k|              (var) = (tvar))
  ------------------
13087|     10|				TAILQ_REMOVE(&oldstream[i].outqueue, sp, next);
13088|     10|				TAILQ_INSERT_TAIL(&stcb->asoc.strmout[i].outqueue, sp, next);
13089|     10|			}
13090|  15.9k|		}
13091|       |		/* now the new streams */
13092|     62|		stcb->asoc.ss_functions.sctp_ss_init(stcb, &stcb->asoc);
13093|  2.48M|		for (i = stcb->asoc.streamoutcnt; i < (stcb->asoc.streamoutcnt + adding_o); i++) {
  ------------------
  |  Branch (13093:37): [True: 2.48M, False: 62]
  ------------------
13094|  2.48M|			TAILQ_INIT(&stcb->asoc.strmout[i].outqueue);
13095|  2.48M|			stcb->asoc.strmout[i].chunks_on_queues = 0;
13096|       |#if defined(SCTP_DETAILED_STR_STATS)
13097|       |			for (j = 0; j < SCTP_PR_SCTP_MAX + 1; j++) {
13098|       |				stcb->asoc.strmout[i].abandoned_sent[j] = 0;
13099|       |				stcb->asoc.strmout[i].abandoned_unsent[j] = 0;
13100|       |			}
13101|       |#else
13102|  2.48M|			stcb->asoc.strmout[i].abandoned_sent[0] = 0;
13103|  2.48M|			stcb->asoc.strmout[i].abandoned_unsent[0] = 0;
13104|  2.48M|#endif
13105|  2.48M|			stcb->asoc.strmout[i].next_mid_ordered = 0;
13106|  2.48M|			stcb->asoc.strmout[i].next_mid_unordered = 0;
13107|  2.48M|			stcb->asoc.strmout[i].sid = i;
13108|  2.48M|			stcb->asoc.strmout[i].last_msg_incomplete = 0;
13109|  2.48M|			stcb->asoc.ss_functions.sctp_ss_init_stream(stcb, &stcb->asoc.strmout[i], NULL);
13110|  2.48M|			stcb->asoc.strmout[i].state = SCTP_STREAM_CLOSED;
  ------------------
  |  |  668|  2.48M|#define SCTP_STREAM_CLOSED           0x00
  ------------------
13111|  2.48M|		}
13112|     62|		stcb->asoc.strm_realoutsize = stcb->asoc.streamoutcnt + adding_o;
13113|     62|		SCTP_FREE(oldstream, SCTP_M_STRMO);
  ------------------
  |  |  673|     62|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|     62|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
13114|     62|	}
13115|  2.74k|skip_stuff:
13116|  2.74k|	if ((add_stream & 1) && (adding_o > 0)) {
  ------------------
  |  Branch (13116:6): [True: 108, False: 2.63k]
  |  Branch (13116:26): [True: 62, False: 46]
  ------------------
13117|     62|		asoc->strm_pending_add_size = adding_o;
13118|     62|		asoc->peer_req_out = peer_asked;
13119|     62|		sctp_add_an_out_stream(chk, seq, adding_o);
13120|     62|		seq++;
13121|     62|		asoc->stream_reset_outstanding++;
13122|     62|	}
13123|  2.74k|	if ((add_stream & 2) && (adding_i > 0)) {
  ------------------
  |  Branch (13123:6): [True: 0, False: 2.74k]
  |  Branch (13123:26): [True: 0, False: 0]
  ------------------
13124|      0|		sctp_add_an_in_stream(chk, seq, adding_i);
13125|      0|		seq++;
13126|      0|		asoc->stream_reset_outstanding++;
13127|      0|	}
13128|  2.74k|	if (send_in_req) {
  ------------------
  |  Branch (13128:6): [True: 2.63k, False: 108]
  ------------------
13129|  2.63k|		sctp_add_stream_reset_in(chk, number_entries, list, seq);
13130|  2.63k|		seq++;
13131|  2.63k|		asoc->stream_reset_outstanding++;
13132|  2.63k|	}
13133|  2.74k|	if (send_tsn_req) {
  ------------------
  |  Branch (13133:6): [True: 0, False: 2.74k]
  ------------------
13134|      0|		sctp_add_stream_reset_tsn(chk, seq);
13135|      0|		asoc->stream_reset_outstanding++;
13136|      0|	}
13137|  2.74k|	asoc->str_reset = chk;
13138|       |	/* insert the chunk for sending */
13139|  2.74k|	TAILQ_INSERT_TAIL(&asoc->control_send_queue,
13140|  2.74k|			  chk,
13141|  2.74k|			  sctp_next);
13142|  2.74k|	asoc->ctrl_queue_cnt++;
13143|  2.74k|	if (stcb->asoc.send_sack) {
  ------------------
  |  Branch (13143:6): [True: 2.70k, False: 45]
  ------------------
13144|  2.70k|		sctp_send_sack(stcb, SCTP_SO_LOCKED);
  ------------------
  |  |  959|  2.70k|#define SCTP_SO_LOCKED		1
  ------------------
13145|  2.70k|	}
13146|  2.74k|	sctp_timer_start(SCTP_TIMER_TYPE_STRRESET, stcb->sctp_ep, stcb, chk->whoTo);
  ------------------
  |  |  544|  2.74k|#define SCTP_TIMER_TYPE_STRRESET	13
  ------------------
13147|  2.74k|	return (0);
13148|  2.74k|}
sctp_send_abort:
13157|    839|{
13158|       |	/* Don't respond to an ABORT with an ABORT. */
13159|    839|	if (sctp_is_there_an_abort_here(m, iphlen, &vtag)) {
  ------------------
  |  Branch (13159:6): [True: 0, False: 839]
  ------------------
13160|      0|		if (cause)
  ------------------
  |  Branch (13160:7): [True: 0, False: 0]
  ------------------
13161|      0|			sctp_m_freem(cause);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
13162|      0|		return;
13163|      0|	}
13164|    839|	sctp_send_resp_msg(src, dst, sh, vtag, SCTP_ABORT_ASSOCIATION, cause,
  ------------------
  |  |  463|    839|#define SCTP_ABORT_ASSOCIATION	0x06
  ------------------
13165|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
13166|       |	                   mflowtype, mflowid, fibnum,
13167|       |#endif
13168|    839|	                   vrf_id, port);
13169|    839|	return;
13170|    839|}
sctp_lower_sosend:
13553|  7.09k|{
13554|  7.09k|	struct sctp_nonpad_sndrcvinfo sndrcvninfo_buf;
13555|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
13556|       |	struct epoch_tracker et;
13557|       |#endif
13558|  7.09k|	struct timeval now;
13559|  7.09k|	struct sctp_block_entry be;
13560|  7.09k|	struct sctp_inpcb *inp;
13561|  7.09k|	struct sctp_tcb *stcb = NULL;
13562|  7.09k|	struct sctp_nets *net;
13563|  7.09k|	struct sctp_association *asoc;
13564|  7.09k|	struct sctp_inpcb *t_inp;
13565|  7.09k|	struct sctp_nonpad_sndrcvinfo *sndrcvninfo;
13566|  7.09k|	ssize_t sndlen = 0, max_len, local_add_more;
13567|  7.09k|	ssize_t local_soresv = 0;
13568|  7.09k|	sctp_assoc_t sinfo_assoc_id;
13569|  7.09k|	int user_marks_eor;
13570|  7.09k|	int nagle_applies = 0;
13571|  7.09k|	int error;
13572|  7.09k|	int queue_only = 0, queue_only_for_init = 0;
13573|  7.09k|	int un_sent;
13574|  7.09k|	int now_filled = 0;
13575|  7.09k|	unsigned int inqueue_bytes = 0;
13576|  7.09k|	uint16_t port;
13577|  7.09k|	uint16_t sinfo_flags;
13578|  7.09k|	uint16_t sinfo_stream;
13579|  7.09k|	bool create_lock_applied = false;
13580|  7.09k|	bool free_cnt_applied = false;
13581|  7.09k|	bool some_on_control;
13582|  7.09k|	bool got_all_of_the_send = false;
13583|  7.09k|	bool non_blocking = false;
13584|       |
13585|  7.09k|	error = 0;
13586|  7.09k|	net = NULL;
13587|  7.09k|	stcb = NULL;
13588|       |
13589|       |#if defined(__APPLE__) && !defined(__Userspace__)
13590|       |	sctp_lock_assert(so);
13591|       |#endif
13592|  7.09k|	if ((uio == NULL) && (top == NULL)) {
  ------------------
  |  Branch (13592:6): [True: 0, False: 7.09k]
  |  Branch (13592:23): [True: 0, False: 0]
  ------------------
13593|      0|		error = EINVAL;
13594|      0|		goto out_unlocked;
13595|      0|	}
13596|  7.09k|	if (addr != NULL) {
  ------------------
  |  Branch (13596:6): [True: 0, False: 7.09k]
  ------------------
13597|      0|		union sctp_sockstore *raddr = (union sctp_sockstore *)addr;
13598|       |
13599|      0|		switch (raddr->sa.sa_family) {
13600|      0|#ifdef INET
13601|      0|		case AF_INET:
  ------------------
  |  Branch (13601:3): [True: 0, False: 0]
  ------------------
13602|       |#ifdef HAVE_SIN_LEN
13603|       |			if (raddr->sin.sin_len != sizeof(struct sockaddr_in)) {
13604|       |				error = EINVAL;
13605|       |				goto out_unlocked;
13606|       |			}
13607|       |#endif
13608|      0|			port = raddr->sin.sin_port;
13609|      0|			break;
13610|      0|#endif
13611|      0|#ifdef INET6
13612|      0|		case AF_INET6:
  ------------------
  |  Branch (13612:3): [True: 0, False: 0]
  ------------------
13613|       |#ifdef HAVE_SIN6_LEN
13614|       |			if (raddr->sin6.sin6_len != sizeof(struct sockaddr_in6)) {
13615|       |				error = EINVAL;
13616|       |				goto out_unlocked;
13617|       |			}
13618|       |#endif
13619|      0|			port = raddr->sin6.sin6_port;
13620|      0|			break;
13621|      0|#endif
13622|      0|#if defined(__Userspace__)
13623|      0|		case AF_CONN:
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (13623:3): [True: 0, False: 0]
  ------------------
13624|       |#ifdef HAVE_SCONN_LEN
13625|       |			if (raddr->sconn.sconn_len != sizeof(struct sockaddr_conn)) {
13626|       |				error = EINVAL;
13627|       |				goto out_unlocked;
13628|       |			}
13629|       |#endif
13630|      0|			port = raddr->sconn.sconn_port;
13631|      0|			break;
13632|      0|#endif
13633|      0|		default:
  ------------------
  |  Branch (13633:3): [True: 0, False: 0]
  ------------------
13634|      0|			error = EAFNOSUPPORT;
13635|      0|			goto out_unlocked;
13636|      0|		}
13637|  7.09k|	} else {
13638|  7.09k|		port = 0;
13639|  7.09k|	}
13640|  7.09k|	if (uio != NULL) {
  ------------------
  |  Branch (13640:6): [True: 7.09k, False: 0]
  ------------------
13641|       |#if defined(__APPLE__) && !defined(__Userspace__)
13642|       |#if defined(APPLE_LEOPARD)
13643|       |		if (uio->uio_resid < 0) {
13644|       |#else
13645|       |		if (uio_resid(uio) < 0) {
13646|       |#endif
13647|       |#else
13648|  7.09k|		if (uio->uio_resid < 0) {
  ------------------
  |  Branch (13648:7): [True: 0, False: 7.09k]
  ------------------
13649|      0|#endif
13650|      0|			error = EINVAL;
13651|      0|			goto out_unlocked;
13652|      0|		}
13653|       |#if defined(__APPLE__) && !defined(__Userspace__)
13654|       |#if defined(APPLE_LEOPARD)
13655|       |		sndlen = uio->uio_resid;
13656|       |#else
13657|       |		sndlen = uio_resid(uio);
13658|       |#endif
13659|       |#else
13660|  7.09k|		sndlen = uio->uio_resid;
13661|  7.09k|#endif
13662|  7.09k|	} else {
13663|      0|		sndlen = SCTP_HEADER_LEN(top);
  ------------------
  |  |  915|      0|#define SCTP_HEADER_LEN(m) ((m)->m_pkthdr.len)
  |  |  ------------------
  |  |  |  |  224|      0|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  |  |  ------------------
  ------------------
13664|      0|	}
13665|  7.09k|	SCTPDBG(SCTP_DEBUG_OUTPUT1, "Send called addr:%p send length %zd\n",
13666|  7.09k|	        (void *)addr, sndlen);
13667|       |
13668|  7.09k|	t_inp = inp = (struct sctp_inpcb *)so->so_pcb;
13669|  7.09k|	if (inp == NULL) {
  ------------------
  |  Branch (13669:6): [True: 0, False: 7.09k]
  ------------------
13670|      0|		error = EINVAL;
13671|      0|		goto out_unlocked;
13672|      0|	}
13673|  7.09k|	user_marks_eor = sctp_is_feature_on(inp, SCTP_PCB_FLAGS_EXPLICIT_EOR);
  ------------------
  |  |   52|  7.09k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
13674|  7.09k|	if ((uio == NULL) && (user_marks_eor != 0)) {
  ------------------
  |  Branch (13674:6): [True: 0, False: 7.09k]
  |  Branch (13674:23): [True: 0, False: 0]
  ------------------
13675|       |		/*-
13676|       |		 * We do not support eeor mode for
13677|       |		 * sending with mbuf chains (like sendfile).
13678|       |		 */
13679|      0|		error = EINVAL;
13680|      0|		goto out_unlocked;
13681|      0|	}
13682|  7.09k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) &&
  ------------------
  |  |  532|  7.09k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (13682:6): [True: 7.09k, False: 0]
  ------------------
13683|  7.09k|	    SCTP_IS_LISTENING(inp)) {
  ------------------
  |  | 1146|  7.09k|#define SCTP_IS_LISTENING(inp) ((inp->sctp_flags & SCTP_PCB_FLAGS_ACCEPTING) != 0)
  |  |  ------------------
  |  |  |  |  534|  7.09k|#define SCTP_PCB_FLAGS_ACCEPTING	0x00000008
  |  |  ------------------
  |  |  |  Branch (1146:32): [True: 0, False: 7.09k]
  |  |  ------------------
  ------------------
13684|       |		/* The listener can NOT send. */
13685|      0|		error = EINVAL;
13686|      0|		goto out_unlocked;
13687|      0|	}
13688|  7.09k|	atomic_add_int(&inp->total_sends, 1);
  ------------------
  |  |   94|  7.09k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
13689|       |
13690|  7.09k|	if (srcv != NULL) {
  ------------------
  |  Branch (13690:6): [True: 0, False: 7.09k]
  ------------------
13691|      0|		sndrcvninfo = (struct sctp_nonpad_sndrcvinfo *)srcv;
13692|      0|		sinfo_assoc_id = sndrcvninfo->sinfo_assoc_id;
13693|      0|		sinfo_flags = sndrcvninfo->sinfo_flags;
13694|      0|		if (INVALID_SINFO_FLAG(sinfo_flags) ||
  ------------------
  |  |  265|      0|#define INVALID_SINFO_FLAG(x) (((x) & 0xfffffff0 \
  |  |  ------------------
  |  |  |  Branch (265:31): [True: 0, False: 0]
  |  |  ------------------
  |  |  266|      0|                                    & ~(SCTP_EOF | SCTP_ABORT | SCTP_UNORDERED |\
  |  |  ------------------
  |  |  |  |  257|      0|#define SCTP_EOF              0x0100 /* Start shutdown procedures */
  |  |  ------------------
  |  |                                                   & ~(SCTP_EOF | SCTP_ABORT | SCTP_UNORDERED |\
  |  |  ------------------
  |  |  |  |  258|      0|#define SCTP_ABORT            0x0200 /* Send an ABORT to peer */
  |  |  ------------------
  |  |                                                   & ~(SCTP_EOF | SCTP_ABORT | SCTP_UNORDERED |\
  |  |  ------------------
  |  |  |  |  259|      0|#define SCTP_UNORDERED        0x0400 /* Message is un-ordered */
  |  |  ------------------
  |  |  267|      0|				        SCTP_ADDR_OVER | SCTP_SENDALL | SCTP_EOR |\
  |  |  ------------------
  |  |  |  |  260|      0|#define SCTP_ADDR_OVER        0x0800 /* Override the primary-address */
  |  |  ------------------
  |  |               				        SCTP_ADDR_OVER | SCTP_SENDALL | SCTP_EOR |\
  |  |  ------------------
  |  |  |  |  261|      0|#define SCTP_SENDALL          0x1000 /* Send this on all associations */
  |  |  ------------------
  |  |               				        SCTP_ADDR_OVER | SCTP_SENDALL | SCTP_EOR |\
  |  |  ------------------
  |  |  |  |  262|      0|#define SCTP_EOR              0x2000 /* end of message signal */
  |  |  ------------------
  |  |  268|      0|					SCTP_SACK_IMMEDIATELY)) != 0)
  |  |  ------------------
  |  |  |  |  263|      0|#define SCTP_SACK_IMMEDIATELY 0x4000 /* Set I-Bit */
  |  |  ------------------
  ------------------
13695|      0|		    PR_SCTP_INVALID_POLICY(sinfo_flags)) {
  ------------------
  |  |  286|      0|#define PR_SCTP_INVALID_POLICY(x) (PR_SCTP_POLICY(x) > SCTP_PR_SCTP_MAX)
  |  |  ------------------
  |  |  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  |  |  ------------------
  |  |               #define PR_SCTP_INVALID_POLICY(x) (PR_SCTP_POLICY(x) > SCTP_PR_SCTP_MAX)
  |  |  ------------------
  |  |  |  |  277|      0|#define SCTP_PR_SCTP_MAX  SCTP_PR_SCTP_RTX
  |  |  |  |  ------------------
  |  |  |  |  |  |  276|      0|#define SCTP_PR_SCTP_RTX  0x0003 /* Number of retransmissions based PR-SCTP */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (286:35): [True: 0, False: 0]
  |  |  ------------------
  ------------------
13696|      0|			error = EINVAL;
13697|      0|			goto out_unlocked;
13698|      0|		}
13699|      0|		if (sinfo_flags != 0) {
  ------------------
  |  Branch (13699:7): [True: 0, False: 0]
  ------------------
13700|      0|			SCTP_STAT_INCR(sctps_sends_with_flags);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13701|      0|		}
13702|  7.09k|	} else {
13703|  7.09k|		sndrcvninfo = NULL;
13704|  7.09k|		sinfo_flags = inp->def_send.sinfo_flags;
13705|  7.09k|		sinfo_assoc_id = inp->def_send.sinfo_assoc_id;
13706|  7.09k|	}
13707|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
13708|       |	if (flags & MSG_EOR) {
13709|       |		sinfo_flags |= SCTP_EOR;
13710|       |	}
13711|       |	if (flags & MSG_EOF) {
13712|       |		sinfo_flags |= SCTP_EOF;
13713|       |	}
13714|       |#endif
13715|  7.09k|	if ((sinfo_flags & SCTP_ADDR_OVER) && (addr == NULL)) {
  ------------------
  |  |  260|  7.09k|#define SCTP_ADDR_OVER        0x0800 /* Override the primary-address */
  ------------------
  |  Branch (13715:6): [True: 0, False: 7.09k]
  |  Branch (13715:40): [True: 0, False: 0]
  ------------------
13716|      0|		error = EINVAL;
13717|      0|		goto out_unlocked;
13718|      0|	}
13719|  7.09k|	SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|  7.09k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  7.09k|	do {                         \
  |  |  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  7.09k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13720|  7.09k|	if ((sinfo_flags & SCTP_SENDALL) &&
  ------------------
  |  |  261|  7.09k|#define SCTP_SENDALL          0x1000 /* Send this on all associations */
  ------------------
  |  Branch (13720:6): [True: 0, False: 7.09k]
  ------------------
13721|  7.09k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE)) {
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (13721:6): [True: 0, False: 0]
  ------------------
13722|      0|		SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13723|      0|		error = sctp_sendall(inp, uio, top, sndrcvninfo);
13724|      0|		top = NULL;
13725|      0|		goto out_unlocked;
13726|      0|	}
13727|       |	/* Now we must find the association. */
13728|  7.09k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_CONNECTED) ||
  ------------------
  |  |  542|  7.09k|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
  |  Branch (13728:6): [True: 7.09k, False: 0]
  ------------------
13729|  7.09k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) {
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (13729:6): [True: 0, False: 0]
  ------------------
13730|  7.09k|		stcb = LIST_FIRST(&inp->sctp_asoc_list);
13731|  7.09k|		if (stcb != NULL) {
  ------------------
  |  Branch (13731:7): [True: 7.09k, False: 0]
  ------------------
13732|  7.09k|			SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|  7.09k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  7.09k|	do {                         \
  |  |  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  7.09k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13733|  7.09k|		}
13734|  7.09k|		SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|  7.09k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  7.09k|	do {                         \
  |  |  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  7.09k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13735|  7.09k|	} else if (sinfo_assoc_id > SCTP_ALL_ASSOC) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (13735:13): [True: 0, False: 0]
  ------------------
13736|      0|		stcb = sctp_findasoc_ep_asocid_locked(inp, sinfo_assoc_id, 1);
13737|      0|		SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13738|      0|		if (stcb != NULL) {
  ------------------
  |  Branch (13738:7): [True: 0, False: 0]
  ------------------
13739|      0|			SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13740|      0|		}
13741|      0|	} else if (addr != NULL) {
  ------------------
  |  Branch (13741:13): [True: 0, False: 0]
  ------------------
13742|       |		/*-
13743|       |		 * Since we did not use findep we must
13744|       |		 * increment it, and if we don't find a tcb
13745|       |		 * decrement it.
13746|       |		 */
13747|      0|		SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
13748|      0|		SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13749|      0|		stcb = sctp_findassociation_ep_addr(&t_inp, addr, &net, NULL, NULL);
13750|      0|		if (stcb == NULL) {
  ------------------
  |  Branch (13750:7): [True: 0, False: 0]
  ------------------
13751|      0|			SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13752|      0|			SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
13753|      0|			SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13754|      0|		} else {
13755|      0|			SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13756|      0|		}
13757|      0|	} else {
13758|      0|		SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13759|      0|	}
13760|       |
13761|  7.09k|#ifdef INVARIANTS
13762|  7.09k|	if (stcb != NULL) {
  ------------------
  |  Branch (13762:6): [True: 7.09k, False: 0]
  ------------------
13763|  7.09k|		SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  7.09k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  7.09k|	do {                         \
  |  |  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  7.09k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13764|  7.09k|	}
13765|  7.09k|#endif
13766|       |
13767|  7.09k|	if ((stcb == NULL) && (addr != NULL)) {
  ------------------
  |  Branch (13767:6): [True: 0, False: 7.09k]
  |  Branch (13767:24): [True: 0, False: 0]
  ------------------
13768|       |		/* Possible implicit send? */
13769|      0|		SCTP_ASOC_CREATE_LOCK(inp);
  ------------------
  |  |  427|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13770|      0|		create_lock_applied = true;
13771|      0|		if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) ||
  ------------------
  |  |  549|      0|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (13771:7): [True: 0, False: 0]
  ------------------
13772|      0|		    (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE)) {
  ------------------
  |  |  550|      0|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (13772:7): [True: 0, False: 0]
  ------------------
13773|      0|			error = EINVAL;
13774|      0|			goto out_unlocked;
13775|      0|		}
13776|      0|		if (((inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) == 0) &&
  ------------------
  |  |  547|      0|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  |  Branch (13776:7): [True: 0, False: 0]
  ------------------
13777|      0|		    (addr->sa_family == AF_INET6)) {
  ------------------
  |  Branch (13777:7): [True: 0, False: 0]
  ------------------
13778|      0|			error = EINVAL;
13779|      0|			goto out_unlocked;
13780|      0|		}
13781|      0|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13782|      0|		SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
13783|      0|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13784|       |		/* With the lock applied look again */
13785|      0|		stcb = sctp_findassociation_ep_addr(&t_inp, addr, &net, NULL, NULL);
13786|      0|#if defined(INET) || defined(INET6)
13787|      0|		if ((stcb == NULL) && (control != NULL) && (port > 0)) {
  ------------------
  |  Branch (13787:7): [True: 0, False: 0]
  |  Branch (13787:25): [True: 0, False: 0]
  |  Branch (13787:46): [True: 0, False: 0]
  ------------------
13788|      0|			stcb = sctp_findassociation_cmsgs(&t_inp, port, control, &net, &error);
13789|      0|		}
13790|      0|#endif
13791|      0|		if (stcb == NULL) {
  ------------------
  |  Branch (13791:7): [True: 0, False: 0]
  ------------------
13792|      0|			SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13793|      0|			SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
13794|      0|			SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13795|      0|		} else {
13796|      0|			SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13797|      0|			SCTP_ASOC_CREATE_UNLOCK(inp);
  ------------------
  |  |  430|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13798|      0|			create_lock_applied = false;
13799|      0|		}
13800|      0|		if (error != 0) {
  ------------------
  |  Branch (13800:7): [True: 0, False: 0]
  ------------------
13801|      0|			goto out_unlocked;
13802|      0|		}
13803|      0|		if (t_inp != inp) {
  ------------------
  |  Branch (13803:7): [True: 0, False: 0]
  ------------------
13804|      0|			error = ENOTCONN;
13805|      0|			goto out_unlocked;
13806|      0|		}
13807|      0|	}
13808|  7.09k|	if (stcb == NULL) {
  ------------------
  |  Branch (13808:6): [True: 0, False: 7.09k]
  ------------------
13809|      0|		if (addr == NULL) {
  ------------------
  |  Branch (13809:7): [True: 0, False: 0]
  ------------------
13810|      0|			error = ENOENT;
13811|      0|			goto out_unlocked;
13812|      0|		} else {
13813|       |			/* We must go ahead and start the INIT process */
13814|      0|			uint32_t vrf_id;
13815|       |
13816|      0|			if ((sinfo_flags & SCTP_ABORT) ||
  ------------------
  |  |  258|      0|#define SCTP_ABORT            0x0200 /* Send an ABORT to peer */
  ------------------
  |  Branch (13816:8): [True: 0, False: 0]
  ------------------
13817|      0|			    ((sinfo_flags & SCTP_EOF) && (sndlen == 0))) {
  ------------------
  |  |  257|      0|#define SCTP_EOF              0x0100 /* Start shutdown procedures */
  ------------------
  |  Branch (13817:9): [True: 0, False: 0]
  |  Branch (13817:37): [True: 0, False: 0]
  ------------------
13818|       |				/*-
13819|       |				 * User asks to abort a non-existent assoc,
13820|       |				 * or EOF a non-existent assoc with no data
13821|       |				 */
13822|      0|				error = ENOENT;
13823|      0|				goto out_unlocked;
13824|      0|			}
13825|       |			/* get an asoc/stcb struct */
13826|      0|			vrf_id = inp->def_vrf_id;
13827|      0|			KASSERT(create_lock_applied, ("create_lock_applied is false"));
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
13828|      0|			stcb = sctp_aloc_assoc_connected(inp, addr, &error, 0, 0, vrf_id,
13829|      0|			                                 inp->sctp_ep.pre_open_stream_count,
13830|      0|			                                 inp->sctp_ep.port,
13831|       |#if !defined(__Userspace__)
13832|       |			                                 p,
13833|       |#else
13834|      0|			                                 (struct proc *)NULL,
13835|      0|#endif
13836|      0|			                                 SCTP_INITIALIZE_AUTH_PARAMS);
  ------------------
  |  |  782|      0|#define SCTP_INITIALIZE_AUTH_PARAMS		1
  ------------------
13837|      0|			if (stcb == NULL) {
  ------------------
  |  Branch (13837:8): [True: 0, False: 0]
  ------------------
13838|       |				/* error is setup for us in the call. */
13839|      0|				KASSERT(error != 0, ("error is 0 although stcb is NULL"));
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
13840|      0|				goto out_unlocked;
13841|      0|			}
13842|      0|			SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13843|      0|			SCTP_ASOC_CREATE_UNLOCK(inp);
  ------------------
  |  |  430|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13844|      0|			create_lock_applied = false;
13845|       |			/* Turn on queue only flag to prevent data from being sent */
13846|      0|			queue_only = 1;
13847|      0|			SCTP_SET_STATE(stcb, SCTP_STATE_COOKIE_WAIT);
  ------------------
  |  |  474|      0|	sctp_set_state(_stcb, _state)
  ------------------
13848|      0|			(void)SCTP_GETTIME_TIMEVAL(&stcb->asoc.time_entered);
  ------------------
  |  |  991|      0|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
13849|      0|			if (control != NULL) {
  ------------------
  |  Branch (13849:8): [True: 0, False: 0]
  ------------------
13850|      0|				if (sctp_process_cmsgs_for_init(stcb, control, &error)) {
  ------------------
  |  Branch (13850:9): [True: 0, False: 0]
  ------------------
13851|      0|					sctp_free_assoc(inp, stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|      0|#define SCTP_NORMAL_PROC      0
  ------------------
13852|      0|					                SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_6);
  ------------------
  |  |  763|      0|#define SCTP_FROM_SCTP_OUTPUT       0x90000000
  ------------------
              					                SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_6);
  ------------------
  |  |  774|      0|#define SCTP_LOC_6  0x00000006
  ------------------
13853|      0|					stcb = NULL;
13854|      0|					KASSERT(error != 0,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
13855|      0|					    ("error is 0 although sctp_process_cmsgs_for_init() indicated an error"));
13856|      0|					goto out_unlocked;
13857|      0|				}
13858|      0|			}
13859|       |			/* out with the INIT */
13860|      0|			queue_only_for_init = 1;
13861|       |			/*-
13862|       |			 * we may want to dig in after this call and adjust the MTU
13863|       |			 * value. It defaulted to 1500 (constant) but the ro
13864|       |			 * structure may now have an update and thus we may need to
13865|       |			 * change it BEFORE we append the message.
13866|       |			 */
13867|      0|		}
13868|      0|	}
13869|       |
13870|  7.09k|	KASSERT(!create_lock_applied, ("create_lock_applied is true"));
  ------------------
  |  |  112|  7.09k|	do {                         \
  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  7.09k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
13871|  7.09k|	KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|  7.09k|	do {                         \
  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  7.09k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
13872|  7.09k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  7.09k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  7.09k|	do {                         \
  |  |  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  7.09k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13873|       |
13874|  7.09k|	asoc = &stcb->asoc;
13875|  7.09k|	if ((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) ||
  ------------------
  |  |  465|  7.09k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (13875:6): [True: 0, False: 7.09k]
  ------------------
13876|  7.09k|	    (asoc->state & SCTP_STATE_WAS_ABORTED)) {
  ------------------
  |  |  467|  7.09k|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (13876:6): [True: 0, False: 7.09k]
  ------------------
13877|      0|		if (asoc->state & SCTP_STATE_WAS_ABORTED) {
  ------------------
  |  |  467|      0|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (13877:7): [True: 0, False: 0]
  ------------------
13878|       |			/* XXX: Could also be ECONNABORTED, not enough info. */
13879|      0|			error = ECONNRESET;
13880|      0|		} else {
13881|      0|			error = ENOTCONN;
13882|      0|		}
13883|      0|		goto out_unlocked;
13884|      0|	}
13885|  7.09k|	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  472|  7.09k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  7.09k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  457|  7.09k|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (13885:6): [True: 1.47k, False: 5.61k]
  ------------------
13886|  7.09k|	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  472|  5.61k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  5.61k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  458|  5.61k|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (13886:6): [True: 1.60k, False: 4.01k]
  ------------------
13887|  3.08k|		queue_only = 1;
13888|  3.08k|	}
13889|       |	/* Keep the stcb from being freed under our feet. */
13890|  7.09k|	atomic_add_int(&asoc->refcnt, 1);
  ------------------
  |  |   94|  7.09k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
13891|  7.09k|	free_cnt_applied = true;
13892|  7.09k|	if (sndrcvninfo == NULL) {
  ------------------
  |  Branch (13892:6): [True: 7.09k, False: 0]
  ------------------
13893|       |		/* Use a local copy to have a consistent view. */
13894|  7.09k|		sndrcvninfo_buf = asoc->def_send;
13895|  7.09k|		sndrcvninfo = &sndrcvninfo_buf;
13896|  7.09k|		sinfo_flags = sndrcvninfo->sinfo_flags;
13897|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
13898|       |		if (flags & MSG_EOR) {
13899|       |			sinfo_flags |= SCTP_EOR;
13900|       |		}
13901|       |		if (flags & MSG_EOF) {
13902|       |			sinfo_flags |= SCTP_EOF;
13903|       |		}
13904|       |#endif
13905|  7.09k|	}
13906|       |	/* Are we aborting? */
13907|  7.09k|	if (sinfo_flags & SCTP_ABORT) {
  ------------------
  |  |  258|  7.09k|#define SCTP_ABORT            0x0200 /* Send an ABORT to peer */
  ------------------
  |  Branch (13907:6): [True: 0, False: 7.09k]
  ------------------
13908|      0|		struct mbuf *mm;
13909|      0|		struct sctp_paramhdr *ph;
13910|      0|		ssize_t tot_demand, tot_out = 0, max_out;
13911|       |
13912|      0|		SCTP_STAT_INCR(sctps_sends_with_abort);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13913|      0|		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  457|      0|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (13913:7): [True: 0, False: 0]
  ------------------
13914|      0|		    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  458|      0|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (13914:7): [True: 0, False: 0]
  ------------------
13915|       |			/* It has to be up before we abort. */
13916|      0|			error = EINVAL;
13917|      0|			goto out_unlocked;
13918|      0|		}
13919|       |		/* How big is the user initiated abort? */
13920|      0|		if (top != NULL) {
  ------------------
  |  Branch (13920:7): [True: 0, False: 0]
  ------------------
13921|      0|			struct mbuf *cntm;
13922|       |
13923|      0|			if (sndlen != 0) {
  ------------------
  |  Branch (13923:8): [True: 0, False: 0]
  ------------------
13924|      0|				for (cntm = top; cntm; cntm = SCTP_BUF_NEXT(cntm)) {
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (13924:22): [True: 0, False: 0]
  ------------------
13925|      0|					tot_out += SCTP_BUF_LEN(cntm);
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
13926|      0|				}
13927|      0|			}
13928|      0|			mm = sctp_get_mbuf_for_msg(sizeof(struct sctp_paramhdr), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              			mm = sctp_get_mbuf_for_msg(sizeof(struct sctp_paramhdr), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|      0|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
13929|      0|		} else {
13930|       |			/* Must fit in a MTU */
13931|      0|			tot_out = sndlen;
13932|      0|			tot_demand = (tot_out + sizeof(struct sctp_paramhdr));
13933|      0|			if (tot_demand > SCTP_DEFAULT_ADD_MORE) {
  ------------------
  |  |  837|      0|#define SCTP_DEFAULT_ADD_MORE 1452
  ------------------
  |  Branch (13933:8): [True: 0, False: 0]
  ------------------
13934|      0|				error = EMSGSIZE;
13935|      0|				goto out_unlocked;
13936|      0|			}
13937|      0|			mm = sctp_get_mbuf_for_msg((unsigned int)tot_demand, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              			mm = sctp_get_mbuf_for_msg((unsigned int)tot_demand, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|      0|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
13938|      0|		}
13939|      0|		if (mm == NULL) {
  ------------------
  |  Branch (13939:7): [True: 0, False: 0]
  ------------------
13940|      0|			error = ENOMEM;
13941|      0|			goto out_unlocked;
13942|      0|		}
13943|      0|		max_out = asoc->smallest_mtu - sizeof(struct sctp_paramhdr);
13944|      0|		max_out -= sizeof(struct sctp_abort_msg);
13945|      0|		if (tot_out > max_out) {
  ------------------
  |  Branch (13945:7): [True: 0, False: 0]
  ------------------
13946|      0|			tot_out = max_out;
13947|      0|		}
13948|      0|		ph = mtod(mm, struct sctp_paramhdr *);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
13949|      0|		ph->param_type = htons(SCTP_CAUSE_USER_INITIATED_ABT);
13950|      0|		ph->param_length = htons((uint16_t)(sizeof(struct sctp_paramhdr) + tot_out));
13951|      0|		ph++;
13952|      0|		SCTP_BUF_LEN(mm) = (int)(tot_out + sizeof(struct sctp_paramhdr));
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
13953|      0|		if (top == NULL) {
  ------------------
  |  Branch (13953:7): [True: 0, False: 0]
  ------------------
13954|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13955|       |#if defined(__APPLE__) && !defined(__Userspace__)
13956|       |			SCTP_SOCKET_UNLOCK(so, 0);
13957|       |#endif
13958|      0|			error = uiomove((caddr_t)ph, (int)tot_out, uio);
13959|       |#if defined(__APPLE__) && !defined(__Userspace__)
13960|       |			SCTP_SOCKET_LOCK(so, 0);
13961|       |#endif
13962|      0|			SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13963|      0|			if ((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) ||
  ------------------
  |  |  465|      0|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (13963:8): [True: 0, False: 0]
  ------------------
13964|      0|			    (asoc->state & SCTP_STATE_WAS_ABORTED)) {
  ------------------
  |  |  467|      0|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (13964:8): [True: 0, False: 0]
  ------------------
13965|      0|				sctp_m_freem(mm);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
13966|      0|				if (asoc->state & SCTP_STATE_WAS_ABORTED) {
  ------------------
  |  |  467|      0|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (13966:9): [True: 0, False: 0]
  ------------------
13967|       |					/* XXX: Could also be ECONNABORTED, not enough info. */
13968|      0|					error = ECONNRESET;
13969|      0|				} else {
13970|      0|					error = ENOTCONN;
13971|      0|				}
13972|      0|				goto out_unlocked;
13973|      0|			}
13974|      0|			if (error != 0) {
  ------------------
  |  Branch (13974:8): [True: 0, False: 0]
  ------------------
13975|       |				/*-
13976|       |				 * Here if we can't get his data we
13977|       |				 * still abort we just don't get to
13978|       |				 * send the users note :-0
13979|       |				 */
13980|      0|				sctp_m_freem(mm);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
13981|      0|				mm = NULL;
13982|      0|				error = 0;
13983|      0|			}
13984|      0|		} else {
13985|      0|			if (sndlen != 0) {
  ------------------
  |  Branch (13985:8): [True: 0, False: 0]
  ------------------
13986|      0|				SCTP_BUF_NEXT(mm) = top;
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
13987|      0|			}
13988|      0|		}
13989|      0|		atomic_subtract_int(&asoc->refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
13990|      0|		free_cnt_applied = false;
13991|       |		/* release this lock, otherwise we hang on ourselves */
13992|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
13993|       |		NET_EPOCH_ENTER(et);
13994|       |#endif
13995|      0|		sctp_abort_an_association(stcb->sctp_ep, stcb, mm, false, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
13996|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
13997|       |		NET_EPOCH_EXIT(et);
13998|       |#endif
13999|      0|		stcb = NULL;
14000|       |		/* In this case top is already chained to mm
14001|       |		 * avoid double free, since we free it below if
14002|       |		 * top != NULL and driver would free it after sending
14003|       |		 * the packet out
14004|       |		 */
14005|      0|		if (sndlen != 0) {
  ------------------
  |  Branch (14005:7): [True: 0, False: 0]
  ------------------
14006|      0|			top = NULL;
14007|      0|		}
14008|      0|		goto out_unlocked;
14009|      0|	}
14010|       |
14011|  7.09k|	KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|  7.09k|	do {                         \
  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  7.09k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14012|  7.09k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  7.09k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  7.09k|	do {                         \
  |  |  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  7.09k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14013|  7.09k|	KASSERT((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0,
  ------------------
  |  |  112|  7.09k|	do {                         \
  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  7.09k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14014|  7.09k|	        ("Association about to be freed"));
14015|  7.09k|	KASSERT((asoc->state & SCTP_STATE_WAS_ABORTED) == 0,
  ------------------
  |  |  112|  7.09k|	do {                         \
  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  7.09k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14016|  7.09k|	        ("Association was aborted"));
14017|       |
14018|  7.09k|	if (sinfo_flags & SCTP_ADDR_OVER) {
  ------------------
  |  |  260|  7.09k|#define SCTP_ADDR_OVER        0x0800 /* Override the primary-address */
  ------------------
  |  Branch (14018:6): [True: 0, False: 7.09k]
  ------------------
14019|      0|		if (addr != NULL) {
  ------------------
  |  Branch (14019:7): [True: 0, False: 0]
  ------------------
14020|      0|			net = sctp_findnet(stcb, addr);
14021|      0|		} else {
14022|      0|			net = NULL;
14023|      0|		}
14024|      0|		if ((net == NULL) ||
  ------------------
  |  Branch (14024:7): [True: 0, False: 0]
  ------------------
14025|      0|		    ((port != 0) && (port != stcb->rport))) {
  ------------------
  |  Branch (14025:8): [True: 0, False: 0]
  |  Branch (14025:23): [True: 0, False: 0]
  ------------------
14026|      0|			error = EINVAL;
14027|      0|			goto out_unlocked;
14028|      0|		}
14029|  7.09k|	} else {
14030|  7.09k|		if (asoc->alternate != NULL) {
  ------------------
  |  Branch (14030:7): [True: 0, False: 7.09k]
  ------------------
14031|      0|			net = asoc->alternate;
14032|  7.09k|		} else {
14033|  7.09k|			net = asoc->primary_destination;
14034|  7.09k|		}
14035|  7.09k|	}
14036|  7.09k|	if (sndlen == 0) {
  ------------------
  |  Branch (14036:6): [True: 0, False: 7.09k]
  ------------------
14037|      0|		if (sinfo_flags & SCTP_EOF) {
  ------------------
  |  |  257|      0|#define SCTP_EOF              0x0100 /* Start shutdown procedures */
  ------------------
  |  Branch (14037:7): [True: 0, False: 0]
  ------------------
14038|      0|			got_all_of_the_send = true;
14039|      0|			goto dataless_eof;
14040|      0|		} else {
14041|      0|			error = EINVAL;
14042|      0|			goto out_unlocked;
14043|      0|		}
14044|      0|	}
14045|  7.09k|	if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_NO_FRAGMENT)) {
  ------------------
  |  |   52|  7.09k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 0, False: 7.09k]
  |  |  ------------------
  ------------------
14046|      0|		if (sndlen > (ssize_t)asoc->smallest_mtu) {
  ------------------
  |  Branch (14046:7): [True: 0, False: 0]
  ------------------
14047|      0|			error = EMSGSIZE;
14048|      0|			goto out_unlocked;
14049|      0|		}
14050|      0|	}
14051|  7.09k|	sinfo_stream = sndrcvninfo->sinfo_stream;
14052|       |	/* Is the stream no. valid? */
14053|  7.09k|	if (sinfo_stream >= asoc->streamoutcnt) {
  ------------------
  |  Branch (14053:6): [True: 0, False: 7.09k]
  ------------------
14054|       |		/* Invalid stream number */
14055|      0|		error = EINVAL;
14056|      0|		goto out_unlocked;
14057|      0|	}
14058|  7.09k|	if ((asoc->strmout[sinfo_stream].state != SCTP_STREAM_OPEN) &&
  ------------------
  |  |  670|  7.09k|#define SCTP_STREAM_OPEN             0x02
  ------------------
  |  Branch (14058:6): [True: 2.36k, False: 4.73k]
  ------------------
14059|  7.09k|	    (asoc->strmout[sinfo_stream].state != SCTP_STREAM_OPENING)) {
  ------------------
  |  |  669|  2.36k|#define SCTP_STREAM_OPENING          0x01
  ------------------
  |  Branch (14059:6): [True: 889, False: 1.47k]
  ------------------
14060|       |		/*
14061|       |		 * Can't queue any data while stream reset is underway.
14062|       |		 */
14063|    889|		if (asoc->strmout[sinfo_stream].state > SCTP_STREAM_OPEN) {
  ------------------
  |  |  670|    889|#define SCTP_STREAM_OPEN             0x02
  ------------------
  |  Branch (14063:7): [True: 889, False: 0]
  ------------------
14064|    889|			error = EAGAIN;
14065|    889|		} else {
14066|      0|			error = EINVAL;
14067|      0|		}
14068|    889|		goto out_unlocked;
14069|    889|	}
14070|  6.20k|	atomic_add_int(&stcb->total_sends, 1);
  ------------------
  |  |   94|  6.20k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
14071|  6.20k|#if defined(__Userspace__)
14072|  6.20k|	if (inp->recv_callback != NULL) {
  ------------------
  |  Branch (14072:6): [True: 0, False: 6.20k]
  ------------------
14073|      0|		non_blocking = true;
14074|      0|	}
14075|  6.20k|#endif
14076|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14077|       |	if (SCTP_SO_IS_NBIO(so) || (flags & (MSG_NBIO | MSG_DONTWAIT)) != 0) {
14078|       |#else
14079|  6.20k|	if (SCTP_SO_IS_NBIO(so)) {
  ------------------
  |  |  950|  6.20k|#define SCTP_SO_IS_NBIO(so)	((so)->so_state & SS_NBIO)
  |  |  ------------------
  |  |  |  |  343|  6.20k|#define	SS_NBIO			0x0100	/* non-blocking ops */
  |  |  ------------------
  |  |  |  Branch (950:29): [True: 6.20k, False: 0]
  |  |  ------------------
  ------------------
14080|  6.20k|#endif
14081|  6.20k|		non_blocking = true;
14082|  6.20k|	}
14083|  6.20k|	if (non_blocking) {
  ------------------
  |  Branch (14083:6): [True: 6.20k, False: 0]
  ------------------
14084|  6.20k|		ssize_t amount;
14085|       |
14086|  6.20k|		inqueue_bytes = asoc->total_output_queue_size - (asoc->chunks_on_out_queue * SCTP_DATA_CHUNK_OVERHEAD(stcb));
  ------------------
  |  |  134|  6.20k|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 5.07k, False: 1.12k]
  |  |  ------------------
  |  |  135|  6.20k|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|  6.20k|                                        sizeof(struct sctp_data_chunk))
  ------------------
14087|  6.20k|		if (user_marks_eor == 0) {
  ------------------
  |  Branch (14087:7): [True: 6.20k, False: 0]
  ------------------
14088|  6.20k|			amount = sndlen;
14089|  6.20k|		} else {
14090|      0|			amount = 1;
14091|      0|		}
14092|  6.20k|		if ((SCTP_SB_LIMIT_SND(so) < (amount + inqueue_bytes + asoc->sb_send_resv)) ||
  ------------------
  |  |  978|  6.20k|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
  |  Branch (14092:7): [True: 0, False: 6.20k]
  ------------------
14093|  6.20k|		    (asoc->chunks_on_out_queue >= SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue))) {
  ------------------
  |  |  584|  6.20k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (14093:7): [True: 0, False: 6.20k]
  ------------------
14094|      0|			if ((sndlen > (ssize_t)SCTP_SB_LIMIT_SND(so)) &&
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
  |  Branch (14094:8): [True: 0, False: 0]
  ------------------
14095|      0|			    (user_marks_eor == 0)) {
  ------------------
  |  Branch (14095:8): [True: 0, False: 0]
  ------------------
14096|      0|				error = EMSGSIZE;
14097|      0|			} else {
14098|      0|				error = EWOULDBLOCK;
14099|      0|			}
14100|      0|			goto out_unlocked;
14101|      0|		}
14102|  6.20k|	}
14103|  6.20k|	atomic_add_int(&asoc->sb_send_resv, (int)sndlen);
  ------------------
  |  |   94|  6.20k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
14104|  6.20k|	local_soresv = sndlen;
14105|       |
14106|  6.20k|	KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14107|  6.20k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.20k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14108|  6.20k|	KASSERT((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14109|  6.20k|	        ("Association about to be freed"));
14110|  6.20k|	KASSERT((asoc->state & SCTP_STATE_WAS_ABORTED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14111|  6.20k|	        ("Association was aborted"));
14112|       |
14113|       |	/* Ok, we will attempt a msgsnd :> */
14114|       |#if !(defined(_WIN32) || defined(__Userspace__))
14115|       |	if (p != NULL) {
14116|       |#if defined(__FreeBSD__)
14117|       |		p->td_ru.ru_msgsnd++;
14118|       |#else
14119|       |		p->p_stats->p_ru.ru_msgsnd++;
14120|       |#endif
14121|       |	}
14122|       |#endif
14123|       |	/* Calculate the maximum we can send */
14124|  6.20k|	inqueue_bytes = asoc->total_output_queue_size - (asoc->chunks_on_out_queue * SCTP_DATA_CHUNK_OVERHEAD(stcb));
  ------------------
  |  |  134|  6.20k|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 5.07k, False: 1.12k]
  |  |  ------------------
  |  |  135|  6.20k|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|  6.20k|                                        sizeof(struct sctp_data_chunk))
  ------------------
14125|  6.20k|	if (SCTP_SB_LIMIT_SND(so) > inqueue_bytes) {
  ------------------
  |  |  978|  6.20k|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
  |  Branch (14125:6): [True: 6.20k, False: 0]
  ------------------
14126|  6.20k|		max_len = SCTP_SB_LIMIT_SND(so) - inqueue_bytes;
  ------------------
  |  |  978|  6.20k|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
14127|  6.20k|	} else {
14128|      0|		max_len = 0;
14129|      0|	}
14130|       |	/* Unless E_EOR mode is on, we must make a send FIT in one call. */
14131|  6.20k|	if ((user_marks_eor == 0) &&
  ------------------
  |  Branch (14131:6): [True: 6.20k, False: 0]
  ------------------
14132|  6.20k|	    (sndlen > (ssize_t)SCTP_SB_LIMIT_SND(stcb->sctp_socket))) {
  ------------------
  |  |  978|  6.20k|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
  |  Branch (14132:6): [True: 0, False: 6.20k]
  ------------------
14133|       |		/* It will NEVER fit. */
14134|      0|		error = EMSGSIZE;
14135|      0|		goto out_unlocked;
14136|      0|	}
14137|  6.20k|	if (user_marks_eor != 0) {
  ------------------
  |  Branch (14137:6): [True: 0, False: 6.20k]
  ------------------
14138|      0|		local_add_more = (ssize_t)min(SCTP_SB_LIMIT_SND(so), SCTP_BASE_SYSCTL(sctp_add_more_threshold));
  ------------------
  |  |   66|      0|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 0]
  |  |  ------------------
  ------------------
14139|  6.20k|	} else {
14140|       |		/*-
14141|       |		 * For non-eeor the whole message must fit in
14142|       |		 * the socket send buffer.
14143|       |		 */
14144|  6.20k|		local_add_more = sndlen;
14145|  6.20k|	}
14146|  6.20k|	if (non_blocking) {
  ------------------
  |  Branch (14146:6): [True: 6.20k, False: 0]
  ------------------
14147|  6.20k|		goto skip_preblock;
14148|  6.20k|	}
14149|      0|	if (((max_len <= local_add_more) && ((ssize_t)SCTP_SB_LIMIT_SND(so) >= local_add_more)) ||
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
  |  Branch (14149:7): [True: 0, False: 0]
  |  Branch (14149:38): [True: 0, False: 0]
  ------------------
14150|      0|	    (max_len == 0) ||
  ------------------
  |  Branch (14150:6): [True: 0, False: 0]
  ------------------
14151|      0|	    ((asoc->chunks_on_out_queue + asoc->stream_queue_cnt) >= SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue))) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (14151:6): [True: 0, False: 0]
  ------------------
14152|       |		/* No room right now! */
14153|      0|		inqueue_bytes = asoc->total_output_queue_size - (asoc->chunks_on_out_queue * SCTP_DATA_CHUNK_OVERHEAD(stcb));
  ------------------
  |  |  134|      0|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 0, False: 0]
  |  |  ------------------
  |  |  135|      0|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|      0|                                        sizeof(struct sctp_data_chunk))
  ------------------
14154|      0|		SOCKBUF_LOCK(&so->so_snd);
  ------------------
  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14155|      0|		while ((SCTP_SB_LIMIT_SND(so) < (inqueue_bytes + local_add_more)) ||
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
  |  Branch (14155:10): [True: 0, False: 0]
  ------------------
14156|      0|		       ((asoc->stream_queue_cnt + asoc->chunks_on_out_queue) >= SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue))) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (14156:10): [True: 0, False: 0]
  ------------------
14157|      0|			SCTPDBG(SCTP_DEBUG_OUTPUT1,"pre_block limit:%u <(inq:%d + %zd) || (%d+%d > %d)\n",
14158|      0|			        (unsigned int)SCTP_SB_LIMIT_SND(so),
14159|      0|			        inqueue_bytes,
14160|      0|			        local_add_more,
14161|      0|			        asoc->stream_queue_cnt,
14162|      0|			        asoc->chunks_on_out_queue,
14163|      0|			        SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue));
14164|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  646|      0|#define SCTP_BLK_LOGGING_ENABLE				0x00000001
  ------------------
  |  Branch (14164:8): [True: 0, False: 0]
  ------------------
14165|      0|				sctp_log_block(SCTP_BLOCK_LOG_INTO_BLKA, asoc, sndlen);
  ------------------
  |  |  185|      0|#define SCTP_BLOCK_LOG_INTO_BLKA    81
  ------------------
14166|      0|			}
14167|      0|			be.error = 0;
14168|      0|#if !(defined(_WIN32) && !defined(__Userspace__))
14169|      0|			stcb->block_entry = &be;
14170|      0|#endif
14171|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14172|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14173|       |			error = sbwait(so, SO_SND);
14174|       |#else
14175|      0|			error = sbwait(&so->so_snd);
14176|      0|#endif
14177|      0|			if (error == 0) {
  ------------------
  |  Branch (14177:8): [True: 0, False: 0]
  ------------------
14178|      0|				if (so->so_error != 0) {
  ------------------
  |  Branch (14178:9): [True: 0, False: 0]
  ------------------
14179|      0|					error = so->so_error;
14180|      0|				}
14181|      0|				if (be.error != 0) {
  ------------------
  |  Branch (14181:9): [True: 0, False: 0]
  ------------------
14182|      0|					error = be.error;
14183|      0|				}
14184|      0|			}
14185|      0|			SOCKBUF_UNLOCK(&so->so_snd);
  ------------------
  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14186|      0|			SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14187|      0|			stcb->block_entry = NULL;
14188|      0|			if (error != 0) {
  ------------------
  |  Branch (14188:8): [True: 0, False: 0]
  ------------------
14189|      0|				goto out_unlocked;
14190|      0|			}
14191|      0|			if ((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) ||
  ------------------
  |  |  465|      0|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (14191:8): [True: 0, False: 0]
  ------------------
14192|      0|			    (asoc->state & SCTP_STATE_WAS_ABORTED)) {
  ------------------
  |  |  467|      0|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (14192:8): [True: 0, False: 0]
  ------------------
14193|      0|				if (asoc->state & SCTP_STATE_WAS_ABORTED) {
  ------------------
  |  |  467|      0|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (14193:9): [True: 0, False: 0]
  ------------------
14194|       |					/* XXX: Could also be ECONNABORTED, not enough info. */
14195|      0|					error = ECONNRESET;
14196|      0|				} else {
14197|      0|					error = ENOTCONN;
14198|      0|				}
14199|      0|				goto out_unlocked;
14200|      0|			}
14201|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  646|      0|#define SCTP_BLK_LOGGING_ENABLE				0x00000001
  ------------------
  |  Branch (14201:8): [True: 0, False: 0]
  ------------------
14202|      0|				sctp_log_block(SCTP_BLOCK_LOG_OUTOF_BLK,
  ------------------
  |  |  113|      0|#define SCTP_BLOCK_LOG_OUTOF_BLK 8
  ------------------
14203|      0|				               asoc, asoc->total_output_queue_size);
14204|      0|			}
14205|      0|			inqueue_bytes = asoc->total_output_queue_size - (asoc->chunks_on_out_queue * SCTP_DATA_CHUNK_OVERHEAD(stcb));
  ------------------
  |  |  134|      0|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 0, False: 0]
  |  |  ------------------
  |  |  135|      0|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|      0|                                        sizeof(struct sctp_data_chunk))
  ------------------
14206|      0|			SOCKBUF_LOCK(&so->so_snd);
  ------------------
  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14207|      0|		}
14208|      0|		if (SCTP_SB_LIMIT_SND(so) > inqueue_bytes) {
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
  |  Branch (14208:7): [True: 0, False: 0]
  ------------------
14209|      0|			max_len = SCTP_SB_LIMIT_SND(so) - inqueue_bytes;
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
14210|      0|		} else {
14211|      0|			max_len = 0;
14212|      0|		}
14213|      0|		SOCKBUF_UNLOCK(&so->so_snd);
  ------------------
  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14214|      0|	}
14215|       |
14216|  6.20k|skip_preblock:
14217|  6.20k|	KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14218|  6.20k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.20k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14219|  6.20k|	KASSERT((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14220|  6.20k|	        ("Association about to be freed"));
14221|  6.20k|	KASSERT((asoc->state & SCTP_STATE_WAS_ABORTED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14222|  6.20k|	        ("Association was aborted"));
14223|       |
14224|       |#if defined(__APPLE__) && !defined(__Userspace__)
14225|       |	error = sblock(&so->so_snd, SBLOCKWAIT(flags));
14226|       |	if (error != 0) {
14227|       |		goto out_unlocked;
14228|       |	}
14229|       |#endif
14230|       |	/* sndlen covers for mbuf case
14231|       |	 * uio_resid covers for the non-mbuf case
14232|       |	 * NOTE: uio will be null when top/mbuf is passed
14233|       |	 */
14234|  6.20k|	if (top == NULL) {
  ------------------
  |  Branch (14234:6): [True: 6.20k, False: 0]
  ------------------
14235|  6.20k|		struct sctp_stream_queue_pending *sp;
14236|  6.20k|		struct sctp_stream_out *strm;
14237|  6.20k|		uint32_t sndout;
14238|       |
14239|  6.20k|		if ((asoc->stream_locked) &&
  ------------------
  |  Branch (14239:7): [True: 0, False: 6.20k]
  ------------------
14240|  6.20k|		    (asoc->stream_locked_on != sinfo_stream)) {
  ------------------
  |  Branch (14240:7): [True: 0, False: 0]
  ------------------
14241|      0|			error = EINVAL;
14242|      0|			goto out;
14243|      0|		}
14244|  6.20k|		strm = &asoc->strmout[sinfo_stream];
14245|  6.20k|		if (strm->last_msg_incomplete == 0) {
  ------------------
  |  Branch (14245:7): [True: 6.20k, False: 0]
  ------------------
14246|  6.20k|		do_a_copy_in:
14247|  6.20k|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|  6.20k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14248|  6.20k|			sp = sctp_copy_it_in(stcb, asoc, sndrcvninfo, uio, net, max_len, user_marks_eor, &error);
14249|  6.20k|			SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|  6.20k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14250|  6.20k|			if ((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) ||
  ------------------
  |  |  465|  6.20k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (14250:8): [True: 0, False: 6.20k]
  ------------------
14251|  6.20k|			    (asoc->state & SCTP_STATE_WAS_ABORTED)) {
  ------------------
  |  |  467|  6.20k|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (14251:8): [True: 0, False: 6.20k]
  ------------------
14252|      0|				if (asoc->state & SCTP_STATE_WAS_ABORTED) {
  ------------------
  |  |  467|      0|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (14252:9): [True: 0, False: 0]
  ------------------
14253|       |					/* XXX: Could also be ECONNABORTED, not enough info. */
14254|      0|					error = ECONNRESET;
14255|      0|				} else {
14256|      0|					error = ENOTCONN;
14257|      0|				}
14258|      0|				goto out;
14259|      0|			}
14260|  6.20k|			if (error != 0) {
  ------------------
  |  Branch (14260:8): [True: 0, False: 6.20k]
  ------------------
14261|      0|				goto out;
14262|      0|			}
14263|       |			/*
14264|       |			 * Reject the sending of a new user message, if the
14265|       |			 * association is about to be shut down.
14266|       |			 */
14267|  6.20k|			if ((SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_SENT) ||
  ------------------
  |  |  472|  6.20k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  6.20k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			if ((SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_SENT) ||
  ------------------
  |  |  460|  6.20k|#define SCTP_STATE_SHUTDOWN_SENT	0x0010
  ------------------
  |  Branch (14267:8): [True: 0, False: 6.20k]
  ------------------
14268|  6.20k|			    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED) ||
  ------------------
  |  |  472|  6.20k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  6.20k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED) ||
  ------------------
  |  |  461|  6.20k|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (14268:8): [True: 0, False: 6.20k]
  ------------------
14269|  6.20k|			    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_ACK_SENT) ||
  ------------------
  |  |  472|  6.20k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  6.20k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_ACK_SENT) ||
  ------------------
  |  |  462|  6.20k|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (14269:8): [True: 0, False: 6.20k]
  ------------------
14270|  6.20k|			    (asoc->state & SCTP_STATE_SHUTDOWN_PENDING)) {
  ------------------
  |  |  463|  6.20k|#define SCTP_STATE_SHUTDOWN_PENDING	0x0080
  ------------------
  |  Branch (14270:8): [True: 0, False: 6.20k]
  ------------------
14271|      0|				if (sp->data != 0) {
  ------------------
  |  Branch (14271:9): [True: 0, False: 0]
  ------------------
14272|      0|					sctp_m_freem(sp->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
14273|      0|					sp->data = NULL;
14274|      0|					sp->tail_mbuf = NULL;
14275|      0|					sp->length = 0;
14276|      0|				}
14277|      0|				if (sp->net != NULL) {
  ------------------
  |  Branch (14277:9): [True: 0, False: 0]
  ------------------
14278|      0|					sctp_free_remote_addr(sp->net);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
14279|      0|					sp->net = NULL;
14280|      0|				}
14281|      0|				sctp_free_a_strmoq(stcb, sp, SCTP_SO_LOCKED);
  ------------------
  |  |  125|      0|#define sctp_free_a_strmoq(_stcb, _strmoq, _so_locked) { \
  |  |  126|      0|	if ((_strmoq)->holds_key_ref) { \
  |  |  ------------------
  |  |  |  Branch (126:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  127|      0|		sctp_auth_key_release(stcb, sp->auth_keyid, _so_locked); \
  |  |  128|      0|		(_strmoq)->holds_key_ref = 0; \
  |  |  129|      0|	} \
  |  |  130|      0|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_strmoq), (_strmoq)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  131|      0|	SCTP_DECR_STRMOQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  691|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_strmoq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  132|      0|}
  ------------------
14282|      0|				error = EPIPE;
14283|      0|				goto out_unlocked;
14284|      0|			}
14285|       |			/* The out streams might be reallocated. */
14286|  6.20k|			strm = &asoc->strmout[sinfo_stream];
14287|  6.20k|			if (sp->msg_is_complete) {
  ------------------
  |  Branch (14287:8): [True: 6.20k, False: 0]
  ------------------
14288|  6.20k|				strm->last_msg_incomplete = 0;
14289|  6.20k|				asoc->stream_locked = 0;
14290|  6.20k|			} else {
14291|       |				/* Just got locked to this guy in
14292|       |				 * case of an interrupt.
14293|       |				 */
14294|      0|				strm->last_msg_incomplete = 1;
14295|      0|				if (asoc->idata_supported == 0) {
  ------------------
  |  Branch (14295:9): [True: 0, False: 0]
  ------------------
14296|      0|					asoc->stream_locked = 1;
14297|      0|					asoc->stream_locked_on = sinfo_stream;
14298|      0|				}
14299|      0|				sp->sender_all_done = 0;
14300|      0|			}
14301|  6.20k|			sctp_snd_sb_alloc(stcb, sp->length);
  ------------------
  |  |  285|  6.20k|#define sctp_snd_sb_alloc(stcb, sz)  \
  |  |  286|  6.20k|do { \
  |  |  287|  6.20k|	atomic_add_int(&stcb->asoc.total_output_queue_size,sz); \
  |  |  ------------------
  |  |  |  |   94|  6.20k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  288|  6.20k|	if ((stcb->sctp_socket != NULL) && \
  |  |  ------------------
  |  |  |  Branch (288:6): [True: 6.20k, False: 0]
  |  |  ------------------
  |  |  289|  6.20k|	    ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || \
  |  |  ------------------
  |  |  |  |  532|  6.20k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (289:7): [True: 6.20k, False: 0]
  |  |  ------------------
  |  |  290|  6.20k|	     (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (290:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  291|  6.20k|		SCTP_SB_INCR(&stcb->sctp_socket->so_snd, sz); \
  |  |  ------------------
  |  |  |  |  963|  6.20k|#define SCTP_SB_INCR(sb, incr)			\
  |  |  |  |  964|  6.20k|{						\
  |  |  |  |  965|  6.20k|	atomic_add_int(&(sb)->sb_cc, incr);	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  6.20k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  |  |  966|  6.20k|}
  |  |  ------------------
  |  |  292|  6.20k|	} \
  |  |  293|  6.20k|} while (0)
  |  |  ------------------
  |  |  |  Branch (293:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
14302|  6.20k|			atomic_add_int(&asoc->stream_queue_cnt, 1);
  ------------------
  |  |   94|  6.20k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
14303|  6.20k|			if (sinfo_flags & SCTP_UNORDERED) {
  ------------------
  |  |  259|  6.20k|#define SCTP_UNORDERED        0x0400 /* Message is un-ordered */
  ------------------
  |  Branch (14303:8): [True: 0, False: 6.20k]
  ------------------
14304|      0|				SCTP_STAT_INCR(sctps_sends_with_unord);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14305|      0|			}
14306|  6.20k|			sp->processing = 1;
14307|  6.20k|			TAILQ_INSERT_TAIL(&strm->outqueue, sp, next);
14308|  6.20k|			asoc->ss_functions.sctp_ss_add_to_stream(stcb, asoc, strm, sp);
14309|  6.20k|		} else {
14310|      0|			sp = TAILQ_LAST(&strm->outqueue, sctp_streamhead);
14311|      0|			if (sp == NULL) {
  ------------------
  |  Branch (14311:8): [True: 0, False: 0]
  ------------------
14312|       |				/* ???? Huh ??? last msg is gone */
14313|      0|#ifdef INVARIANTS
14314|      0|				panic("Warning: Last msg marked incomplete, yet nothing left?");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
14315|       |#else
14316|       |				SCTP_PRINTF("Warning: Last msg marked incomplete, yet nothing left?\n");
14317|       |				strm->last_msg_incomplete = 0;
14318|       |#endif
14319|      0|				goto do_a_copy_in;
14320|      0|			}
14321|      0|			if (sp->processing != 0) {
  ------------------
  |  Branch (14321:8): [True: 0, False: 0]
  ------------------
14322|      0|				error = EINVAL;
14323|      0|				goto out;
14324|      0|			} else {
14325|      0|				sp->processing = 1;
14326|      0|			}
14327|      0|		}
14328|       |
14329|  6.20k|		KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14330|  6.20k|		SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.20k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14331|  6.20k|		KASSERT((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14332|  6.20k|		        ("Association about to be freed"));
14333|  6.20k|		KASSERT((asoc->state & SCTP_STATE_WAS_ABORTED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14334|  6.20k|		        ("Association was aborted"));
14335|       |
14336|       |#if defined(__APPLE__) && !defined(__Userspace__)
14337|       |#if defined(APPLE_LEOPARD)
14338|       |		while (uio->uio_resid > 0) {
14339|       |#else
14340|       |		while (uio_resid(uio) > 0) {
14341|       |#endif
14342|       |#else
14343|  6.20k|		while (uio->uio_resid > 0) {
  ------------------
  |  Branch (14343:10): [True: 0, False: 6.20k]
  ------------------
14344|      0|#endif
14345|       |			/* How much room do we have? */
14346|      0|			struct mbuf *new_tail, *mm;
14347|       |
14348|      0|			inqueue_bytes = asoc->total_output_queue_size - (asoc->chunks_on_out_queue * SCTP_DATA_CHUNK_OVERHEAD(stcb));
  ------------------
  |  |  134|      0|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 0, False: 0]
  |  |  ------------------
  |  |  135|      0|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|      0|                                        sizeof(struct sctp_data_chunk))
  ------------------
14349|      0|			if (SCTP_SB_LIMIT_SND(so) > inqueue_bytes) {
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
  |  Branch (14349:8): [True: 0, False: 0]
  ------------------
14350|      0|				max_len = SCTP_SB_LIMIT_SND(so) - inqueue_bytes;
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
14351|      0|			} else {
14352|      0|				max_len = 0;
14353|      0|			}
14354|      0|			if ((max_len > (ssize_t)SCTP_BASE_SYSCTL(sctp_add_more_threshold)) ||
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (14354:8): [True: 0, False: 0]
  ------------------
14355|      0|			    ((max_len > 0 ) && (SCTP_SB_LIMIT_SND(so) < SCTP_BASE_SYSCTL(sctp_add_more_threshold))) ||
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
              			    ((max_len > 0 ) && (SCTP_SB_LIMIT_SND(so) < SCTP_BASE_SYSCTL(sctp_add_more_threshold))) ||
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (14355:9): [True: 0, False: 0]
  |  Branch (14355:27): [True: 0, False: 0]
  ------------------
14356|       |#if defined(__APPLE__) && !defined(__Userspace__)
14357|       |#if defined(APPLE_LEOPARD)
14358|       |			    (uio->uio_resid <= max_len)) {
14359|       |#else
14360|       |			    (uio_resid(uio) <= max_len)) {
14361|       |#endif
14362|       |#else
14363|      0|			    (uio->uio_resid <= max_len)) {
  ------------------
  |  Branch (14363:8): [True: 0, False: 0]
  ------------------
14364|      0|#endif
14365|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14366|       |#if defined(__APPLE__) && !defined(__Userspace__)
14367|       |				SCTP_SOCKET_UNLOCK(so, 0);
14368|       |#endif
14369|      0|				sndout = 0;
14370|      0|				new_tail = NULL;
14371|      0|#if defined(__FreeBSD__) || defined(__Userspace__)
14372|      0|				mm = sctp_copy_resume(uio, (int)max_len, user_marks_eor, &error, &sndout, &new_tail);
14373|       |#else
14374|       |				mm = sctp_copy_resume(uio, (int)max_len, &error, &sndout, &new_tail);
14375|       |#endif
14376|       |#if defined(__APPLE__) && !defined(__Userspace__)
14377|       |				SCTP_SOCKET_LOCK(so, 0);
14378|       |#endif
14379|      0|				SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14380|      0|				if ((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) ||
  ------------------
  |  |  465|      0|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (14380:9): [True: 0, False: 0]
  ------------------
14381|      0|				    (asoc->state & SCTP_STATE_WAS_ABORTED)) {
  ------------------
  |  |  467|      0|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (14381:9): [True: 0, False: 0]
  ------------------
14382|       |					/* We need to get out.
14383|       |					 * Peer probably aborted.
14384|       |					 */
14385|      0|					sctp_m_freem(mm);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
14386|      0|					if (asoc->state & SCTP_STATE_WAS_ABORTED) {
  ------------------
  |  |  467|      0|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (14386:10): [True: 0, False: 0]
  ------------------
14387|       |						/* XXX: Could also be ECONNABORTED, not enough info. */
14388|      0|						error = ECONNRESET;
14389|      0|					} else {
14390|      0|						error = ENOTCONN;
14391|      0|					}
14392|      0|					goto out;
14393|      0|				}
14394|      0|				if ((mm == NULL) || (error != 0)) {
  ------------------
  |  Branch (14394:9): [True: 0, False: 0]
  |  Branch (14394:25): [True: 0, False: 0]
  ------------------
14395|      0|					if (mm != NULL) {
  ------------------
  |  Branch (14395:10): [True: 0, False: 0]
  ------------------
14396|      0|						sctp_m_freem(mm);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
14397|      0|					}
14398|      0|					if (sp != NULL) {
  ------------------
  |  Branch (14398:10): [True: 0, False: 0]
  ------------------
14399|      0|						sp->processing = 0;
14400|      0|					}
14401|      0|					goto out;
14402|      0|				}
14403|       |				/* Update the mbuf and count */
14404|      0|				if (sp->tail_mbuf != NULL) {
  ------------------
  |  Branch (14404:9): [True: 0, False: 0]
  ------------------
14405|       |					/* Tack it to the end. */
14406|      0|					SCTP_BUF_NEXT(sp->tail_mbuf) = mm;
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
14407|      0|				} else {
14408|       |					/* A stolen mbuf. */
14409|      0|					sp->data = mm;
14410|      0|				}
14411|      0|				sp->tail_mbuf = new_tail;
14412|      0|				sctp_snd_sb_alloc(stcb, sndout);
  ------------------
  |  |  285|      0|#define sctp_snd_sb_alloc(stcb, sz)  \
  |  |  286|      0|do { \
  |  |  287|      0|	atomic_add_int(&stcb->asoc.total_output_queue_size,sz); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  288|      0|	if ((stcb->sctp_socket != NULL) && \
  |  |  ------------------
  |  |  |  Branch (288:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  289|      0|	    ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || \
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (289:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  290|      0|	     (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (290:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  291|      0|		SCTP_SB_INCR(&stcb->sctp_socket->so_snd, sz); \
  |  |  ------------------
  |  |  |  |  963|      0|#define SCTP_SB_INCR(sb, incr)			\
  |  |  |  |  964|      0|{						\
  |  |  |  |  965|      0|	atomic_add_int(&(sb)->sb_cc, incr);	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  |  |  966|      0|}
  |  |  ------------------
  |  |  292|      0|	} \
  |  |  293|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (293:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
14413|      0|				atomic_add_int(&sp->length, sndout);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
14414|      0|				if (sinfo_flags & SCTP_SACK_IMMEDIATELY) {
  ------------------
  |  |  263|      0|#define SCTP_SACK_IMMEDIATELY 0x4000 /* Set I-Bit */
  ------------------
  |  Branch (14414:9): [True: 0, False: 0]
  ------------------
14415|      0|					sp->sinfo_flags |= SCTP_SACK_IMMEDIATELY;
  ------------------
  |  |  263|      0|#define SCTP_SACK_IMMEDIATELY 0x4000 /* Set I-Bit */
  ------------------
14416|      0|				}
14417|       |
14418|       |				/* Did we reach EOR? */
14419|       |#if defined(__APPLE__) && !defined(__Userspace__)
14420|       |#if defined(APPLE_LEOPARD)
14421|       |				if ((uio->uio_resid == 0) &&
14422|       |#else
14423|       |				if ((uio_resid(uio) == 0) &&
14424|       |#endif
14425|       |#else
14426|      0|				if ((uio->uio_resid == 0) &&
  ------------------
  |  Branch (14426:9): [True: 0, False: 0]
  ------------------
14427|      0|#endif
14428|      0|				    ((user_marks_eor == 0) ||
  ------------------
  |  Branch (14428:10): [True: 0, False: 0]
  ------------------
14429|      0|				     (sinfo_flags & SCTP_EOF) ||
  ------------------
  |  |  257|      0|#define SCTP_EOF              0x0100 /* Start shutdown procedures */
  ------------------
  |  Branch (14429:10): [True: 0, False: 0]
  ------------------
14430|      0|				     (user_marks_eor && (sinfo_flags & SCTP_EOR)))) {
  ------------------
  |  |  262|      0|#define SCTP_EOR              0x2000 /* end of message signal */
  ------------------
  |  Branch (14430:11): [True: 0, False: 0]
  |  Branch (14430:29): [True: 0, False: 0]
  ------------------
14431|      0|					sp->msg_is_complete = 1;
14432|      0|				} else {
14433|      0|					sp->msg_is_complete = 0;
14434|      0|				}
14435|      0|			}
14436|       |
14437|      0|			KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14438|      0|			SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14439|      0|			KASSERT((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14440|      0|			        ("Association about to be freed"));
14441|      0|			KASSERT((asoc->state & SCTP_STATE_WAS_ABORTED) == 0,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14442|      0|			        ("Association was aborted"));
14443|       |
14444|       |#if defined(__APPLE__) && !defined(__Userspace__)
14445|       |#if defined(APPLE_LEOPARD)
14446|       |			if (uio->uio_resid == 0) {
14447|       |#else
14448|       |			if (uio_resid(uio) == 0) {
14449|       |#endif
14450|       |#else
14451|      0|			if (uio->uio_resid == 0) {
  ------------------
  |  Branch (14451:8): [True: 0, False: 0]
  ------------------
14452|      0|#endif
14453|       |				/* got it all? */
14454|      0|				continue;
14455|      0|			}
14456|       |			/* PR-SCTP? */
14457|      0|			if ((asoc->prsctp_supported) && (asoc->sent_queue_cnt_removeable > 0)) {
  ------------------
  |  Branch (14457:8): [True: 0, False: 0]
  |  Branch (14457:36): [True: 0, False: 0]
  ------------------
14458|       |				/* This is ugly but we must assure locking order */
14459|      0|				sctp_prune_prsctp(stcb, asoc, sndrcvninfo, (int)sndlen);
14460|      0|				inqueue_bytes = asoc->total_output_queue_size - (asoc->chunks_on_out_queue * SCTP_DATA_CHUNK_OVERHEAD(stcb));
  ------------------
  |  |  134|      0|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 0, False: 0]
  |  |  ------------------
  |  |  135|      0|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|      0|                                        sizeof(struct sctp_data_chunk))
  ------------------
14461|      0|				if (SCTP_SB_LIMIT_SND(so) > inqueue_bytes)
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
  |  Branch (14461:9): [True: 0, False: 0]
  ------------------
14462|      0|					max_len = SCTP_SB_LIMIT_SND(so) - inqueue_bytes;
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
14463|      0|				else
14464|      0|					max_len = 0;
14465|      0|				if (max_len > 0) {
  ------------------
  |  Branch (14465:9): [True: 0, False: 0]
  ------------------
14466|      0|					continue;
14467|      0|				}
14468|      0|			}
14469|       |			/* wait for space now */
14470|      0|			if (non_blocking) {
  ------------------
  |  Branch (14470:8): [True: 0, False: 0]
  ------------------
14471|       |				/* Non-blocking io in place out */
14472|      0|				if (sp != NULL) {
  ------------------
  |  Branch (14472:9): [True: 0, False: 0]
  ------------------
14473|      0|					sp->processing = 0;
14474|      0|				}
14475|      0|				goto skip_out_eof;
14476|      0|			}
14477|       |			/* What about the INIT, send it maybe */
14478|      0|			if (queue_only_for_init) {
  ------------------
  |  Branch (14478:8): [True: 0, False: 0]
  ------------------
14479|      0|				if (SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              				if (SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) {
  ------------------
  |  |  459|      0|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (14479:9): [True: 0, False: 0]
  ------------------
14480|       |					/* a collision took us forward? */
14481|      0|					queue_only = 0;
14482|      0|				} else {
14483|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14484|       |					NET_EPOCH_ENTER(et);
14485|       |#endif
14486|      0|					sctp_send_initiate(inp, stcb, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
14487|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14488|       |					NET_EPOCH_EXIT(et);
14489|       |#endif
14490|      0|					SCTP_SET_STATE(stcb, SCTP_STATE_COOKIE_WAIT);
  ------------------
  |  |  474|      0|	sctp_set_state(_stcb, _state)
  ------------------
14491|      0|					queue_only = 1;
14492|      0|				}
14493|      0|			}
14494|      0|			if ((net->flight_size > net->cwnd) &&
  ------------------
  |  Branch (14494:8): [True: 0, False: 0]
  ------------------
14495|      0|			    (asoc->sctp_cmt_on_off == 0)) {
  ------------------
  |  Branch (14495:8): [True: 0, False: 0]
  ------------------
14496|      0|				SCTP_STAT_INCR(sctps_send_cwnd_avoid);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14497|      0|				queue_only = 1;
14498|      0|			} else if (asoc->ifp_had_enobuf) {
  ------------------
  |  Branch (14498:15): [True: 0, False: 0]
  ------------------
14499|      0|				SCTP_STAT_INCR(sctps_ifnomemqueued);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14500|      0|				if (net->flight_size > (2 * net->mtu)) {
  ------------------
  |  Branch (14500:9): [True: 0, False: 0]
  ------------------
14501|      0|					queue_only = 1;
14502|      0|				}
14503|      0|				asoc->ifp_had_enobuf = 0;
14504|      0|			}
14505|      0|			un_sent = asoc->total_output_queue_size - asoc->total_flight;
14506|      0|			if ((sctp_is_feature_off(inp, SCTP_PCB_FLAGS_NODELAY)) &&
  ------------------
  |  |   53|      0|#define sctp_is_feature_off(inp, feature) ((inp->sctp_features & feature) == 0)
  ------------------
  |  Branch (14506:8): [True: 0, False: 0]
  ------------------
14507|      0|			    (asoc->total_flight > 0) &&
  ------------------
  |  Branch (14507:8): [True: 0, False: 0]
  ------------------
14508|      0|			    (asoc->stream_queue_cnt < SCTP_MAX_DATA_BUNDLING) &&
  ------------------
  |  |  876|      0|#define SCTP_MAX_DATA_BUNDLING		256
  ------------------
  |  Branch (14508:8): [True: 0, False: 0]
  ------------------
14509|      0|			    (un_sent < (int)(asoc->smallest_mtu - SCTP_MIN_OVERHEAD))) {
  ------------------
  |  |  564|      0|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|      0|                           sizeof(struct sctphdr))
  ------------------
  |  Branch (14509:8): [True: 0, False: 0]
  ------------------
14510|       |				/*-
14511|       |				 * Ok, Nagle is set on and we have data outstanding.
14512|       |				 * Don't send anything and let SACKs drive out the
14513|       |				 * data unless we have a "full" segment to send.
14514|       |				 */
14515|      0|				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_NAGLE_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_NAGLE_LOGGING_ENABLE) {
  ------------------
  |  |  655|      0|#define SCTP_NAGLE_LOGGING_ENABLE			0x00000800
  ------------------
  |  Branch (14515:9): [True: 0, False: 0]
  ------------------
14516|      0|					sctp_log_nagle_event(stcb, SCTP_NAGLE_APPLIED);
  ------------------
  |  |  176|      0|#define SCTP_NAGLE_APPLIED          72
  ------------------
14517|      0|				}
14518|      0|				SCTP_STAT_INCR(sctps_naglequeued);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14519|      0|				nagle_applies = 1;
14520|      0|			} else {
14521|      0|				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_NAGLE_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_NAGLE_LOGGING_ENABLE) {
  ------------------
  |  |  655|      0|#define SCTP_NAGLE_LOGGING_ENABLE			0x00000800
  ------------------
  |  Branch (14521:9): [True: 0, False: 0]
  ------------------
14522|      0|					if (sctp_is_feature_off(inp, SCTP_PCB_FLAGS_NODELAY))
  ------------------
  |  |   53|      0|#define sctp_is_feature_off(inp, feature) ((inp->sctp_features & feature) == 0)
  |  |  ------------------
  |  |  |  Branch (53:43): [True: 0, False: 0]
  |  |  ------------------
  ------------------
14523|      0|						sctp_log_nagle_event(stcb, SCTP_NAGLE_SKIPPED);
  ------------------
  |  |  177|      0|#define SCTP_NAGLE_SKIPPED          73
  ------------------
14524|      0|				}
14525|      0|				SCTP_STAT_INCR(sctps_naglesent);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14526|      0|				nagle_applies = 0;
14527|      0|			}
14528|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  646|      0|#define SCTP_BLK_LOGGING_ENABLE				0x00000001
  ------------------
  |  Branch (14528:8): [True: 0, False: 0]
  ------------------
14529|      0|				sctp_misc_ints(SCTP_CWNDLOG_PRESEND, queue_only_for_init, queue_only,
  ------------------
  |  |  181|      0|#define SCTP_CWNDLOG_PRESEND        77
  ------------------
14530|      0|				               nagle_applies, un_sent);
14531|      0|				sctp_misc_ints(SCTP_CWNDLOG_PRESEND, asoc->total_output_queue_size,
  ------------------
  |  |  181|      0|#define SCTP_CWNDLOG_PRESEND        77
  ------------------
14532|      0|				               asoc->total_flight,
14533|      0|				               asoc->chunks_on_out_queue, asoc->total_flight_count);
14534|      0|			}
14535|      0|			if (queue_only_for_init) {
  ------------------
  |  Branch (14535:8): [True: 0, False: 0]
  ------------------
14536|      0|				queue_only_for_init = 0;
14537|      0|			}
14538|      0|			if ((queue_only == 0) && (nagle_applies == 0)) {
  ------------------
  |  Branch (14538:8): [True: 0, False: 0]
  |  Branch (14538:29): [True: 0, False: 0]
  ------------------
14539|       |				/*-
14540|       |				 * need to start chunk output
14541|       |				 * before blocking.. note that if
14542|       |				 * a lock is already applied, then
14543|       |				 * the input via the net is happening
14544|       |				 * and I don't need to start output :-D
14545|       |				 */
14546|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14547|       |				NET_EPOCH_ENTER(et);
14548|       |#endif
14549|      0|				sctp_chunk_output(inp, stcb,
14550|      0|				                  SCTP_OUTPUT_FROM_USR_SEND, SCTP_SO_LOCKED);
  ------------------
  |  |  361|      0|#define SCTP_OUTPUT_FROM_USR_SEND       0
  ------------------
              				                  SCTP_OUTPUT_FROM_USR_SEND, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
14551|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14552|       |				NET_EPOCH_EXIT(et);
14553|       |#endif
14554|      0|			}
14555|       |			/*-
14556|       |			 * This is a bit strange, but I think it will
14557|       |			 * work. The total_output_queue_size is locked and
14558|       |			 * protected by the TCB_LOCK, which we just released.
14559|       |			 * There is a race that can occur between releasing it
14560|       |			 * above, and me getting the socket lock, where sacks
14561|       |			 * come in but we have not put the SB_WAIT on the
14562|       |			 * so_snd buffer to get the wakeup. After the LOCK
14563|       |			 * is applied the sack_processing will also need to
14564|       |			 * LOCK the so->so_snd to do the actual sowwakeup(). So
14565|       |			 * once we have the socket buffer lock if we recheck the
14566|       |			 * size we KNOW we will get to sleep safely with the
14567|       |			 * wakeup flag in place.
14568|       |			 */
14569|      0|			inqueue_bytes = asoc->total_output_queue_size - (asoc->chunks_on_out_queue * SCTP_DATA_CHUNK_OVERHEAD(stcb));
  ------------------
  |  |  134|      0|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 0, False: 0]
  |  |  ------------------
  |  |  135|      0|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|      0|                                        sizeof(struct sctp_data_chunk))
  ------------------
14570|      0|			SOCKBUF_LOCK(&so->so_snd);
  ------------------
  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14571|      0|			if (SCTP_SB_LIMIT_SND(so) <= (inqueue_bytes +
  ------------------
  |  |  978|      0|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
  |  Branch (14571:8): [True: 0, False: 0]
  ------------------
14572|      0|			                              min(SCTP_BASE_SYSCTL(sctp_add_more_threshold), SCTP_SB_LIMIT_SND(so)))) {
  ------------------
  |  |   66|      0|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 0]
  |  |  ------------------
  ------------------
14573|      0|				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  646|      0|#define SCTP_BLK_LOGGING_ENABLE				0x00000001
  ------------------
  |  Branch (14573:9): [True: 0, False: 0]
  ------------------
14574|       |#if defined(__APPLE__) && !defined(__Userspace__)
14575|       |#if defined(APPLE_LEOPARD)
14576|       |					sctp_log_block(SCTP_BLOCK_LOG_INTO_BLK,
14577|       |					               asoc, uio->uio_resid);
14578|       |#else
14579|       |					sctp_log_block(SCTP_BLOCK_LOG_INTO_BLK,
14580|       |					               asoc, uio_resid(uio));
14581|       |#endif
14582|       |#else
14583|      0|					sctp_log_block(SCTP_BLOCK_LOG_INTO_BLK,
  ------------------
  |  |  112|      0|#define SCTP_BLOCK_LOG_INTO_BLK 7
  ------------------
14584|      0|					               asoc, uio->uio_resid);
14585|      0|#endif
14586|      0|				}
14587|      0|				be.error = 0;
14588|      0|#if !(defined(_WIN32) && !defined(__Userspace__))
14589|      0|				stcb->block_entry = &be;
14590|      0|#endif
14591|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14592|       |#if defined(__APPLE__) && !defined(__Userspace__)
14593|       |				sbunlock(&so->so_snd, 1);
14594|       |#endif
14595|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14596|       |				error = sbwait(so, SO_SND);
14597|       |#else
14598|      0|				error = sbwait(&so->so_snd);
14599|      0|#endif
14600|      0|				if (error == 0) {
  ------------------
  |  Branch (14600:9): [True: 0, False: 0]
  ------------------
14601|      0|					if (so->so_error != 0)
  ------------------
  |  Branch (14601:10): [True: 0, False: 0]
  ------------------
14602|      0|						error = so->so_error;
14603|      0|					if (be.error != 0) {
  ------------------
  |  Branch (14603:10): [True: 0, False: 0]
  ------------------
14604|      0|						error = be.error;
14605|      0|					}
14606|      0|				}
14607|      0|				SOCKBUF_UNLOCK(&so->so_snd);
  ------------------
  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14608|      0|				SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14609|      0|				stcb->block_entry = NULL;
14610|      0|				if ((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) ||
  ------------------
  |  |  465|      0|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (14610:9): [True: 0, False: 0]
  ------------------
14611|      0|				    (asoc->state & SCTP_STATE_WAS_ABORTED)) {
  ------------------
  |  |  467|      0|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (14611:9): [True: 0, False: 0]
  ------------------
14612|      0|					if (asoc->state & SCTP_STATE_WAS_ABORTED) {
  ------------------
  |  |  467|      0|#define SCTP_STATE_WAS_ABORTED          0x0800
  ------------------
  |  Branch (14612:10): [True: 0, False: 0]
  ------------------
14613|       |						/* XXX: Could also be ECONNABORTED, not enough info. */
14614|      0|						error = ECONNRESET;
14615|      0|					} else {
14616|      0|						error = ENOTCONN;
14617|      0|					}
14618|      0|					goto out_unlocked;
14619|      0|				}
14620|      0|				if (error != 0) {
  ------------------
  |  Branch (14620:9): [True: 0, False: 0]
  ------------------
14621|      0|					if (sp != NULL) {
  ------------------
  |  Branch (14621:10): [True: 0, False: 0]
  ------------------
14622|      0|						sp->processing = 0;
14623|      0|					}
14624|      0|					goto out_unlocked;
14625|      0|				}
14626|       |#if defined(__APPLE__) && !defined(__Userspace__)
14627|       |				error = sblock(&so->so_snd, SBLOCKWAIT(flags));
14628|       |				if (error != 0) {
14629|       |					goto out_unlocked;
14630|       |				}
14631|       |#endif
14632|      0|			} else {
14633|      0|				SOCKBUF_UNLOCK(&so->so_snd);
  ------------------
  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14634|      0|			}
14635|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  646|      0|#define SCTP_BLK_LOGGING_ENABLE				0x00000001
  ------------------
  |  Branch (14635:8): [True: 0, False: 0]
  ------------------
14636|      0|				sctp_log_block(SCTP_BLOCK_LOG_OUTOF_BLK,
  ------------------
  |  |  113|      0|#define SCTP_BLOCK_LOG_OUTOF_BLK 8
  ------------------
14637|      0|				               asoc, asoc->total_output_queue_size);
14638|      0|			}
14639|      0|		}
14640|       |
14641|  6.20k|		KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14642|  6.20k|		SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.20k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14643|  6.20k|		KASSERT((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14644|  6.20k|		        ("Association about to be freed"));
14645|  6.20k|		KASSERT((asoc->state & SCTP_STATE_WAS_ABORTED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14646|  6.20k|		        ("Association was aborted"));
14647|       |
14648|       |		/* The out streams might be reallocated. */
14649|  6.20k|		strm = &asoc->strmout[sinfo_stream];
14650|  6.20k|		if (sp != NULL) {
  ------------------
  |  Branch (14650:7): [True: 6.20k, False: 0]
  ------------------
14651|  6.20k|			if (sp->msg_is_complete == 0) {
  ------------------
  |  Branch (14651:8): [True: 0, False: 6.20k]
  ------------------
14652|      0|				strm->last_msg_incomplete = 1;
14653|      0|				if (asoc->idata_supported == 0) {
  ------------------
  |  Branch (14653:9): [True: 0, False: 0]
  ------------------
14654|      0|					asoc->stream_locked = 1;
14655|      0|					asoc->stream_locked_on = sinfo_stream;
14656|      0|				}
14657|  6.20k|			} else {
14658|  6.20k|				sp->sender_all_done = 1;
14659|  6.20k|				strm->last_msg_incomplete = 0;
14660|  6.20k|				asoc->stream_locked = 0;
14661|  6.20k|			}
14662|  6.20k|			sp->processing = 0;
14663|  6.20k|		} else {
14664|      0|			SCTP_PRINTF("Huh no sp TSNH?\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
14665|      0|			strm->last_msg_incomplete = 0;
14666|      0|			asoc->stream_locked = 0;
14667|      0|		}
14668|       |#if defined(__APPLE__) && !defined(__Userspace__)
14669|       |#if defined(APPLE_LEOPARD)
14670|       |		if (uio->uio_resid == 0) {
14671|       |#else
14672|       |		if (uio_resid(uio) == 0) {
14673|       |#endif
14674|       |#else
14675|  6.20k|		if (uio->uio_resid == 0) {
  ------------------
  |  Branch (14675:7): [True: 6.20k, False: 0]
  ------------------
14676|  6.20k|#endif
14677|  6.20k|			got_all_of_the_send = true;
14678|  6.20k|		}
14679|  6.20k|	} else {
14680|      0|		error = sctp_msg_append(stcb, net, top, sndrcvninfo);
14681|      0|		top = NULL;
14682|      0|		if ((sinfo_flags & SCTP_EOF) != 0) {
  ------------------
  |  |  257|      0|#define SCTP_EOF              0x0100 /* Start shutdown procedures */
  ------------------
  |  Branch (14682:7): [True: 0, False: 0]
  ------------------
14683|      0|			got_all_of_the_send = true;
14684|      0|		}
14685|      0|	}
14686|  6.20k|	if (error != 0) {
  ------------------
  |  Branch (14686:6): [True: 0, False: 6.20k]
  ------------------
14687|      0|		goto out;
14688|      0|	}
14689|       |
14690|  6.20k|dataless_eof:
14691|  6.20k|	KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14692|  6.20k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.20k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14693|  6.20k|	KASSERT((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14694|  6.20k|	        ("Association about to be freed"));
14695|  6.20k|	KASSERT((asoc->state & SCTP_STATE_WAS_ABORTED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14696|  6.20k|	        ("Association was aborted"));
14697|       |
14698|       |	/* EOF thing ? */
14699|  6.20k|	if ((sinfo_flags & SCTP_EOF) && got_all_of_the_send) {
  ------------------
  |  |  257|  6.20k|#define SCTP_EOF              0x0100 /* Start shutdown procedures */
  ------------------
  |  Branch (14699:6): [True: 0, False: 6.20k]
  |  Branch (14699:34): [True: 0, False: 0]
  ------------------
14700|      0|		SCTP_STAT_INCR(sctps_sends_with_eof);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14701|      0|		error = 0;
14702|      0|		if (TAILQ_EMPTY(&asoc->send_queue) &&
14703|      0|		    TAILQ_EMPTY(&asoc->sent_queue) &&
14704|      0|		    sctp_is_there_unsent_data(stcb, SCTP_SO_LOCKED) == 0) {
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
  |  Branch (14704:7): [True: 0, False: 0]
  ------------------
14705|      0|			if ((*asoc->ss_functions.sctp_ss_is_user_msgs_incomplete)(stcb, asoc)) {
  ------------------
  |  Branch (14705:8): [True: 0, False: 0]
  ------------------
14706|      0|				goto abort_anyway;
14707|      0|			}
14708|       |			/* there is nothing queued to send, so I'm done... */
14709|      0|			if ((SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			if ((SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT) &&
  ------------------
  |  |  460|      0|#define SCTP_STATE_SHUTDOWN_SENT	0x0010
  ------------------
  |  Branch (14709:8): [True: 0, False: 0]
  ------------------
14710|      0|			    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_RECEIVED) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_RECEIVED) &&
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (14710:8): [True: 0, False: 0]
  ------------------
14711|      0|			    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT)) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT)) {
  ------------------
  |  |  462|      0|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (14711:8): [True: 0, False: 0]
  ------------------
14712|      0|				struct sctp_nets *netp;
14713|       |
14714|       |				/* only send SHUTDOWN the first time through */
14715|      0|				if (SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              				if (SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) {
  ------------------
  |  |  459|      0|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (14715:9): [True: 0, False: 0]
  ------------------
14716|      0|					SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|      0|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|      0|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|      0|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14717|      0|				}
14718|      0|				SCTP_SET_STATE(stcb, SCTP_STATE_SHUTDOWN_SENT);
  ------------------
  |  |  474|      0|	sctp_set_state(_stcb, _state)
  ------------------
14719|      0|				sctp_stop_timers_for_shutdown(stcb);
14720|      0|				if (asoc->alternate != NULL) {
  ------------------
  |  Branch (14720:9): [True: 0, False: 0]
  ------------------
14721|      0|					netp = asoc->alternate;
14722|      0|				} else {
14723|      0|					netp = asoc->primary_destination;
14724|      0|				}
14725|      0|				sctp_send_shutdown(stcb, netp);
14726|      0|				sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, stcb->sctp_ep, stcb,
  ------------------
  |  |  535|      0|#define SCTP_TIMER_TYPE_SHUTDOWN	4
  ------------------
14727|      0|				                 netp);
14728|      0|				sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb,
  ------------------
  |  |  542|      0|#define SCTP_TIMER_TYPE_SHUTDOWNGUARD	11
  ------------------
14729|      0|				                 NULL);
14730|      0|			}
14731|      0|		} else {
14732|       |			/*-
14733|       |			 * we still got (or just got) data to send, so set
14734|       |			 * SHUTDOWN_PENDING
14735|       |			 */
14736|       |			/*-
14737|       |			 * XXX sockets draft says that SCTP_EOF should be
14738|       |			 * sent with no data.  currently, we will allow user
14739|       |			 * data to be sent first and move to
14740|       |			 * SHUTDOWN-PENDING
14741|       |			 */
14742|      0|			if ((SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			if ((SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT) &&
  ------------------
  |  |  460|      0|#define SCTP_STATE_SHUTDOWN_SENT	0x0010
  ------------------
  |  Branch (14742:8): [True: 0, False: 0]
  ------------------
14743|      0|			    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_RECEIVED) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_RECEIVED) &&
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (14743:8): [True: 0, False: 0]
  ------------------
14744|      0|			    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT)) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT)) {
  ------------------
  |  |  462|      0|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (14744:8): [True: 0, False: 0]
  ------------------
14745|      0|				if ((*asoc->ss_functions.sctp_ss_is_user_msgs_incomplete)(stcb, asoc)) {
  ------------------
  |  Branch (14745:9): [True: 0, False: 0]
  ------------------
14746|      0|					SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_PARTIAL_MSG_LEFT);
  ------------------
  |  |  478|      0|	sctp_add_substate(_stcb, _substate)
  ------------------
14747|      0|				}
14748|      0|				SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_SHUTDOWN_PENDING);
  ------------------
  |  |  478|      0|	sctp_add_substate(_stcb, _substate)
  ------------------
14749|      0|				if (TAILQ_EMPTY(&asoc->send_queue) &&
14750|      0|				    TAILQ_EMPTY(&asoc->sent_queue) &&
14751|      0|				    (asoc->state & SCTP_STATE_PARTIAL_MSG_LEFT)) {
  ------------------
  |  |  466|      0|#define SCTP_STATE_PARTIAL_MSG_LEFT     0x0400
  ------------------
  |  Branch (14751:9): [True: 0, False: 0]
  ------------------
14752|      0|					struct mbuf *op_err;
14753|      0|					char msg[SCTP_DIAG_INFO_LEN];
14754|       |
14755|      0|				abort_anyway:
14756|      0|					if (free_cnt_applied) {
  ------------------
  |  Branch (14756:10): [True: 0, False: 0]
  ------------------
14757|      0|						atomic_subtract_int(&asoc->refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
14758|      0|						free_cnt_applied = false;
14759|      0|					}
14760|      0|					SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
14761|      0|					              "%s:%d at %s", __FILE__, __LINE__, __func__);
14762|      0|					op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
14763|      0|					                             msg);
14764|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14765|       |					NET_EPOCH_ENTER(et);
14766|       |#endif
14767|      0|					sctp_abort_an_association(stcb->sctp_ep, stcb,
14768|      0|					                          op_err, false, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
14769|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14770|       |					NET_EPOCH_EXIT(et);
14771|       |#endif
14772|      0|					stcb = NULL;
14773|      0|					error = ECONNABORTED;
14774|      0|					goto out;
14775|      0|				}
14776|      0|				sctp_feature_off(inp, SCTP_PCB_FLAGS_NODELAY);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
14777|      0|			}
14778|      0|		}
14779|      0|	}
14780|       |
14781|  6.20k|skip_out_eof:
14782|  6.20k|	KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14783|  6.20k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.20k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14784|  6.20k|	KASSERT((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14785|  6.20k|	        ("Association about to be freed"));
14786|  6.20k|	KASSERT((asoc->state & SCTP_STATE_WAS_ABORTED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14787|  6.20k|	        ("Association was aborted"));
14788|       |
14789|  6.20k|	some_on_control = !TAILQ_EMPTY(&asoc->control_send_queue);
14790|  6.20k|	if (queue_only_for_init) {
  ------------------
  |  Branch (14790:6): [True: 0, False: 6.20k]
  ------------------
14791|      0|		if (SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if (SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) {
  ------------------
  |  |  459|      0|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (14791:7): [True: 0, False: 0]
  ------------------
14792|       |			/* a collision took us forward? */
14793|      0|			queue_only = 0;
14794|      0|		} else {
14795|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14796|       |			NET_EPOCH_ENTER(et);
14797|       |#endif
14798|      0|			sctp_send_initiate(inp, stcb, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
14799|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14800|       |			NET_EPOCH_EXIT(et);
14801|       |#endif
14802|      0|			SCTP_SET_STATE(stcb, SCTP_STATE_COOKIE_WAIT);
  ------------------
  |  |  474|      0|	sctp_set_state(_stcb, _state)
  ------------------
14803|      0|			queue_only = 1;
14804|      0|		}
14805|      0|	}
14806|       |
14807|  6.20k|	KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14808|  6.20k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.20k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14809|  6.20k|	KASSERT((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14810|  6.20k|	        ("Association about to be freed"));
14811|  6.20k|	KASSERT((asoc->state & SCTP_STATE_WAS_ABORTED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14812|  6.20k|	        ("Association was aborted"));
14813|       |
14814|  6.20k|	if ((net->flight_size > net->cwnd) &&
  ------------------
  |  Branch (14814:6): [True: 0, False: 6.20k]
  ------------------
14815|  6.20k|	    (asoc->sctp_cmt_on_off == 0)) {
  ------------------
  |  Branch (14815:6): [True: 0, False: 0]
  ------------------
14816|      0|		SCTP_STAT_INCR(sctps_send_cwnd_avoid);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14817|      0|		queue_only = 1;
14818|  6.20k|	} else if (asoc->ifp_had_enobuf) {
  ------------------
  |  Branch (14818:13): [True: 0, False: 6.20k]
  ------------------
14819|      0|		SCTP_STAT_INCR(sctps_ifnomemqueued);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14820|      0|		if (net->flight_size > (2 * net->mtu)) {
  ------------------
  |  Branch (14820:7): [True: 0, False: 0]
  ------------------
14821|      0|			queue_only = 1;
14822|      0|		}
14823|      0|		asoc->ifp_had_enobuf = 0;
14824|      0|	}
14825|  6.20k|	un_sent = asoc->total_output_queue_size - asoc->total_flight;
14826|  6.20k|	if ((sctp_is_feature_off(inp, SCTP_PCB_FLAGS_NODELAY)) &&
  ------------------
  |  |   53|  6.20k|#define sctp_is_feature_off(inp, feature) ((inp->sctp_features & feature) == 0)
  ------------------
  |  Branch (14826:6): [True: 0, False: 6.20k]
  ------------------
14827|  6.20k|	    (asoc->total_flight > 0) &&
  ------------------
  |  Branch (14827:6): [True: 0, False: 0]
  ------------------
14828|  6.20k|	    (asoc->stream_queue_cnt < SCTP_MAX_DATA_BUNDLING) &&
  ------------------
  |  |  876|      0|#define SCTP_MAX_DATA_BUNDLING		256
  ------------------
  |  Branch (14828:6): [True: 0, False: 0]
  ------------------
14829|  6.20k|	    (un_sent < (int)(asoc->smallest_mtu - SCTP_MIN_OVERHEAD))) {
  ------------------
  |  |  564|      0|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|      0|                           sizeof(struct sctphdr))
  ------------------
  |  Branch (14829:6): [True: 0, False: 0]
  ------------------
14830|       |		/*-
14831|       |		 * Ok, Nagle is set on and we have data outstanding.
14832|       |		 * Don't send anything and let SACKs drive out the
14833|       |		 * data unless wen have a "full" segment to send.
14834|       |		 */
14835|      0|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_NAGLE_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_NAGLE_LOGGING_ENABLE) {
  ------------------
  |  |  655|      0|#define SCTP_NAGLE_LOGGING_ENABLE			0x00000800
  ------------------
  |  Branch (14835:7): [True: 0, False: 0]
  ------------------
14836|      0|			sctp_log_nagle_event(stcb, SCTP_NAGLE_APPLIED);
  ------------------
  |  |  176|      0|#define SCTP_NAGLE_APPLIED          72
  ------------------
14837|      0|		}
14838|      0|		SCTP_STAT_INCR(sctps_naglequeued);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14839|      0|		nagle_applies = 1;
14840|  6.20k|	} else {
14841|  6.20k|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_NAGLE_LOGGING_ENABLE) {
  ------------------
  |  |  584|  6.20k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_NAGLE_LOGGING_ENABLE) {
  ------------------
  |  |  655|  6.20k|#define SCTP_NAGLE_LOGGING_ENABLE			0x00000800
  ------------------
  |  Branch (14841:7): [True: 0, False: 6.20k]
  ------------------
14842|      0|			if (sctp_is_feature_off(inp, SCTP_PCB_FLAGS_NODELAY))
  ------------------
  |  |   53|      0|#define sctp_is_feature_off(inp, feature) ((inp->sctp_features & feature) == 0)
  |  |  ------------------
  |  |  |  Branch (53:43): [True: 0, False: 0]
  |  |  ------------------
  ------------------
14843|      0|				sctp_log_nagle_event(stcb, SCTP_NAGLE_SKIPPED);
  ------------------
  |  |  177|      0|#define SCTP_NAGLE_SKIPPED          73
  ------------------
14844|      0|		}
14845|  6.20k|		SCTP_STAT_INCR(sctps_naglesent);
  ------------------
  |  | 1112|  6.20k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  6.20k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  6.20k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14846|  6.20k|		nagle_applies = 0;
14847|  6.20k|	}
14848|  6.20k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  584|  6.20k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) {
  ------------------
  |  |  646|  6.20k|#define SCTP_BLK_LOGGING_ENABLE				0x00000001
  ------------------
  |  Branch (14848:6): [True: 0, False: 6.20k]
  ------------------
14849|      0|		sctp_misc_ints(SCTP_CWNDLOG_PRESEND, queue_only_for_init, queue_only,
  ------------------
  |  |  181|      0|#define SCTP_CWNDLOG_PRESEND        77
  ------------------
14850|      0|		               nagle_applies, un_sent);
14851|      0|		sctp_misc_ints(SCTP_CWNDLOG_PRESEND, asoc->total_output_queue_size,
  ------------------
  |  |  181|      0|#define SCTP_CWNDLOG_PRESEND        77
  ------------------
14852|      0|		               asoc->total_flight,
14853|      0|		               asoc->chunks_on_out_queue, asoc->total_flight_count);
14854|      0|	}
14855|       |
14856|  6.20k|	KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14857|  6.20k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.20k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14858|  6.20k|	KASSERT((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14859|  6.20k|	        ("Association about to be freed"));
14860|  6.20k|	KASSERT((asoc->state & SCTP_STATE_WAS_ABORTED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14861|  6.20k|	        ("Association was aborted"));
14862|       |
14863|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14864|       |	NET_EPOCH_ENTER(et);
14865|       |#endif
14866|  6.20k|	if ((queue_only == 0) && (nagle_applies == 0) && (asoc->peers_rwnd && un_sent)) {
  ------------------
  |  Branch (14866:6): [True: 3.12k, False: 3.08k]
  |  Branch (14866:27): [True: 3.12k, False: 0]
  |  Branch (14866:52): [True: 3.12k, False: 0]
  |  Branch (14866:72): [True: 3.12k, False: 0]
  ------------------
14867|  3.12k|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_USR_SEND, SCTP_SO_LOCKED);
  ------------------
  |  |  361|  3.12k|#define SCTP_OUTPUT_FROM_USR_SEND       0
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_USR_SEND, SCTP_SO_LOCKED);
  ------------------
  |  |  959|  3.12k|#define SCTP_SO_LOCKED		1
  ------------------
14868|  3.12k|	} else if ((queue_only == 0) &&
  ------------------
  |  Branch (14868:13): [True: 0, False: 3.08k]
  ------------------
14869|  3.08k|	           (asoc->peers_rwnd == 0) &&
  ------------------
  |  Branch (14869:13): [True: 0, False: 0]
  ------------------
14870|  3.08k|	           (asoc->total_flight == 0)) {
  ------------------
  |  Branch (14870:13): [True: 0, False: 0]
  ------------------
14871|       |		/* We get to have a probe outstanding */
14872|      0|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_USR_SEND, SCTP_SO_LOCKED);
  ------------------
  |  |  361|      0|#define SCTP_OUTPUT_FROM_USR_SEND       0
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_USR_SEND, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
14873|  3.08k|	} else if (some_on_control) {
  ------------------
  |  Branch (14873:13): [True: 1.60k, False: 1.47k]
  ------------------
14874|  1.60k|		int num_out, reason;
14875|       |
14876|       |		/* Here we do control only */
14877|  1.60k|		(void)sctp_med_chunk_output(inp, stcb, asoc, &num_out,
14878|  1.60k|		                            &reason, 1, 1, &now, &now_filled,
14879|  1.60k|		                            sctp_get_frag_point(stcb),
14880|  1.60k|		                            SCTP_SO_LOCKED);
  ------------------
  |  |  959|  1.60k|#define SCTP_SO_LOCKED		1
  ------------------
14881|  1.60k|	}
14882|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
14883|       |	NET_EPOCH_EXIT(et);
14884|       |#endif
14885|  6.20k|	SCTPDBG(SCTP_DEBUG_OUTPUT1, "USR Send complete qo:%d prw:%d unsent:%d tf:%d cooq:%d toqs:%d err:%d\n",
14886|  6.20k|	        queue_only, asoc->peers_rwnd, un_sent,
14887|  6.20k|	        asoc->total_flight, asoc->chunks_on_out_queue,
14888|  6.20k|	        asoc->total_output_queue_size, error);
14889|       |
14890|  6.20k|	KASSERT(stcb != NULL, ("stcb is NULL"));
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14891|  6.20k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.20k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14892|  6.20k|	KASSERT((asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14893|  6.20k|	        ("Association about to be freed"));
14894|  6.20k|	KASSERT((asoc->state & SCTP_STATE_WAS_ABORTED) == 0,
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
14895|  6.20k|	        ("Association was aborted"));
14896|       |
14897|  6.20k|out:
14898|       |#if defined(__APPLE__) && !defined(__Userspace__)
14899|       |	sbunlock(&so->so_snd, 1);
14900|       |#endif
14901|  7.09k|out_unlocked:
14902|  7.09k|	if (create_lock_applied) {
  ------------------
  |  Branch (14902:6): [True: 0, False: 7.09k]
  ------------------
14903|      0|		SCTP_ASOC_CREATE_UNLOCK(inp);
  ------------------
  |  |  430|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14904|      0|	}
14905|  7.09k|	if (stcb != NULL) {
  ------------------
  |  Branch (14905:6): [True: 7.09k, False: 0]
  ------------------
14906|  7.09k|		if (local_soresv) {
  ------------------
  |  Branch (14906:7): [True: 6.20k, False: 889]
  ------------------
14907|  6.20k|			atomic_subtract_int(&asoc->sb_send_resv, (int)sndlen);
  ------------------
  |  |   97|  6.20k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
14908|  6.20k|		}
14909|  7.09k|		if (free_cnt_applied) {
  ------------------
  |  Branch (14909:7): [True: 7.09k, False: 0]
  ------------------
14910|  7.09k|			atomic_subtract_int(&asoc->refcnt, 1);
  ------------------
  |  |   97|  7.09k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
14911|  7.09k|		}
14912|  7.09k|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|  7.09k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  7.09k|	do {                         \
  |  |  |  |  113|  7.09k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.09k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  7.09k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
14913|  7.09k|	}
14914|  7.09k|	if (top != NULL) {
  ------------------
  |  Branch (14914:6): [True: 0, False: 7.09k]
  ------------------
14915|      0|		sctp_m_freem(top);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
14916|      0|	}
14917|  7.09k|	if (control != NULL) {
  ------------------
  |  Branch (14917:6): [True: 0, False: 7.09k]
  ------------------
14918|      0|		sctp_m_freem(control);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
14919|      0|	}
14920|  7.09k|	SCTP_LTRACE_ERR_RET(inp, stcb, net, SCTP_FROM_SCTP_OUTPUT, error);
14921|  7.09k|	return (error);
14922|  7.09k|}
sctp_add_auth_chunk:
14931|  1.28k|{
14932|  1.28k|	struct mbuf *m_auth;
14933|  1.28k|	struct sctp_auth_chunk *auth;
14934|  1.28k|	int chunk_len;
14935|  1.28k|	struct mbuf *cn;
14936|       |
14937|  1.28k|	if ((m_end == NULL) || (auth_ret == NULL) || (offset == NULL) ||
  ------------------
  |  Branch (14937:6): [True: 0, False: 1.28k]
  |  Branch (14937:25): [True: 0, False: 1.28k]
  |  Branch (14937:47): [True: 0, False: 1.28k]
  ------------------
14938|  1.28k|	    (stcb == NULL))
  ------------------
  |  Branch (14938:6): [True: 0, False: 1.28k]
  ------------------
14939|      0|		return (m);
14940|       |
14941|  1.28k|	if (stcb->asoc.auth_supported == 0) {
  ------------------
  |  Branch (14941:6): [True: 44, False: 1.23k]
  ------------------
14942|     44|		return (m);
14943|     44|	}
14944|       |	/* does the requested chunk require auth? */
14945|  1.23k|	if (!sctp_auth_is_required_chunk(chunk, stcb->asoc.peer_auth_chunks)) {
  ------------------
  |  |  100|  1.23k|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:51): [True: 0, False: 1.23k]
  |  |  ------------------
  ------------------
  |  Branch (14945:6): [True: 0, False: 1.23k]
  ------------------
14946|      0|		return (m);
14947|      0|	}
14948|  1.23k|	m_auth = sctp_get_mbuf_for_msg(sizeof(*auth), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   60|  1.23k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_auth = sctp_get_mbuf_for_msg(sizeof(*auth), 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |  288|  1.23k|#define	MT_HEADER	MT_DATA	/* packet header, use M_PKTHDR instead */
  |  |  ------------------
  |  |  |  |  287|  1.23k|#define	MT_DATA		1	/* dynamic (data) allocation */
  |  |  ------------------
  ------------------
14949|  1.23k|	if (m_auth == NULL) {
  ------------------
  |  Branch (14949:6): [True: 0, False: 1.23k]
  ------------------
14950|       |		/* no mbuf's */
14951|      0|		return (m);
14952|      0|	}
14953|       |	/* reserve some space if this will be the first mbuf */
14954|  1.23k|	if (m == NULL)
  ------------------
  |  Branch (14954:6): [True: 1.16k, False: 70]
  ------------------
14955|  1.16k|		SCTP_BUF_RESV_UF(m_auth, SCTP_MIN_OVERHEAD);
  ------------------
  |  |  798|  2.40k|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|  1.16k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
14956|       |	/* fill in the AUTH chunk details */
14957|  1.23k|	auth = mtod(m_auth, struct sctp_auth_chunk *);
  ------------------
  |  |   96|  1.23k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  1.23k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
14958|  1.23k|	memset(auth, 0, sizeof(*auth));
14959|  1.23k|	auth->ch.chunk_type = SCTP_AUTHENTICATION;
  ------------------
  |  |  473|  1.23k|#define SCTP_AUTHENTICATION     0x0f
  ------------------
14960|  1.23k|	auth->ch.chunk_flags = 0;
14961|  1.23k|	chunk_len = sizeof(*auth) +
14962|  1.23k|	    sctp_get_hmac_digest_len(stcb->asoc.peer_hmac_id);
14963|  1.23k|	auth->ch.chunk_length = htons(chunk_len);
14964|  1.23k|	auth->hmac_id = htons(stcb->asoc.peer_hmac_id);
14965|       |	/* key id and hmac digest will be computed and filled in upon send */
14966|       |
14967|       |	/* save the offset where the auth was inserted into the chain */
14968|  1.23k|	*offset = 0;
14969|  1.71k|	for (cn = m; cn; cn = SCTP_BUF_NEXT(cn)) {
  ------------------
  |  |  796|    476|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    476|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (14969:15): [True: 476, False: 1.23k]
  ------------------
14970|    476|		*offset += SCTP_BUF_LEN(cn);
  ------------------
  |  |  795|    476|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    476|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
14971|    476|	}
14972|       |
14973|       |	/* update length and return pointer to the auth chunk */
14974|  1.23k|	SCTP_BUF_LEN(m_auth) = chunk_len;
  ------------------
  |  |  795|  1.23k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  1.23k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
14975|  1.23k|	m = sctp_copy_mbufchain(m_auth, m, m_end, 1, chunk_len, 0);
14976|  1.23k|	if (auth_ret != NULL)
  ------------------
  |  Branch (14976:6): [True: 1.23k, False: 0]
  ------------------
14977|  1.23k|		*auth_ret = auth;
14978|       |
14979|  1.23k|	return (m);
14980|  1.23k|}
sctp_output.c:sctp_is_ifa_addr_preferred:
 2273|  5.37k|{
 2274|  5.37k|	uint8_t dest_is_global = 0;
 2275|       |	/* dest_is_priv is true if destination is a private address */
 2276|       |	/* dest_is_loop is true if destination is a loopback addresses */
 2277|       |
 2278|       |	/**
 2279|       |	 * Here we determine if its a preferred address. A preferred address
 2280|       |	 * means it is the same scope or higher scope then the destination.
 2281|       |	 * L = loopback, P = private, G = global
 2282|       |	 * -----------------------------------------
 2283|       |	 *    src    |  dest | result
 2284|       |	 *  ----------------------------------------
 2285|       |	 *     L     |    L  |    yes
 2286|       |	 *  -----------------------------------------
 2287|       |	 *     P     |    L  |    yes-v4 no-v6
 2288|       |	 *  -----------------------------------------
 2289|       |	 *     G     |    L  |    yes-v4 no-v6
 2290|       |	 *  -----------------------------------------
 2291|       |	 *     L     |    P  |    no
 2292|       |	 *  -----------------------------------------
 2293|       |	 *     P     |    P  |    yes
 2294|       |	 *  -----------------------------------------
 2295|       |	 *     G     |    P  |    no
 2296|       |	 *   -----------------------------------------
 2297|       |	 *     L     |    G  |    no
 2298|       |	 *   -----------------------------------------
 2299|       |	 *     P     |    G  |    no
 2300|       |	 *    -----------------------------------------
 2301|       |	 *     G     |    G  |    yes
 2302|       |	 *    -----------------------------------------
 2303|       |	 */
 2304|       |
 2305|  5.37k|	if (ifa->address.sa.sa_family != fam) {
  ------------------
  |  Branch (2305:6): [True: 5.37k, False: 0]
  ------------------
 2306|       |		/* forget mis-matched family */
 2307|  5.37k|		return (NULL);
 2308|  5.37k|	}
 2309|      0|	if ((dest_is_priv == 0) && (dest_is_loop == 0)) {
  ------------------
  |  Branch (2309:6): [True: 0, False: 0]
  |  Branch (2309:29): [True: 0, False: 0]
  ------------------
 2310|      0|		dest_is_global = 1;
 2311|      0|	}
 2312|      0|	SCTPDBG(SCTP_DEBUG_OUTPUT2, "Is destination preferred:");
 2313|      0|	SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, &ifa->address.sa);
 2314|       |	/* Ok the address may be ok */
 2315|      0|#ifdef INET6
 2316|      0|	if (fam == AF_INET6) {
  ------------------
  |  Branch (2316:6): [True: 0, False: 0]
  ------------------
 2317|       |		/* ok to use deprecated addresses? no lets not! */
 2318|      0|		if (ifa->localifa_flags & SCTP_ADDR_IFA_UNUSEABLE) {
  ------------------
  |  |   98|      0|#define SCTP_ADDR_IFA_UNUSEABLE 0x00000008
  ------------------
  |  Branch (2318:7): [True: 0, False: 0]
  ------------------
 2319|      0|			SCTPDBG(SCTP_DEBUG_OUTPUT3, "NO:1\n");
 2320|      0|			return (NULL);
 2321|      0|		}
 2322|      0|		if (ifa->src_is_priv && !ifa->src_is_loop) {
  ------------------
  |  Branch (2322:7): [True: 0, False: 0]
  |  Branch (2322:27): [True: 0, False: 0]
  ------------------
 2323|      0|			if (dest_is_loop) {
  ------------------
  |  Branch (2323:8): [True: 0, False: 0]
  ------------------
 2324|      0|				SCTPDBG(SCTP_DEBUG_OUTPUT3, "NO:2\n");
 2325|      0|				return (NULL);
 2326|      0|			}
 2327|      0|		}
 2328|      0|		if (ifa->src_is_glob) {
  ------------------
  |  Branch (2328:7): [True: 0, False: 0]
  ------------------
 2329|      0|			if (dest_is_loop) {
  ------------------
  |  Branch (2329:8): [True: 0, False: 0]
  ------------------
 2330|      0|				SCTPDBG(SCTP_DEBUG_OUTPUT3, "NO:3\n");
 2331|      0|				return (NULL);
 2332|      0|			}
 2333|      0|		}
 2334|      0|	}
 2335|      0|#endif
 2336|       |	/* Now that we know what is what, implement or table
 2337|       |	 * this could in theory be done slicker (it used to be), but this
 2338|       |	 * is straightforward and easier to validate :-)
 2339|       |	 */
 2340|      0|	SCTPDBG(SCTP_DEBUG_OUTPUT3, "src_loop:%d src_priv:%d src_glob:%d\n",
 2341|      0|		ifa->src_is_loop, ifa->src_is_priv, ifa->src_is_glob);
 2342|      0|	SCTPDBG(SCTP_DEBUG_OUTPUT3, "dest_loop:%d dest_priv:%d dest_glob:%d\n",
 2343|      0|		dest_is_loop, dest_is_priv, dest_is_global);
 2344|       |
 2345|      0|	if ((ifa->src_is_loop) && (dest_is_priv)) {
  ------------------
  |  Branch (2345:6): [True: 0, False: 0]
  |  Branch (2345:28): [True: 0, False: 0]
  ------------------
 2346|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "NO:4\n");
 2347|      0|		return (NULL);
 2348|      0|	}
 2349|      0|	if ((ifa->src_is_glob) && (dest_is_priv)) {
  ------------------
  |  Branch (2349:6): [True: 0, False: 0]
  |  Branch (2349:28): [True: 0, False: 0]
  ------------------
 2350|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "NO:5\n");
 2351|      0|		return (NULL);
 2352|      0|	}
 2353|      0|	if ((ifa->src_is_loop) && (dest_is_global)) {
  ------------------
  |  Branch (2353:6): [True: 0, False: 0]
  |  Branch (2353:28): [True: 0, False: 0]
  ------------------
 2354|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "NO:6\n");
 2355|      0|		return (NULL);
 2356|      0|	}
 2357|      0|	if ((ifa->src_is_priv) && (dest_is_global)) {
  ------------------
  |  Branch (2357:6): [True: 0, False: 0]
  |  Branch (2357:28): [True: 0, False: 0]
  ------------------
 2358|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "NO:7\n");
 2359|      0|		return (NULL);
 2360|      0|	}
 2361|      0|	SCTPDBG(SCTP_DEBUG_OUTPUT3, "YES\n");
 2362|       |	/* its a preferred address */
 2363|      0|	return (ifa);
 2364|      0|}
sctp_output.c:sctp_is_ifa_addr_acceptable:
 2371|  5.37k|{
 2372|  5.37k|	uint8_t dest_is_global = 0;
 2373|       |
 2374|       |	/**
 2375|       |	 * Here we determine if its a acceptable address. A acceptable
 2376|       |	 * address means it is the same scope or higher scope but we can
 2377|       |	 * allow for NAT which means its ok to have a global dest and a
 2378|       |	 * private src.
 2379|       |	 *
 2380|       |	 * L = loopback, P = private, G = global
 2381|       |	 * -----------------------------------------
 2382|       |	 *  src    |  dest | result
 2383|       |	 * -----------------------------------------
 2384|       |	 *   L     |   L   |    yes
 2385|       |	 *  -----------------------------------------
 2386|       |	 *   P     |   L   |    yes-v4 no-v6
 2387|       |	 *  -----------------------------------------
 2388|       |	 *   G     |   L   |    yes
 2389|       |	 * -----------------------------------------
 2390|       |	 *   L     |   P   |    no
 2391|       |	 * -----------------------------------------
 2392|       |	 *   P     |   P   |    yes
 2393|       |	 * -----------------------------------------
 2394|       |	 *   G     |   P   |    yes - May not work
 2395|       |	 * -----------------------------------------
 2396|       |	 *   L     |   G   |    no
 2397|       |	 * -----------------------------------------
 2398|       |	 *   P     |   G   |    yes - May not work
 2399|       |	 * -----------------------------------------
 2400|       |	 *   G     |   G   |    yes
 2401|       |	 * -----------------------------------------
 2402|       |	 */
 2403|       |
 2404|  5.37k|	if (ifa->address.sa.sa_family != fam) {
  ------------------
  |  Branch (2404:6): [True: 5.37k, False: 0]
  ------------------
 2405|       |		/* forget non matching family */
 2406|  5.37k|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "ifa_fam:%d fam:%d\n",
 2407|  5.37k|			ifa->address.sa.sa_family, fam);
 2408|  5.37k|		return (NULL);
 2409|  5.37k|	}
 2410|       |	/* Ok the address may be ok */
 2411|      0|	SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT3, &ifa->address.sa);
 2412|      0|	SCTPDBG(SCTP_DEBUG_OUTPUT3, "dst_is_loop:%d dest_is_priv:%d\n",
 2413|      0|		dest_is_loop, dest_is_priv);
 2414|      0|	if ((dest_is_loop == 0) && (dest_is_priv == 0)) {
  ------------------
  |  Branch (2414:6): [True: 0, False: 0]
  |  Branch (2414:29): [True: 0, False: 0]
  ------------------
 2415|      0|		dest_is_global = 1;
 2416|      0|	}
 2417|      0|#ifdef INET6
 2418|      0|	if (fam == AF_INET6) {
  ------------------
  |  Branch (2418:6): [True: 0, False: 0]
  ------------------
 2419|       |		/* ok to use deprecated addresses? */
 2420|      0|		if (ifa->localifa_flags & SCTP_ADDR_IFA_UNUSEABLE) {
  ------------------
  |  |   98|      0|#define SCTP_ADDR_IFA_UNUSEABLE 0x00000008
  ------------------
  |  Branch (2420:7): [True: 0, False: 0]
  ------------------
 2421|      0|			return (NULL);
 2422|      0|		}
 2423|      0|		if (ifa->src_is_priv) {
  ------------------
  |  Branch (2423:7): [True: 0, False: 0]
  ------------------
 2424|       |			/* Special case, linklocal to loop */
 2425|      0|			if (dest_is_loop)
  ------------------
  |  Branch (2425:8): [True: 0, False: 0]
  ------------------
 2426|      0|				return (NULL);
 2427|      0|		}
 2428|      0|	}
 2429|      0|#endif
 2430|       |	/*
 2431|       |	 * Now that we know what is what, implement our table.
 2432|       |	 * This could in theory be done slicker (it used to be), but this
 2433|       |	 * is straightforward and easier to validate :-)
 2434|       |	 */
 2435|      0|	SCTPDBG(SCTP_DEBUG_OUTPUT3, "ifa->src_is_loop:%d dest_is_priv:%d\n",
 2436|      0|		ifa->src_is_loop,
 2437|      0|		dest_is_priv);
 2438|      0|	if ((ifa->src_is_loop == 1) && (dest_is_priv)) {
  ------------------
  |  Branch (2438:6): [True: 0, False: 0]
  |  Branch (2438:33): [True: 0, False: 0]
  ------------------
 2439|      0|		return (NULL);
 2440|      0|	}
 2441|      0|	SCTPDBG(SCTP_DEBUG_OUTPUT3, "ifa->src_is_loop:%d dest_is_glob:%d\n",
 2442|      0|		ifa->src_is_loop,
 2443|      0|		dest_is_global);
 2444|      0|	if ((ifa->src_is_loop == 1) && (dest_is_global)) {
  ------------------
  |  Branch (2444:6): [True: 0, False: 0]
  |  Branch (2444:33): [True: 0, False: 0]
  ------------------
 2445|      0|		return (NULL);
 2446|      0|	}
 2447|      0|	SCTPDBG(SCTP_DEBUG_OUTPUT3, "address is acceptable\n");
 2448|       |	/* its an acceptable address */
 2449|      0|	return (ifa);
 2450|      0|}
sctp_output.c:sctp_choose_boundspecific_stcb:
 2638|  3.14k|{
 2639|  3.14k|	struct sctp_laddr *laddr, *starting_point;
 2640|  3.14k|	void *ifn;
 2641|  3.14k|	struct sctp_ifn *sctp_ifn;
 2642|  3.14k|	struct sctp_ifa *sctp_ifa, *sifa;
 2643|  3.14k|	uint8_t start_at_beginning = 0;
 2644|  3.14k|	struct sctp_vrf *vrf;
 2645|  3.14k|	uint32_t ifn_index;
 2646|       |
 2647|       |	/*
 2648|       |	 * first question, is the ifn we will emit on in our list, if so, we
 2649|       |	 * want that one.
 2650|       |	 */
 2651|  3.14k|	vrf = sctp_find_vrf(vrf_id);
 2652|  3.14k|	if (vrf == NULL)
  ------------------
  |  Branch (2652:6): [True: 0, False: 3.14k]
  ------------------
 2653|      0|		return (NULL);
 2654|       |
 2655|  3.14k|	ifn = SCTP_GET_IFN_VOID_FROM_ROUTE(ro);
  ------------------
  |  |  660|  3.14k|#define SCTP_GET_IFN_VOID_FROM_ROUTE(ro) (void *)ro->ro_rt->rt_ifp
  ------------------
 2656|  3.14k|	ifn_index = SCTP_GET_IF_INDEX_FROM_ROUTE(ro);
  ------------------
  |  |  661|  3.14k|#define SCTP_GET_IF_INDEX_FROM_ROUTE(ro) 1 /* compiles...  TODO use routing socket to determine */
  ------------------
 2657|  3.14k|	sctp_ifn = sctp_find_ifn(ifn, ifn_index);
 2658|       |
 2659|       |	/*
 2660|       |	 * first question, is the ifn we will emit on in our list?  If so,
 2661|       |	 * we want that one. First we look for a preferred. Second, we go
 2662|       |	 * for an acceptable.
 2663|       |	 */
 2664|  3.14k|	if (sctp_ifn) {
  ------------------
  |  Branch (2664:6): [True: 3.14k, False: 0]
  ------------------
 2665|       |		/* first try for a preferred address on the ep */
 2666|  3.14k|		LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
 2667|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2668|       |#ifdef INET
 2669|       |			if ((sctp_ifa->address.sa.sa_family == AF_INET) &&
 2670|       |			    (prison_check_ip4(inp->ip_inp.inp.inp_cred,
 2671|       |			                      &sctp_ifa->address.sin.sin_addr) != 0)) {
 2672|       |				continue;
 2673|       |			}
 2674|       |#endif
 2675|       |#ifdef INET6
 2676|       |			if ((sctp_ifa->address.sa.sa_family == AF_INET6) &&
 2677|       |			    (prison_check_ip6(inp->ip_inp.inp.inp_cred,
 2678|       |			                      &sctp_ifa->address.sin6.sin6_addr) != 0)) {
 2679|       |				continue;
 2680|       |			}
 2681|       |#endif
 2682|       |#endif
 2683|  3.14k|			if ((sctp_ifa->localifa_flags & SCTP_ADDR_DEFER_USE) && (non_asoc_addr_ok == 0))
  ------------------
  |  |   97|  3.14k|#define SCTP_ADDR_DEFER_USE     0x00000004	/* Hold off using this one */
  ------------------
  |  Branch (2683:8): [True: 0, False: 3.14k]
  |  Branch (2683:60): [True: 0, False: 0]
  ------------------
 2684|      0|				continue;
 2685|  3.14k|			if (sctp_is_addr_in_ep(inp, sctp_ifa)) {
  ------------------
  |  Branch (2685:8): [True: 0, False: 3.14k]
  ------------------
 2686|      0|				sifa = sctp_is_ifa_addr_preferred(sctp_ifa, dest_is_loop, dest_is_priv, fam);
 2687|      0|				if (sifa == NULL)
  ------------------
  |  Branch (2687:9): [True: 0, False: 0]
  ------------------
 2688|      0|					continue;
 2689|      0|				if (((non_asoc_addr_ok == 0) &&
  ------------------
  |  Branch (2689:10): [True: 0, False: 0]
  ------------------
 2690|      0|				     (sctp_is_addr_restricted(stcb, sifa))) ||
  ------------------
  |  Branch (2690:10): [True: 0, False: 0]
  ------------------
 2691|      0|				    (non_asoc_addr_ok &&
  ------------------
  |  Branch (2691:10): [True: 0, False: 0]
  ------------------
 2692|      0|				     (sctp_is_addr_restricted(stcb, sifa)) &&
  ------------------
  |  Branch (2692:10): [True: 0, False: 0]
  ------------------
 2693|      0|				     (!sctp_is_addr_pending(stcb, sifa)))) {
  ------------------
  |  Branch (2693:10): [True: 0, False: 0]
  ------------------
 2694|       |					/* on the no-no list */
 2695|      0|					continue;
 2696|      0|				}
 2697|      0|				atomic_add_int(&sifa->refcount, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 2698|      0|				return (sifa);
 2699|      0|			}
 2700|  3.14k|		}
 2701|       |		/* next try for an acceptable address on the ep */
 2702|  3.14k|		LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
 2703|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2704|       |#ifdef INET
 2705|       |			if ((sctp_ifa->address.sa.sa_family == AF_INET) &&
 2706|       |			    (prison_check_ip4(inp->ip_inp.inp.inp_cred,
 2707|       |			                      &sctp_ifa->address.sin.sin_addr) != 0)) {
 2708|       |				continue;
 2709|       |			}
 2710|       |#endif
 2711|       |#ifdef INET6
 2712|       |			if ((sctp_ifa->address.sa.sa_family == AF_INET6) &&
 2713|       |			    (prison_check_ip6(inp->ip_inp.inp.inp_cred,
 2714|       |			                      &sctp_ifa->address.sin6.sin6_addr) != 0)) {
 2715|       |				continue;
 2716|       |			}
 2717|       |#endif
 2718|       |#endif
 2719|  3.14k|			if ((sctp_ifa->localifa_flags & SCTP_ADDR_DEFER_USE) && (non_asoc_addr_ok == 0))
  ------------------
  |  |   97|  3.14k|#define SCTP_ADDR_DEFER_USE     0x00000004	/* Hold off using this one */
  ------------------
  |  Branch (2719:8): [True: 0, False: 3.14k]
  |  Branch (2719:60): [True: 0, False: 0]
  ------------------
 2720|      0|				continue;
 2721|  3.14k|			if (sctp_is_addr_in_ep(inp, sctp_ifa)) {
  ------------------
  |  Branch (2721:8): [True: 0, False: 3.14k]
  ------------------
 2722|      0|				sifa= sctp_is_ifa_addr_acceptable(sctp_ifa, dest_is_loop, dest_is_priv,fam);
 2723|      0|				if (sifa == NULL)
  ------------------
  |  Branch (2723:9): [True: 0, False: 0]
  ------------------
 2724|      0|					continue;
 2725|      0|				if (((non_asoc_addr_ok == 0) &&
  ------------------
  |  Branch (2725:10): [True: 0, False: 0]
  ------------------
 2726|      0|				     (sctp_is_addr_restricted(stcb, sifa))) ||
  ------------------
  |  Branch (2726:10): [True: 0, False: 0]
  ------------------
 2727|      0|				    (non_asoc_addr_ok &&
  ------------------
  |  Branch (2727:10): [True: 0, False: 0]
  ------------------
 2728|      0|				     (sctp_is_addr_restricted(stcb, sifa)) &&
  ------------------
  |  Branch (2728:10): [True: 0, False: 0]
  ------------------
 2729|      0|				     (!sctp_is_addr_pending(stcb, sifa)))) {
  ------------------
  |  Branch (2729:10): [True: 0, False: 0]
  ------------------
 2730|       |					/* on the no-no list */
 2731|      0|					continue;
 2732|      0|				}
 2733|      0|				atomic_add_int(&sifa->refcount, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 2734|      0|				return (sifa);
 2735|      0|			}
 2736|  3.14k|		}
 2737|  3.14k|	}
 2738|       |	/*
 2739|       |	 * if we can't find one like that then we must look at all
 2740|       |	 * addresses bound to pick one at first preferable then
 2741|       |	 * secondly acceptable.
 2742|       |	 */
 2743|  3.14k|	starting_point = stcb->asoc.last_used_address;
 2744|  5.37k| sctp_from_the_top:
 2745|  5.37k|	if (stcb->asoc.last_used_address == NULL) {
  ------------------
  |  Branch (2745:6): [True: 3.14k, False: 2.22k]
  ------------------
 2746|  3.14k|		start_at_beginning = 1;
 2747|  3.14k|		stcb->asoc.last_used_address = LIST_FIRST(&inp->sctp_addr_list);
 2748|  3.14k|	}
 2749|       |	/* search beginning with the last used address */
 2750|  10.7k|	for (laddr = stcb->asoc.last_used_address; laddr;
  ------------------
  |  Branch (2750:45): [True: 5.37k, False: 5.37k]
  ------------------
 2751|  5.37k|	     laddr = LIST_NEXT(laddr, sctp_nxt_addr)) {
 2752|  5.37k|		if (laddr->ifa == NULL) {
  ------------------
  |  Branch (2752:7): [True: 0, False: 5.37k]
  ------------------
 2753|       |			/* address has been removed */
 2754|      0|			continue;
 2755|      0|		}
 2756|  5.37k|		if (laddr->action == SCTP_DEL_IP_ADDRESS) {
  ------------------
  |  |  431|  5.37k|#define SCTP_DEL_IP_ADDRESS		0xc002
  ------------------
  |  Branch (2756:7): [True: 0, False: 5.37k]
  ------------------
 2757|       |			/* address is being deleted */
 2758|      0|			continue;
 2759|      0|		}
 2760|  5.37k|		sifa = sctp_is_ifa_addr_preferred(laddr->ifa, dest_is_loop, dest_is_priv, fam);
 2761|  5.37k|		if (sifa == NULL)
  ------------------
  |  Branch (2761:7): [True: 5.37k, False: 0]
  ------------------
 2762|  5.37k|			continue;
 2763|      0|		if (((non_asoc_addr_ok == 0) &&
  ------------------
  |  Branch (2763:8): [True: 0, False: 0]
  ------------------
 2764|      0|		     (sctp_is_addr_restricted(stcb, sifa))) ||
  ------------------
  |  Branch (2764:8): [True: 0, False: 0]
  ------------------
 2765|      0|		    (non_asoc_addr_ok &&
  ------------------
  |  Branch (2765:8): [True: 0, False: 0]
  ------------------
 2766|      0|		     (sctp_is_addr_restricted(stcb, sifa)) &&
  ------------------
  |  Branch (2766:8): [True: 0, False: 0]
  ------------------
 2767|      0|		     (!sctp_is_addr_pending(stcb, sifa)))) {
  ------------------
  |  Branch (2767:8): [True: 0, False: 0]
  ------------------
 2768|       |			/* on the no-no list */
 2769|      0|			continue;
 2770|      0|		}
 2771|      0|		stcb->asoc.last_used_address = laddr;
 2772|      0|		atomic_add_int(&sifa->refcount, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 2773|      0|		return (sifa);
 2774|      0|	}
 2775|  5.37k|	if (start_at_beginning == 0) {
  ------------------
  |  Branch (2775:6): [True: 2.22k, False: 3.14k]
  ------------------
 2776|  2.22k|		stcb->asoc.last_used_address = NULL;
 2777|  2.22k|		goto sctp_from_the_top;
 2778|  2.22k|	}
 2779|       |	/* now try for any higher scope than the destination */
 2780|  3.14k|	stcb->asoc.last_used_address = starting_point;
 2781|  3.14k|	start_at_beginning = 0;
 2782|  5.37k| sctp_from_the_top2:
 2783|  5.37k|	if (stcb->asoc.last_used_address == NULL) {
  ------------------
  |  Branch (2783:6): [True: 3.14k, False: 2.22k]
  ------------------
 2784|  3.14k|		start_at_beginning = 1;
 2785|  3.14k|		stcb->asoc.last_used_address = LIST_FIRST(&inp->sctp_addr_list);
 2786|  3.14k|	}
 2787|       |	/* search beginning with the last used address */
 2788|  10.7k|	for (laddr = stcb->asoc.last_used_address; laddr;
  ------------------
  |  Branch (2788:45): [True: 5.37k, False: 5.37k]
  ------------------
 2789|  5.37k|	     laddr = LIST_NEXT(laddr, sctp_nxt_addr)) {
 2790|  5.37k|		if (laddr->ifa == NULL) {
  ------------------
  |  Branch (2790:7): [True: 0, False: 5.37k]
  ------------------
 2791|       |			/* address has been removed */
 2792|      0|			continue;
 2793|      0|		}
 2794|  5.37k|		if (laddr->action == SCTP_DEL_IP_ADDRESS) {
  ------------------
  |  |  431|  5.37k|#define SCTP_DEL_IP_ADDRESS		0xc002
  ------------------
  |  Branch (2794:7): [True: 0, False: 5.37k]
  ------------------
 2795|       |			/* address is being deleted */
 2796|      0|			continue;
 2797|      0|		}
 2798|  5.37k|		sifa = sctp_is_ifa_addr_acceptable(laddr->ifa, dest_is_loop,
 2799|  5.37k|						   dest_is_priv, fam);
 2800|  5.37k|		if (sifa == NULL)
  ------------------
  |  Branch (2800:7): [True: 5.37k, False: 0]
  ------------------
 2801|  5.37k|			continue;
 2802|      0|		if (((non_asoc_addr_ok == 0) &&
  ------------------
  |  Branch (2802:8): [True: 0, False: 0]
  ------------------
 2803|      0|		     (sctp_is_addr_restricted(stcb, sifa))) ||
  ------------------
  |  Branch (2803:8): [True: 0, False: 0]
  ------------------
 2804|      0|		    (non_asoc_addr_ok &&
  ------------------
  |  Branch (2804:8): [True: 0, False: 0]
  ------------------
 2805|      0|		     (sctp_is_addr_restricted(stcb, sifa)) &&
  ------------------
  |  Branch (2805:8): [True: 0, False: 0]
  ------------------
 2806|      0|		     (!sctp_is_addr_pending(stcb, sifa)))) {
  ------------------
  |  Branch (2806:8): [True: 0, False: 0]
  ------------------
 2807|       |			/* on the no-no list */
 2808|      0|			continue;
 2809|      0|		}
 2810|      0|		stcb->asoc.last_used_address = laddr;
 2811|      0|		atomic_add_int(&sifa->refcount, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 2812|      0|		return (sifa);
 2813|      0|	}
 2814|  5.37k|	if (start_at_beginning == 0) {
  ------------------
  |  Branch (2814:6): [True: 2.22k, False: 3.14k]
  ------------------
 2815|  2.22k|		stcb->asoc.last_used_address = NULL;
 2816|  2.22k|		goto sctp_from_the_top2;
 2817|  2.22k|	}
 2818|  3.14k|	return (NULL);
 2819|  5.37k|}
sctp_output.c:sctp_lowlevel_chunk_output:
 4091|  58.4k|{
 4092|       |	/**
 4093|       |	 * Given a mbuf chain (via SCTP_BUF_NEXT()) that holds a packet header
 4094|       |	 * WITH an SCTPHDR but no IP header, endpoint inp and sa structure:
 4095|       |	 * - fill in the HMAC digest of any AUTH chunk in the packet.
 4096|       |	 * - calculate and fill in the SCTP checksum.
 4097|       |	 * - prepend an IP address header.
 4098|       |	 * - if boundall use INADDR_ANY.
 4099|       |	 * - if boundspecific do source address selection.
 4100|       |	 * - set fragmentation option for ipV4.
 4101|       |	 * - On return from IP output, check/adjust mtu size of output
 4102|       |	 *   interface and smallest_mtu size as well.
 4103|       |	 */
 4104|       |	/* Will need ifdefs around this */
 4105|  58.4k|	struct mbuf *newm;
 4106|  58.4k|	struct sctphdr *sctphdr;
 4107|  58.4k|	int packet_length;
 4108|  58.4k|	int ret;
 4109|  58.4k|#if defined(INET) || defined(INET6)
 4110|  58.4k|	uint32_t vrf_id;
 4111|  58.4k|#endif
 4112|  58.4k|#if defined(INET) || defined(INET6)
 4113|  58.4k|	struct mbuf *o_pak;
 4114|  58.4k|	sctp_route_t *ro = NULL;
 4115|  58.4k|	struct udphdr *udp = NULL;
 4116|  58.4k|#endif
 4117|  58.4k|	uint8_t tos_value;
 4118|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4119|       |	struct socket *so = NULL;
 4120|       |#endif
 4121|       |
 4122|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4123|       |	if (so_locked) {
 4124|       |		sctp_lock_assert(SCTP_INP_SO(inp));
 4125|       |		SCTP_TCB_LOCK_ASSERT(stcb);
 4126|       |	} else {
 4127|       |		sctp_unlock_assert(SCTP_INP_SO(inp));
 4128|       |	}
 4129|       |#endif
 4130|  58.4k|	if ((net) && (net->dest_state & SCTP_ADDR_OUT_OF_SCOPE)) {
  ------------------
  |  |  486|  58.4k|#define SCTP_ADDR_OUT_OF_SCOPE		0x080
  ------------------
  |  Branch (4130:6): [True: 58.4k, False: 0]
  |  Branch (4130:15): [True: 1.13k, False: 57.3k]
  ------------------
 4131|  1.13k|		SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, net, SCTP_FROM_SCTP_OUTPUT, EFAULT);
 4132|  1.13k|		sctp_m_freem(m);
  ------------------
  |  |   52|  1.13k|#define sctp_m_freem m_freem
  ------------------
 4133|  1.13k|		return (EFAULT);
 4134|  1.13k|	}
 4135|  57.3k|#if defined(INET) || defined(INET6)
 4136|  57.3k|	if (stcb) {
  ------------------
  |  Branch (4136:6): [True: 57.3k, False: 0]
  ------------------
 4137|  57.3k|		vrf_id = stcb->asoc.vrf_id;
 4138|  57.3k|	} else {
 4139|      0|		vrf_id = inp->def_vrf_id;
 4140|      0|	}
 4141|  57.3k|#endif
 4142|       |	/* fill in the HMAC digest for any AUTH chunk in the packet */
 4143|  57.3k|	if ((auth != NULL) && (stcb != NULL)) {
  ------------------
  |  Branch (4143:6): [True: 1.23k, False: 56.0k]
  |  Branch (4143:24): [True: 1.23k, False: 0]
  ------------------
 4144|  1.23k|		sctp_fill_hmac_digest_m(m, auth_offset, auth, stcb, auth_keyid);
 4145|  1.23k|	}
 4146|       |
 4147|  57.3k|	if (net) {
  ------------------
  |  Branch (4147:6): [True: 57.3k, False: 0]
  ------------------
 4148|  57.3k|		tos_value = net->dscp;
 4149|  57.3k|	} else if (stcb) {
  ------------------
  |  Branch (4149:13): [True: 0, False: 0]
  ------------------
 4150|      0|		tos_value = stcb->asoc.default_dscp;
 4151|      0|	} else {
 4152|      0|		tos_value = inp->sctp_ep.default_dscp;
 4153|      0|	}
 4154|       |
 4155|  57.3k|	switch (to->sa_family) {
 4156|      0|#ifdef INET
 4157|  1.40k|	case AF_INET:
  ------------------
  |  Branch (4157:2): [True: 1.40k, False: 55.9k]
  ------------------
 4158|  1.40k|	{
 4159|  1.40k|		struct ip *ip = NULL;
 4160|  1.40k|		sctp_route_t iproute;
 4161|  1.40k|		int len;
 4162|       |
 4163|  1.40k|		len = SCTP_MIN_V4_OVERHEAD;
  ------------------
  |  |  588|  1.40k|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|  1.40k|                              sizeof(struct sctphdr))
  ------------------
 4164|  1.40k|		if (port) {
  ------------------
  |  Branch (4164:7): [True: 0, False: 1.40k]
  ------------------
 4165|      0|			len += sizeof(struct udphdr);
 4166|      0|		}
 4167|  1.40k|		newm = sctp_get_mbuf_for_msg(len, 1, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  1.40k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		newm = sctp_get_mbuf_for_msg(len, 1, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  1.40k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 4168|  1.40k|		if (newm == NULL) {
  ------------------
  |  Branch (4168:7): [True: 0, False: 1.40k]
  ------------------
 4169|      0|			sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4170|      0|			SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
 4171|      0|			return (ENOMEM);
 4172|      0|		}
 4173|  1.40k|		SCTP_ALIGN_TO_END(newm, len);
  ------------------
  |  |  806|  1.40k|#define SCTP_ALIGN_TO_END(m, len) if(m->m_flags & M_PKTHDR) { \
  |  |  ------------------
  |  |  |  |  221|  1.40k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               #define SCTP_ALIGN_TO_END(m, len) if(m->m_flags & M_PKTHDR) { \
  |  |  ------------------
  |  |  |  |  234|  2.81k|#define	M_PKTHDR	0x0002	/* start of record */
  |  |  ------------------
  |  |  |  Branch (806:38): [True: 1.40k, False: 0]
  |  |  ------------------
  |  |  807|  1.40k|                                     MH_ALIGN(m, len); \
  |  |  ------------------
  |  |  |  |  399|  1.40k|#define	MH_ALIGN(m, len) do {						\
  |  |  |  |  400|  1.40k|        KASSERT((m)->m_flags & M_PKTHDR && !((m)->m_flags & M_EXT),     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  1.40k|	do {                         \
  |  |  |  |  |  |  113|  2.81k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:9): [True: 1.40k, False: 0]
  |  |  |  |  |  |  |  Branch (113:9): [True: 1.40k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  1.40k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  401|  1.40k|                ("%s: MH_ALIGN not PKTHDR mbuf", __func__));            \
  |  |  |  |  402|  1.40k|        KASSERT((m)->m_data == (m)->m_pktdat,                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  1.40k|	do {                         \
  |  |  |  |  |  |  113|  1.40k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.40k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  1.40k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  403|  1.40k|                ("%s: MH_ALIGN not a virgin mbuf", __func__));          \
  |  |  |  |  404|  1.40k|	(m)->m_data += (MHLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  219|  1.40k|#define	m_data		m_hdr.mh_data
  |  |  |  |  ------------------
  |  |  |  |               	(m)->m_data += (MHLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  139|  1.40k|#define	MHLEN		((int)(MLEN - sizeof(struct pkthdr)))	/* data len w/pkthdr */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  138|  1.40k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   47|  1.40k|#define MSIZE 256
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  405|  1.40k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (405:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  808|  1.40k|                                  } else if ((m->m_flags & M_EXT) == 0) { \
  |  |  ------------------
  |  |  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |                                                 } else if ((m->m_flags & M_EXT) == 0) { \
  |  |  ------------------
  |  |  |  |  233|      0|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (808:46): [True: 0, False: 0]
  |  |  ------------------
  |  |  809|      0|                                     M_ALIGN(m, len); \
  |  |  ------------------
  |  |  |  |  387|      0|#define	M_ALIGN(m, len) do {						\
  |  |  |  |  388|      0|        KASSERT(!((m)->m_flags & (M_PKTHDR|M_EXT)),                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  389|      0|                ("%s: M_ALIGN not normal mbuf", __func__));             \
  |  |  |  |  390|      0|        KASSERT((m)->m_data == (m)->m_dat,                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  391|      0|                ("%s: M_ALIGN not a virgin mbuf", __func__));           \
  |  |  |  |  392|      0|	(m)->m_data += (MLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  |  |  ------------------
  |  |  |  |               	(m)->m_data += (MLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  138|      0|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   47|      0|#define MSIZE 256
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  393|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (393:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  810|      0|                                  }
  ------------------
 4174|  1.40k|		SCTP_BUF_LEN(newm) = len;
  ------------------
  |  |  795|  1.40k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  1.40k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4175|  1.40k|		SCTP_BUF_NEXT(newm) = m;
  ------------------
  |  |  796|  1.40k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  1.40k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 4176|  1.40k|		m = newm;
 4177|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4178|       |		if (net != NULL) {
 4179|       |			m->m_pkthdr.flowid = net->flowid;
 4180|       |			M_HASHTYPE_SET(m, net->flowtype);
 4181|       |		} else {
 4182|       |			m->m_pkthdr.flowid = mflowid;
 4183|       |			M_HASHTYPE_SET(m, mflowtype);
 4184|       | 		}
 4185|       |#endif
 4186|  1.40k|		packet_length = sctp_calculate_len(m);
 4187|  1.40k|		ip = mtod(m, struct ip *);
  ------------------
  |  |   96|  1.40k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  1.40k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 4188|  1.40k|		ip->ip_v = IPVERSION;
 4189|  1.40k|		ip->ip_hl = (sizeof(struct ip) >> 2);
 4190|  1.40k|		if (tos_value == 0) {
  ------------------
  |  Branch (4190:7): [True: 1.40k, False: 0]
  ------------------
 4191|       |			/*
 4192|       |			 * This means especially, that it is not set at the
 4193|       |			 * SCTP layer. So use the value from the IP layer.
 4194|       |			 */
 4195|  1.40k|			tos_value = inp->ip_inp.inp.inp_ip_tos;
  ------------------
  |  |  148|  1.40k|#define	inp_ip_tos	inp_depend4.inp4_ip_tos
  ------------------
 4196|  1.40k|		}
 4197|  1.40k|		tos_value &= 0xfc;
 4198|  1.40k|		if (ecn_ok) {
  ------------------
  |  Branch (4198:7): [True: 4, False: 1.40k]
  ------------------
 4199|      4|			tos_value |= sctp_get_ect(stcb);
 4200|      4|		}
 4201|  1.40k|		if ((nofragment_flag) && (port == 0)) {
  ------------------
  |  Branch (4201:7): [True: 812, False: 595]
  |  Branch (4201:28): [True: 812, False: 0]
  ------------------
 4202|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4203|       |			ip->ip_off = htons(IP_DF);
 4204|       |#elif defined(WITH_CONVERT_IP_OFF) || defined(__APPLE__)
 4205|       |			ip->ip_off = IP_DF;
 4206|       |#else
 4207|    812|			ip->ip_off = htons(IP_DF);
 4208|    812|#endif
 4209|    812|		} else {
 4210|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4211|       |			ip->ip_off = htons(0);
 4212|       |#else
 4213|    595|			ip->ip_off = 0;
 4214|    595|#endif
 4215|    595|		}
 4216|  1.40k|#if defined(__Userspace__)
 4217|  1.40k|		ip->ip_id = htons(SCTP_IP_ID(inp)++);
 4218|       |#elif defined(__FreeBSD__)
 4219|       |		/* FreeBSD has a function for ip_id's */
 4220|       |		ip_fillid(ip);
 4221|       |#elif defined(__APPLE__)
 4222|       |#if RANDOM_IP_ID
 4223|       |		ip->ip_id = ip_randomid();
 4224|       |#else
 4225|       |		ip->ip_id = htons(ip_id++);
 4226|       |#endif
 4227|       |#else
 4228|       |		ip->ip_id = SCTP_IP_ID(inp)++;
 4229|       |#endif
 4230|       |
 4231|  1.40k|		ip->ip_ttl = inp->ip_inp.inp.inp_ip_ttl;
 4232|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4233|       |		ip->ip_len = htons(packet_length);
 4234|       |#else
 4235|  1.40k|		ip->ip_len = packet_length;
 4236|  1.40k|#endif
 4237|  1.40k|		ip->ip_tos = tos_value;
 4238|  1.40k|		if (port) {
  ------------------
  |  Branch (4238:7): [True: 0, False: 1.40k]
  ------------------
 4239|      0|			ip->ip_p = IPPROTO_UDP;
 4240|  1.40k|		} else {
 4241|  1.40k|			ip->ip_p = IPPROTO_SCTP;
 4242|  1.40k|		}
 4243|  1.40k|		ip->ip_sum = 0;
 4244|  1.40k|		if (net == NULL) {
  ------------------
  |  Branch (4244:7): [True: 0, False: 1.40k]
  ------------------
 4245|      0|			ro = &iproute;
 4246|      0|			memset(&iproute, 0, sizeof(iproute));
 4247|       |#ifdef HAVE_SA_LEN
 4248|       |			memcpy(&ro->ro_dst, to, to->sa_len);
 4249|       |#else
 4250|      0|			memcpy(&ro->ro_dst, to, sizeof(struct sockaddr_in));
 4251|      0|#endif
 4252|  1.40k|		} else {
 4253|  1.40k|			ro = (sctp_route_t *)&net->ro;
 4254|  1.40k|		}
 4255|       |		/* Now the address selection part */
 4256|  1.40k|		ip->ip_dst.s_addr = ((struct sockaddr_in *)to)->sin_addr.s_addr;
 4257|       |
 4258|       |		/* call the routine to select the src address */
 4259|  1.40k|		if (net && out_of_asoc_ok == 0) {
  ------------------
  |  Branch (4259:7): [True: 1.40k, False: 0]
  |  Branch (4259:14): [True: 1.40k, False: 0]
  ------------------
 4260|  1.40k|			if (net->ro._s_addr && (net->ro._s_addr->localifa_flags & (SCTP_BEING_DELETED|SCTP_ADDR_IFA_UNUSEABLE))) {
  ------------------
  |  |   90|      0|#define SCTP_BEING_DELETED      0x00000002	/* being deleted,
  ------------------
              			if (net->ro._s_addr && (net->ro._s_addr->localifa_flags & (SCTP_BEING_DELETED|SCTP_ADDR_IFA_UNUSEABLE))) {
  ------------------
  |  |   98|      0|#define SCTP_ADDR_IFA_UNUSEABLE 0x00000008
  ------------------
  |  Branch (4260:8): [True: 0, False: 1.40k]
  |  Branch (4260:27): [True: 0, False: 0]
  ------------------
 4261|      0|				sctp_free_ifa(net->ro._s_addr);
 4262|      0|				net->ro._s_addr = NULL;
 4263|      0|				net->src_addr_selected = 0;
 4264|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4265|       |				RO_NHFREE(ro);
 4266|       |#else
 4267|      0|				if (ro->ro_rt) {
  ------------------
  |  Branch (4267:9): [True: 0, False: 0]
  ------------------
 4268|      0|					RTFREE(ro->ro_rt);
  ------------------
  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  ------------------
  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  ------------------
  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  122|      0|		}						\
  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  129|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4269|      0|					ro->ro_rt = NULL;
 4270|      0|				}
 4271|      0|#endif
 4272|      0|			}
 4273|  1.40k|			if (net->src_addr_selected == 0) {
  ------------------
  |  Branch (4273:8): [True: 1.40k, False: 0]
  ------------------
 4274|       |				/* Cache the source address */
 4275|  1.40k|				net->ro._s_addr = sctp_source_address_selection(inp,stcb,
 4276|  1.40k|										ro, net, 0,
 4277|  1.40k|										vrf_id);
 4278|  1.40k|				net->src_addr_selected = 1;
 4279|  1.40k|			}
 4280|  1.40k|			if (net->ro._s_addr == NULL) {
  ------------------
  |  Branch (4280:8): [True: 1.40k, False: 0]
  ------------------
 4281|       |				/* No route to host */
 4282|  1.40k|				net->src_addr_selected = 0;
 4283|  1.40k|				sctp_handle_no_route(stcb, net, so_locked);
 4284|  1.40k|				SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, EHOSTUNREACH);
 4285|  1.40k|				sctp_m_freem(m);
  ------------------
  |  |   52|  1.40k|#define sctp_m_freem m_freem
  ------------------
 4286|  1.40k|				return (EHOSTUNREACH);
 4287|  1.40k|			}
 4288|      0|			ip->ip_src = net->ro._s_addr->address.sin.sin_addr;
 4289|      0|		} else {
 4290|      0|			if (over_addr == NULL) {
  ------------------
  |  Branch (4290:8): [True: 0, False: 0]
  ------------------
 4291|      0|				struct sctp_ifa *_lsrc;
 4292|       |
 4293|      0|				_lsrc = sctp_source_address_selection(inp, stcb, ro,
 4294|      0|				                                      net,
 4295|      0|				                                      out_of_asoc_ok,
 4296|      0|				                                      vrf_id);
 4297|      0|				if (_lsrc == NULL) {
  ------------------
  |  Branch (4297:9): [True: 0, False: 0]
  ------------------
 4298|      0|					sctp_handle_no_route(stcb, net, so_locked);
 4299|      0|					SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, EHOSTUNREACH);
 4300|      0|					sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4301|      0|					return (EHOSTUNREACH);
 4302|      0|				}
 4303|      0|				ip->ip_src = _lsrc->address.sin.sin_addr;
 4304|      0|				sctp_free_ifa(_lsrc);
 4305|      0|			} else {
 4306|      0|				ip->ip_src = over_addr->sin.sin_addr;
 4307|      0|				SCTP_RTALLOC(ro, vrf_id, inp->fibnum);
  ------------------
  |  |  865|      0|#define SCTP_RTALLOC(ro, vrf_id, fibnum) sctp_userspace_rtalloc((sctp_route_t *)ro)
  ------------------
 4308|      0|			}
 4309|      0|		}
 4310|      0|		if (port) {
  ------------------
  |  Branch (4310:7): [True: 0, False: 0]
  ------------------
 4311|      0|			if (htons(SCTP_BASE_SYSCTL(sctp_udp_tunneling_port)) == 0) {
  ------------------
  |  Branch (4311:8): [True: 0, False: 0]
  ------------------
 4312|      0|				sctp_handle_no_route(stcb, net, so_locked);
 4313|      0|				SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, EHOSTUNREACH);
 4314|      0|				sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4315|      0|				return (EHOSTUNREACH);
 4316|      0|			}
 4317|      0|			udp = (struct udphdr *)((caddr_t)ip + sizeof(struct ip));
 4318|      0|			udp->uh_sport = htons(SCTP_BASE_SYSCTL(sctp_udp_tunneling_port));
 4319|      0|			udp->uh_dport = port;
 4320|      0|			udp->uh_ulen = htons((uint16_t)(packet_length - sizeof(struct ip)));
 4321|       |#if !defined(__Userspace__)
 4322|       |#if defined(__FreeBSD__)
 4323|       |			if (V_udp_cksum) {
 4324|       |				udp->uh_sum = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr, udp->uh_ulen + htons(IPPROTO_UDP));
 4325|       |			} else {
 4326|       |				udp->uh_sum = 0;
 4327|       |			}
 4328|       |#else
 4329|       |			udp->uh_sum = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr, udp->uh_ulen + htons(IPPROTO_UDP));
 4330|       |#endif
 4331|       |#else
 4332|      0|			udp->uh_sum = 0;
 4333|      0|#endif
 4334|      0|			sctphdr = (struct sctphdr *)((caddr_t)udp + sizeof(struct udphdr));
 4335|      0|		} else {
 4336|      0|			sctphdr = (struct sctphdr *)((caddr_t)ip + sizeof(struct ip));
 4337|      0|		}
 4338|       |
 4339|      0|		sctphdr->src_port = src_port;
 4340|      0|		sctphdr->dest_port = dest_port;
 4341|      0|		sctphdr->v_tag = v_tag;
 4342|      0|		sctphdr->checksum = 0;
 4343|       |
 4344|       |		/*
 4345|       |		 * If source address selection fails and we find no route
 4346|       |		 * then the ip_output should fail as well with a
 4347|       |		 * NO_ROUTE_TO_HOST type error. We probably should catch
 4348|       |		 * that somewhere and abort the association right away
 4349|       |		 * (assuming this is an INIT being sent).
 4350|       |		 */
 4351|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4352|       |		if (ro->ro_nh == NULL) {
 4353|       |#else
 4354|      0|		if (ro->ro_rt == NULL) {
  ------------------
  |  Branch (4354:7): [True: 0, False: 0]
  ------------------
 4355|      0|#endif
 4356|       |			/*
 4357|       |			 * src addr selection failed to find a route (or
 4358|       |			 * valid source addr), so we can't get there from
 4359|       |			 * here (yet)!
 4360|       |			 */
 4361|      0|			sctp_handle_no_route(stcb, net, so_locked);
 4362|      0|			SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, EHOSTUNREACH);
 4363|      0|			sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4364|      0|			return (EHOSTUNREACH);
 4365|      0|		}
 4366|      0|		if (ro != &iproute) {
  ------------------
  |  Branch (4366:7): [True: 0, False: 0]
  ------------------
 4367|      0|			memcpy(&iproute, ro, sizeof(*ro));
 4368|      0|		}
 4369|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "Calling ipv4 output routine from low level src addr:%x\n",
 4370|      0|			(uint32_t) (ntohl(ip->ip_src.s_addr)));
 4371|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "Destination is %x\n",
 4372|      0|			(uint32_t)(ntohl(ip->ip_dst.s_addr)));
 4373|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4374|       |		SCTPDBG(SCTP_DEBUG_OUTPUT3, "RTP route is %p through\n",
 4375|       |			(void *)ro->ro_nh);
 4376|       |#else
 4377|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "RTP route is %p through\n",
 4378|      0|			(void *)ro->ro_rt);
 4379|      0|#endif
 4380|       |
 4381|      0|		if (SCTP_GET_HEADER_FOR_OUTPUT(o_pak)) {
  ------------------
  |  |  916|      0|#define SCTP_GET_HEADER_FOR_OUTPUT(o_pak) 0
  |  |  ------------------
  |  |  |  Branch (916:43): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4382|       |			/* failed to prepend data, give up */
 4383|      0|			SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
 4384|      0|			sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4385|      0|			return (ENOMEM);
 4386|      0|		}
 4387|      0|		SCTP_ATTACH_CHAIN(o_pak, m, packet_length);
  ------------------
  |  |  925|      0|#define SCTP_ATTACH_CHAIN(pak, m, packet_length) do { \
  |  |  926|      0|                                                  pak = m; \
  |  |  927|      0|                                                  pak->m_pkthdr.len = packet_length; \
  |  |  ------------------
  |  |  |  |  224|      0|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  |  |  ------------------
  |  |  928|      0|                          } while(0)
  |  |  ------------------
  |  |  |  Branch (928:35): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4388|      0|		if (port) {
  ------------------
  |  Branch (4388:7): [True: 0, False: 0]
  ------------------
 4389|      0|			if (use_zero_crc) {
  ------------------
  |  Branch (4389:8): [True: 0, False: 0]
  ------------------
 4390|      0|				SCTP_STAT_INCR(sctps_sendzerocrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4391|      0|			} else {
 4392|      0|				sctphdr->checksum = sctp_calculate_cksum(m, sizeof(struct ip) + sizeof(struct udphdr));
 4393|      0|				SCTP_STAT_INCR(sctps_sendswcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4394|      0|			}
 4395|       |#if !defined(__Userspace__)
 4396|       |#if defined(__FreeBSD__)
 4397|       |			if (V_udp_cksum) {
 4398|       |				SCTP_ENABLE_UDP_CSUM(o_pak);
 4399|       |			}
 4400|       |#else
 4401|       |			SCTP_ENABLE_UDP_CSUM(o_pak);
 4402|       |#endif
 4403|       |#endif
 4404|      0|		} else {
 4405|      0|			if (use_zero_crc) {
  ------------------
  |  Branch (4405:8): [True: 0, False: 0]
  ------------------
 4406|      0|				SCTP_STAT_INCR(sctps_sendzerocrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4407|      0|			} else {
 4408|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4409|       |				m->m_pkthdr.csum_flags = CSUM_SCTP;
 4410|       |				m->m_pkthdr.csum_data = offsetof(struct sctphdr, checksum);
 4411|       |				SCTP_STAT_INCR(sctps_sendhwcrc);
 4412|       |#else
 4413|      0|				if (!(SCTP_BASE_SYSCTL(sctp_no_csum_on_loopback) &&
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4414|      0|				      (stcb) && (stcb->asoc.scope.loopback_scope))) {
  ------------------
  |  Branch (4414:11): [True: 0, False: 0]
  |  Branch (4414:21): [True: 0, False: 0]
  ------------------
 4415|      0|					sctphdr->checksum = sctp_calculate_cksum(m, sizeof(struct ip));
 4416|      0|					SCTP_STAT_INCR(sctps_sendswcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4417|      0|				} else {
 4418|      0|					SCTP_STAT_INCR(sctps_sendhwcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4419|      0|				}
 4420|      0|#endif
 4421|      0|			}
 4422|      0|		}
 4423|       |#ifdef SCTP_PACKET_LOGGING
 4424|       |		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LAST_PACKET_TRACING)
 4425|       |			sctp_packet_log(o_pak);
 4426|       |#endif
 4427|       |		/* send it out.  table id is taken from stcb */
 4428|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4429|       |		if ((SCTP_BASE_SYSCTL(sctp_output_unlocked)) && (so_locked)) {
 4430|       |			so = SCTP_INP_SO(inp);
 4431|       |			SCTP_SOCKET_UNLOCK(so, 0);
 4432|       |		}
 4433|       |#endif
 4434|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4435|       |		SCTP_PROBE5(send, NULL, stcb, ip, stcb, sctphdr);
 4436|       |#endif
 4437|      0|		SCTP_IP_OUTPUT(ret, o_pak, ro, inp, vrf_id);
  ------------------
  |  | 1050|      0|#define SCTP_IP_OUTPUT(result, o_pak, ro, inp, vrf_id) sctp_userspace_ip_output(&result, o_pak, ro, inp, vrf_id);
  ------------------
 4438|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4439|       |		if ((SCTP_BASE_SYSCTL(sctp_output_unlocked)) && (so_locked)) {
 4440|       |			atomic_add_int(&stcb->asoc.refcnt, 1);
 4441|       |			SCTP_TCB_UNLOCK(stcb);
 4442|       |			SCTP_SOCKET_LOCK(so, 0);
 4443|       |			SCTP_TCB_LOCK(stcb);
 4444|       |			atomic_subtract_int(&stcb->asoc.refcnt, 1);
 4445|       |		}
 4446|       |#endif
 4447|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4448|       |		if (port) {
 4449|       |			UDPSTAT_INC(udps_opackets);
 4450|       |		}
 4451|       |#endif
 4452|      0|		SCTP_STAT_INCR(sctps_sendpackets);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4453|      0|		SCTP_STAT_INCR_COUNTER64(sctps_outpackets);
  ------------------
  |  | 1128|      0|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4454|      0|		if (ret)
  ------------------
  |  Branch (4454:7): [True: 0, False: 0]
  ------------------
 4455|      0|			SCTP_STAT_INCR(sctps_senderrors);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4456|       |
 4457|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "IP output returns %d\n", ret);
 4458|      0|		if (net == NULL) {
  ------------------
  |  Branch (4458:7): [True: 0, False: 0]
  ------------------
 4459|       |			/* free tempy routes */
 4460|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4461|       |			RO_NHFREE(ro);
 4462|       |#else
 4463|      0|			if (ro->ro_rt) {
  ------------------
  |  Branch (4463:8): [True: 0, False: 0]
  ------------------
 4464|      0|				RTFREE(ro->ro_rt);
  ------------------
  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  ------------------
  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  ------------------
  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  122|      0|		}						\
  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  129|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4465|      0|				ro->ro_rt = NULL;
 4466|      0|			}
 4467|      0|#endif
 4468|      0|		} else {
 4469|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4470|       |			if ((ro->ro_nh != NULL) && (net->ro._s_addr) &&
 4471|       |#else
 4472|      0|			if ((ro->ro_rt != NULL) && (net->ro._s_addr) &&
  ------------------
  |  Branch (4472:8): [True: 0, False: 0]
  |  Branch (4472:31): [True: 0, False: 0]
  ------------------
 4473|      0|#endif
 4474|      0|			    ((net->dest_state & SCTP_ADDR_NO_PMTUD) == 0)) {
  ------------------
  |  |  482|      0|#define SCTP_ADDR_NO_PMTUD              0x002
  ------------------
  |  Branch (4474:8): [True: 0, False: 0]
  ------------------
 4475|      0|				uint32_t mtu;
 4476|       |
 4477|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4478|       |				mtu = SCTP_GATHER_MTU_FROM_ROUTE(net->ro._s_addr, &net->ro._l_addr.sa, ro->ro_nh);
 4479|       |#else
 4480|      0|				mtu = SCTP_GATHER_MTU_FROM_ROUTE(net->ro._s_addr, &net->ro._l_addr.sa, ro->ro_rt);
  ------------------
  |  |  888|      0|#define SCTP_GATHER_MTU_FROM_ROUTE(sctp_ifa, sa, rt) ((rt != NULL) ? rt->rt_rmx.rmx_mtu : 0)
  |  |  ------------------
  |  |  |  Branch (888:55): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4481|      0|#endif
 4482|      0|				if (mtu > 0) {
  ------------------
  |  Branch (4482:9): [True: 0, False: 0]
  ------------------
 4483|      0|					if (net->port) {
  ------------------
  |  Branch (4483:10): [True: 0, False: 0]
  ------------------
 4484|      0|						mtu -= sizeof(struct udphdr);
 4485|      0|					}
 4486|      0|					if (mtu < net->mtu) {
  ------------------
  |  Branch (4486:10): [True: 0, False: 0]
  ------------------
 4487|      0|						net->mtu = mtu;
 4488|      0|						if ((stcb != NULL) && (stcb->asoc.smallest_mtu > mtu)) {
  ------------------
  |  Branch (4488:11): [True: 0, False: 0]
  |  Branch (4488:29): [True: 0, False: 0]
  ------------------
 4489|      0|							sctp_pathmtu_adjustment(stcb, mtu, true);
 4490|      0|						}
 4491|      0|					}
 4492|      0|				}
 4493|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4494|       |			} else if (ro->ro_nh == NULL) {
 4495|       |#else
 4496|      0|			} else if (ro->ro_rt == NULL) {
  ------------------
  |  Branch (4496:15): [True: 0, False: 0]
  ------------------
 4497|      0|#endif
 4498|       |				/* route was freed */
 4499|      0|				if (net->ro._s_addr &&
  ------------------
  |  Branch (4499:9): [True: 0, False: 0]
  ------------------
 4500|      0|				    net->src_addr_selected) {
  ------------------
  |  Branch (4500:9): [True: 0, False: 0]
  ------------------
 4501|      0|					sctp_free_ifa(net->ro._s_addr);
 4502|      0|					net->ro._s_addr = NULL;
 4503|      0|				}
 4504|      0|				net->src_addr_selected = 0;
 4505|      0|			}
 4506|      0|		}
 4507|      0|		return (ret);
 4508|      0|	}
 4509|      0|#endif
 4510|      0|#ifdef INET6
 4511|  1.73k|	case AF_INET6:
  ------------------
  |  Branch (4511:2): [True: 1.73k, False: 55.5k]
  ------------------
 4512|  1.73k|	{
 4513|  1.73k|		uint32_t flowlabel, flowinfo;
 4514|  1.73k|		struct ip6_hdr *ip6h;
 4515|  1.73k|		struct route_in6 ip6route;
 4516|       |#if !defined(__Userspace__)
 4517|       |		struct ifnet *ifp;
 4518|       |#endif
 4519|  1.73k|		struct sockaddr_in6 *sin6, tmp, *lsa6, lsa6_tmp;
 4520|  1.73k|		int prev_scope = 0;
 4521|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 4522|       |		struct sockaddr_in6 lsa6_storage;
 4523|       |		int error;
 4524|       |#endif
 4525|  1.73k|		u_short prev_port = 0;
 4526|  1.73k|		int len;
 4527|       |
 4528|  1.73k|		if (net) {
  ------------------
  |  Branch (4528:7): [True: 1.73k, False: 0]
  ------------------
 4529|  1.73k|			flowlabel = net->flowlabel;
 4530|  1.73k|		} else if (stcb) {
  ------------------
  |  Branch (4530:14): [True: 0, False: 0]
  ------------------
 4531|      0|			flowlabel = stcb->asoc.default_flowlabel;
 4532|      0|		} else {
 4533|      0|			flowlabel = inp->sctp_ep.default_flowlabel;
 4534|      0|		}
 4535|  1.73k|		if (flowlabel == 0) {
  ------------------
  |  Branch (4535:7): [True: 1.73k, False: 0]
  ------------------
 4536|       |			/*
 4537|       |			 * This means especially, that it is not set at the
 4538|       |			 * SCTP layer. So use the value from the IP layer.
 4539|       |			 */
 4540|       |#if defined(__APPLE__) && !defined(__Userspace__) && (!defined(APPLE_LEOPARD) && !defined(APPLE_SNOWLEOPARD) && !defined(APPLE_LION) && !defined(APPLE_MOUNTAINLION))
 4541|       |			flowlabel = ntohl(inp->ip_inp.inp.inp_flow);
 4542|       |#else
 4543|  1.73k|			flowlabel = ntohl(((struct inpcb *)inp)->inp_flow);
 4544|  1.73k|#endif
 4545|  1.73k|		}
 4546|  1.73k|		flowlabel &= 0x000fffff;
 4547|  1.73k|		len = SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|  1.73k|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|  1.73k|                           sizeof(struct sctphdr))
  ------------------
 4548|  1.73k|		if (port) {
  ------------------
  |  Branch (4548:7): [True: 0, False: 1.73k]
  ------------------
 4549|      0|			len += sizeof(struct udphdr);
 4550|      0|		}
 4551|  1.73k|		newm = sctp_get_mbuf_for_msg(len, 1, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  1.73k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		newm = sctp_get_mbuf_for_msg(len, 1, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  1.73k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 4552|  1.73k|		if (newm == NULL) {
  ------------------
  |  Branch (4552:7): [True: 0, False: 1.73k]
  ------------------
 4553|      0|			sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4554|      0|			SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
 4555|      0|			return (ENOMEM);
 4556|      0|		}
 4557|  1.73k|		SCTP_ALIGN_TO_END(newm, len);
  ------------------
  |  |  806|  1.73k|#define SCTP_ALIGN_TO_END(m, len) if(m->m_flags & M_PKTHDR) { \
  |  |  ------------------
  |  |  |  |  221|  1.73k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               #define SCTP_ALIGN_TO_END(m, len) if(m->m_flags & M_PKTHDR) { \
  |  |  ------------------
  |  |  |  |  234|  3.47k|#define	M_PKTHDR	0x0002	/* start of record */
  |  |  ------------------
  |  |  |  Branch (806:38): [True: 1.73k, False: 0]
  |  |  ------------------
  |  |  807|  1.73k|                                     MH_ALIGN(m, len); \
  |  |  ------------------
  |  |  |  |  399|  1.73k|#define	MH_ALIGN(m, len) do {						\
  |  |  |  |  400|  1.73k|        KASSERT((m)->m_flags & M_PKTHDR && !((m)->m_flags & M_EXT),     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  1.73k|	do {                         \
  |  |  |  |  |  |  113|  3.47k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:9): [True: 1.73k, False: 0]
  |  |  |  |  |  |  |  Branch (113:9): [True: 1.73k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  1.73k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  401|  1.73k|                ("%s: MH_ALIGN not PKTHDR mbuf", __func__));            \
  |  |  |  |  402|  1.73k|        KASSERT((m)->m_data == (m)->m_pktdat,                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  1.73k|	do {                         \
  |  |  |  |  |  |  113|  1.73k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.73k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  1.73k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  403|  1.73k|                ("%s: MH_ALIGN not a virgin mbuf", __func__));          \
  |  |  |  |  404|  1.73k|	(m)->m_data += (MHLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  219|  1.73k|#define	m_data		m_hdr.mh_data
  |  |  |  |  ------------------
  |  |  |  |               	(m)->m_data += (MHLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  139|  1.73k|#define	MHLEN		((int)(MLEN - sizeof(struct pkthdr)))	/* data len w/pkthdr */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  138|  1.73k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   47|  1.73k|#define MSIZE 256
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  405|  1.73k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (405:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  808|  1.73k|                                  } else if ((m->m_flags & M_EXT) == 0) { \
  |  |  ------------------
  |  |  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |                                                 } else if ((m->m_flags & M_EXT) == 0) { \
  |  |  ------------------
  |  |  |  |  233|      0|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (808:46): [True: 0, False: 0]
  |  |  ------------------
  |  |  809|      0|                                     M_ALIGN(m, len); \
  |  |  ------------------
  |  |  |  |  387|      0|#define	M_ALIGN(m, len) do {						\
  |  |  |  |  388|      0|        KASSERT(!((m)->m_flags & (M_PKTHDR|M_EXT)),                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  389|      0|                ("%s: M_ALIGN not normal mbuf", __func__));             \
  |  |  |  |  390|      0|        KASSERT((m)->m_data == (m)->m_dat,                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  391|      0|                ("%s: M_ALIGN not a virgin mbuf", __func__));           \
  |  |  |  |  392|      0|	(m)->m_data += (MLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  |  |  ------------------
  |  |  |  |               	(m)->m_data += (MLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  138|      0|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   47|      0|#define MSIZE 256
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  393|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (393:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  810|      0|                                  }
  ------------------
 4558|  1.73k|		SCTP_BUF_LEN(newm) = len;
  ------------------
  |  |  795|  1.73k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  1.73k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4559|  1.73k|		SCTP_BUF_NEXT(newm) = m;
  ------------------
  |  |  796|  1.73k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  1.73k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 4560|  1.73k|		m = newm;
 4561|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4562|       |		if (net != NULL) {
 4563|       |			m->m_pkthdr.flowid = net->flowid;
 4564|       |			M_HASHTYPE_SET(m, net->flowtype);
 4565|       |		} else {
 4566|       |			m->m_pkthdr.flowid = mflowid;
 4567|       |			M_HASHTYPE_SET(m, mflowtype);
 4568|       | 		}
 4569|       |#endif
 4570|  1.73k|		packet_length = sctp_calculate_len(m);
 4571|       |
 4572|  1.73k|		ip6h = mtod(m, struct ip6_hdr *);
  ------------------
  |  |   96|  1.73k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  1.73k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 4573|       |		/* protect *sin6 from overwrite */
 4574|  1.73k|		sin6 = (struct sockaddr_in6 *)to;
 4575|  1.73k|		tmp = *sin6;
 4576|  1.73k|		sin6 = &tmp;
 4577|       |
 4578|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 4579|       |		/* KAME hack: embed scopeid */
 4580|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4581|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD)
 4582|       |		if (in6_embedscope(&sin6->sin6_addr, sin6, NULL, NULL) != 0)
 4583|       |#else
 4584|       |		if (in6_embedscope(&sin6->sin6_addr, sin6, NULL, NULL, NULL) != 0)
 4585|       |#endif
 4586|       |#elif defined(SCTP_KAME)
 4587|       |		if (sa6_embedscope(sin6, MODULE_GLOBAL(ip6_use_defzone)) != 0)
 4588|       |#else
 4589|       |		if (in6_embedscope(&sin6->sin6_addr, sin6) != 0)
 4590|       |#endif
 4591|       |		{
 4592|       |			SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, net, SCTP_FROM_SCTP_OUTPUT, EINVAL);
 4593|       |			sctp_m_freem(m);
 4594|       |			return (EINVAL);
 4595|       |		}
 4596|       |#endif /* SCTP_EMBEDDED_V6_SCOPE */
 4597|  1.73k|		if (net == NULL) {
  ------------------
  |  Branch (4597:7): [True: 0, False: 1.73k]
  ------------------
 4598|      0|			memset(&ip6route, 0, sizeof(ip6route));
 4599|      0|			ro = (sctp_route_t *)&ip6route;
 4600|       |#ifdef HAVE_SIN6_LEN
 4601|       |			memcpy(&ro->ro_dst, sin6, sin6->sin6_len);
 4602|       |#else
 4603|      0|			memcpy(&ro->ro_dst, sin6, sizeof(struct sockaddr_in6));
 4604|      0|#endif
 4605|  1.73k|		} else {
 4606|  1.73k|			ro = (sctp_route_t *)&net->ro;
 4607|  1.73k|		}
 4608|       |		/*
 4609|       |		 * We assume here that inp_flow is in host byte order within
 4610|       |		 * the TCB!
 4611|       |		 */
 4612|  1.73k|		if (tos_value == 0) {
  ------------------
  |  Branch (4612:7): [True: 1.73k, False: 0]
  ------------------
 4613|       |			/*
 4614|       |			 * This means especially, that it is not set at the
 4615|       |			 * SCTP layer. So use the value from the IP layer.
 4616|       |			 */
 4617|       |#if defined(__APPLE__) && !defined(__Userspace__) && (!defined(APPLE_LEOPARD) && !defined(APPLE_SNOWLEOPARD) && !defined(APPLE_LION) && !defined(APPLE_MOUNTAINLION))
 4618|       |			tos_value = (ntohl(inp->ip_inp.inp.inp_flow) >> 20) & 0xff;
 4619|       |#else
 4620|  1.73k|			tos_value = (ntohl(((struct inpcb *)inp)->inp_flow) >> 20) & 0xff;
 4621|  1.73k|#endif
 4622|  1.73k|		}
 4623|  1.73k|		tos_value &= 0xfc;
 4624|  1.73k|		if (ecn_ok) {
  ------------------
  |  Branch (4624:7): [True: 47, False: 1.68k]
  ------------------
 4625|     47|			tos_value |= sctp_get_ect(stcb);
 4626|     47|		}
 4627|  1.73k|		flowinfo = 0x06;
 4628|  1.73k|		flowinfo <<= 8;
 4629|  1.73k|		flowinfo |= tos_value;
 4630|  1.73k|		flowinfo <<= 20;
 4631|  1.73k|		flowinfo |= flowlabel;
 4632|  1.73k|		ip6h->ip6_flow = htonl(flowinfo);
 4633|  1.73k|		if (port) {
  ------------------
  |  Branch (4633:7): [True: 0, False: 1.73k]
  ------------------
 4634|      0|			ip6h->ip6_nxt = IPPROTO_UDP;
 4635|  1.73k|		} else {
 4636|  1.73k|			ip6h->ip6_nxt = IPPROTO_SCTP;
 4637|  1.73k|		}
 4638|  1.73k|		ip6h->ip6_plen = htons((uint16_t)(packet_length - sizeof(struct ip6_hdr)));
 4639|  1.73k|		ip6h->ip6_dst = sin6->sin6_addr;
 4640|       |
 4641|       |		/*
 4642|       |		 * Add SRC address selection here: we can only reuse to a
 4643|       |		 * limited degree the kame src-addr-sel, since we can try
 4644|       |		 * their selection but it may not be bound.
 4645|       |		 */
 4646|  1.73k|		memset(&lsa6_tmp, 0, sizeof(lsa6_tmp));
 4647|  1.73k|		lsa6_tmp.sin6_family = AF_INET6;
 4648|       |#ifdef HAVE_SIN6_LEN
 4649|       |		lsa6_tmp.sin6_len = sizeof(lsa6_tmp);
 4650|       |#endif
 4651|  1.73k|		lsa6 = &lsa6_tmp;
 4652|  1.73k|		if (net && out_of_asoc_ok == 0) {
  ------------------
  |  Branch (4652:7): [True: 1.73k, False: 0]
  |  Branch (4652:14): [True: 1.73k, False: 0]
  ------------------
 4653|  1.73k|			if (net->ro._s_addr && (net->ro._s_addr->localifa_flags & (SCTP_BEING_DELETED|SCTP_ADDR_IFA_UNUSEABLE))) {
  ------------------
  |  |   90|      0|#define SCTP_BEING_DELETED      0x00000002	/* being deleted,
  ------------------
              			if (net->ro._s_addr && (net->ro._s_addr->localifa_flags & (SCTP_BEING_DELETED|SCTP_ADDR_IFA_UNUSEABLE))) {
  ------------------
  |  |   98|      0|#define SCTP_ADDR_IFA_UNUSEABLE 0x00000008
  ------------------
  |  Branch (4653:8): [True: 0, False: 1.73k]
  |  Branch (4653:27): [True: 0, False: 0]
  ------------------
 4654|      0|				sctp_free_ifa(net->ro._s_addr);
 4655|      0|				net->ro._s_addr = NULL;
 4656|      0|				net->src_addr_selected = 0;
 4657|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4658|       |				RO_NHFREE(ro);
 4659|       |#else
 4660|      0|				if (ro->ro_rt) {
  ------------------
  |  Branch (4660:9): [True: 0, False: 0]
  ------------------
 4661|      0|					RTFREE(ro->ro_rt);
  ------------------
  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  ------------------
  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  ------------------
  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  122|      0|		}						\
  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  129|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4662|      0|					ro->ro_rt = NULL;
 4663|      0|				}
 4664|      0|#endif
 4665|      0|			}
 4666|  1.73k|			if (net->src_addr_selected == 0) {
  ------------------
  |  Branch (4666:8): [True: 1.73k, False: 0]
  ------------------
 4667|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 4668|       |				sin6 = (struct sockaddr_in6 *)&net->ro._l_addr;
 4669|       |				/* KAME hack: embed scopeid */
 4670|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4671|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD)
 4672|       |				if (in6_embedscope(&sin6->sin6_addr, sin6, NULL, NULL) != 0)
 4673|       |#else
 4674|       |				if (in6_embedscope(&sin6->sin6_addr, sin6, NULL, NULL, NULL) != 0)
 4675|       |#endif
 4676|       |#elif defined(SCTP_KAME)
 4677|       |				if (sa6_embedscope(sin6, MODULE_GLOBAL(ip6_use_defzone)) != 0)
 4678|       |#else
 4679|       |				if (in6_embedscope(&sin6->sin6_addr, sin6) != 0)
 4680|       |#endif
 4681|       |				{
 4682|       |					SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, net, SCTP_FROM_SCTP_OUTPUT, EINVAL);
 4683|       |					sctp_m_freem(m);
 4684|       |					return (EINVAL);
 4685|       |				}
 4686|       |#endif /* SCTP_EMBEDDED_V6_SCOPE */
 4687|       |				/* Cache the source address */
 4688|  1.73k|				net->ro._s_addr = sctp_source_address_selection(inp,
 4689|  1.73k|										stcb,
 4690|  1.73k|										ro,
 4691|  1.73k|										net,
 4692|  1.73k|										0,
 4693|  1.73k|										vrf_id);
 4694|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 4695|       |#ifdef SCTP_KAME
 4696|       |				(void)sa6_recoverscope(sin6);
 4697|       |#else
 4698|       |				(void)in6_recoverscope(sin6, &sin6->sin6_addr, NULL);
 4699|       |#endif	/* SCTP_KAME */
 4700|       |#endif	/* SCTP_EMBEDDED_V6_SCOPE */
 4701|  1.73k|				net->src_addr_selected = 1;
 4702|  1.73k|			}
 4703|  1.73k|			if (net->ro._s_addr == NULL) {
  ------------------
  |  Branch (4703:8): [True: 1.73k, False: 0]
  ------------------
 4704|  1.73k|				SCTPDBG(SCTP_DEBUG_OUTPUT3, "V6:No route to host\n");
 4705|  1.73k|				net->src_addr_selected = 0;
 4706|  1.73k|				sctp_handle_no_route(stcb, net, so_locked);
 4707|  1.73k|				SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, EHOSTUNREACH);
 4708|  1.73k|				sctp_m_freem(m);
  ------------------
  |  |   52|  1.73k|#define sctp_m_freem m_freem
  ------------------
 4709|  1.73k|				return (EHOSTUNREACH);
 4710|  1.73k|			}
 4711|      0|			lsa6->sin6_addr = net->ro._s_addr->address.sin6.sin6_addr;
 4712|      0|		} else {
 4713|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 4714|       |			sin6 = (struct sockaddr_in6 *)&ro->ro_dst;
 4715|       |			/* KAME hack: embed scopeid */
 4716|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4717|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD)
 4718|       |			if (in6_embedscope(&sin6->sin6_addr, sin6, NULL, NULL) != 0)
 4719|       |#else
 4720|       |			if (in6_embedscope(&sin6->sin6_addr, sin6, NULL, NULL, NULL) != 0)
 4721|       |#endif
 4722|       |#elif defined(SCTP_KAME)
 4723|       |			if (sa6_embedscope(sin6, MODULE_GLOBAL(ip6_use_defzone)) != 0)
 4724|       |#else
 4725|       |			if (in6_embedscope(&sin6->sin6_addr, sin6) != 0)
 4726|       |#endif
 4727|       |			  {
 4728|       |				SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, net, SCTP_FROM_SCTP_OUTPUT, EINVAL);
 4729|       |				sctp_m_freem(m);
 4730|       |				return (EINVAL);
 4731|       |			  }
 4732|       |#endif /* SCTP_EMBEDDED_V6_SCOPE */
 4733|      0|			if (over_addr == NULL) {
  ------------------
  |  Branch (4733:8): [True: 0, False: 0]
  ------------------
 4734|      0|				struct sctp_ifa *_lsrc;
 4735|       |
 4736|      0|				_lsrc = sctp_source_address_selection(inp, stcb, ro,
 4737|      0|				                                      net,
 4738|      0|				                                      out_of_asoc_ok,
 4739|      0|				                                      vrf_id);
 4740|      0|				if (_lsrc == NULL) {
  ------------------
  |  Branch (4740:9): [True: 0, False: 0]
  ------------------
 4741|      0|					sctp_handle_no_route(stcb, net, so_locked);
 4742|      0|					SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, EHOSTUNREACH);
 4743|      0|					sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4744|      0|					return (EHOSTUNREACH);
 4745|      0|				}
 4746|      0|				lsa6->sin6_addr = _lsrc->address.sin6.sin6_addr;
 4747|      0|				sctp_free_ifa(_lsrc);
 4748|      0|			} else {
 4749|      0|				lsa6->sin6_addr = over_addr->sin6.sin6_addr;
 4750|      0|				SCTP_RTALLOC(ro, vrf_id, inp->fibnum);
  ------------------
  |  |  865|      0|#define SCTP_RTALLOC(ro, vrf_id, fibnum) sctp_userspace_rtalloc((sctp_route_t *)ro)
  ------------------
 4751|      0|			}
 4752|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 4753|       |#ifdef SCTP_KAME
 4754|       |			(void)sa6_recoverscope(sin6);
 4755|       |#else
 4756|       |			(void)in6_recoverscope(sin6, &sin6->sin6_addr, NULL);
 4757|       |#endif	/* SCTP_KAME */
 4758|       |#endif	/* SCTP_EMBEDDED_V6_SCOPE */
 4759|      0|		}
 4760|      0|		lsa6->sin6_port = inp->sctp_lport;
  ------------------
  |  |  426|      0|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|      0|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|      0|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4761|       |
 4762|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4763|       |		if (ro->ro_nh == NULL) {
 4764|       |#else
 4765|      0|		if (ro->ro_rt == NULL) {
  ------------------
  |  Branch (4765:7): [True: 0, False: 0]
  ------------------
 4766|      0|#endif
 4767|       |			/*
 4768|       |			 * src addr selection failed to find a route (or
 4769|       |			 * valid source addr), so we can't get there from
 4770|       |			 * here!
 4771|       |			 */
 4772|      0|			sctp_handle_no_route(stcb, net, so_locked);
 4773|      0|			SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, EHOSTUNREACH);
 4774|      0|			sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4775|      0|			return (EHOSTUNREACH);
 4776|      0|		}
 4777|      0|#ifndef SCOPEDROUTING
 4778|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 4779|       |		/*
 4780|       |		 * XXX: sa6 may not have a valid sin6_scope_id in the
 4781|       |		 * non-SCOPEDROUTING case.
 4782|       |		 */
 4783|       |		memset(&lsa6_storage, 0, sizeof(lsa6_storage));
 4784|       |		lsa6_storage.sin6_family = AF_INET6;
 4785|       |#ifdef HAVE_SIN6_LEN
 4786|       |		lsa6_storage.sin6_len = sizeof(lsa6_storage);
 4787|       |#endif
 4788|       |#ifdef SCTP_KAME
 4789|       |		lsa6_storage.sin6_addr = lsa6->sin6_addr;
 4790|       |		if ((error = sa6_recoverscope(&lsa6_storage)) != 0) {
 4791|       |#else
 4792|       |		if ((error = in6_recoverscope(&lsa6_storage, &lsa6->sin6_addr,
 4793|       |		    NULL)) != 0) {
 4794|       |#endif				/* SCTP_KAME */
 4795|       |			SCTPDBG(SCTP_DEBUG_OUTPUT3, "recover scope fails error %d\n", error);
 4796|       |			sctp_m_freem(m);
 4797|       |			return (error);
 4798|       |		}
 4799|       |		/* XXX */
 4800|       |		lsa6_storage.sin6_addr = lsa6->sin6_addr;
 4801|       |		lsa6_storage.sin6_port = inp->sctp_lport;
 4802|       |		lsa6 = &lsa6_storage;
 4803|       |#endif /* SCTP_EMBEDDED_V6_SCOPE */
 4804|      0|#endif /* SCOPEDROUTING */
 4805|      0|		ip6h->ip6_src = lsa6->sin6_addr;
 4806|       |
 4807|      0|		if (port) {
  ------------------
  |  Branch (4807:7): [True: 0, False: 0]
  ------------------
 4808|      0|			if (htons(SCTP_BASE_SYSCTL(sctp_udp_tunneling_port)) == 0) {
  ------------------
  |  Branch (4808:8): [True: 0, False: 0]
  ------------------
 4809|      0|				sctp_handle_no_route(stcb, net, so_locked);
 4810|      0|				SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, EHOSTUNREACH);
 4811|      0|				sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4812|      0|				return (EHOSTUNREACH);
 4813|      0|			}
 4814|      0|			udp = (struct udphdr *)((caddr_t)ip6h + sizeof(struct ip6_hdr));
 4815|      0|			udp->uh_sport = htons(SCTP_BASE_SYSCTL(sctp_udp_tunneling_port));
 4816|      0|			udp->uh_dport = port;
 4817|      0|			udp->uh_ulen = htons((uint16_t)(packet_length - sizeof(struct ip6_hdr)));
 4818|      0|			udp->uh_sum = 0;
 4819|      0|			sctphdr = (struct sctphdr *)((caddr_t)udp + sizeof(struct udphdr));
 4820|      0|		} else {
 4821|      0|			sctphdr = (struct sctphdr *)((caddr_t)ip6h + sizeof(struct ip6_hdr));
 4822|      0|		}
 4823|       |
 4824|      0|		sctphdr->src_port = src_port;
 4825|      0|		sctphdr->dest_port = dest_port;
 4826|      0|		sctphdr->v_tag = v_tag;
 4827|      0|		sctphdr->checksum = 0;
 4828|       |
 4829|       |		/*
 4830|       |		 * We set the hop limit now since there is a good chance
 4831|       |		 * that our ro pointer is now filled
 4832|       |		 */
 4833|      0|		ip6h->ip6_hlim = SCTP_GET_HLIM(inp, ro);
  ------------------
  |  |  944|      0|#define SCTP_GET_HLIM(inp, ro) 128
  ------------------
 4834|       |#if !defined(__Userspace__)
 4835|       |		ifp = SCTP_GET_IFN_VOID_FROM_ROUTE(ro);
 4836|       |#endif
 4837|       |
 4838|       |#ifdef SCTP_DEBUG
 4839|       |		/* Copy to be sure something bad is not happening */
 4840|       |		sin6->sin6_addr = ip6h->ip6_dst;
 4841|       |		lsa6->sin6_addr = ip6h->ip6_src;
 4842|       |#endif
 4843|       |
 4844|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "Calling ipv6 output routine from low level\n");
 4845|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "src: ");
 4846|      0|		SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT3, (struct sockaddr *)lsa6);
 4847|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "dst: ");
 4848|      0|		SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT3, (struct sockaddr *)sin6);
 4849|      0|		if (net) {
  ------------------
  |  Branch (4849:7): [True: 0, False: 0]
  ------------------
 4850|      0|			sin6 = (struct sockaddr_in6 *)&net->ro._l_addr;
 4851|       |			/* preserve the port and scope for link local send */
 4852|      0|			prev_scope = sin6->sin6_scope_id;
 4853|      0|			prev_port = sin6->sin6_port;
 4854|      0|		}
 4855|       |
 4856|      0|		if (SCTP_GET_HEADER_FOR_OUTPUT(o_pak)) {
  ------------------
  |  |  916|      0|#define SCTP_GET_HEADER_FOR_OUTPUT(o_pak) 0
  |  |  ------------------
  |  |  |  Branch (916:43): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4857|       |			/* failed to prepend data, give up */
 4858|      0|			sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4859|      0|			SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
 4860|      0|			return (ENOMEM);
 4861|      0|		}
 4862|      0|		SCTP_ATTACH_CHAIN(o_pak, m, packet_length);
  ------------------
  |  |  925|      0|#define SCTP_ATTACH_CHAIN(pak, m, packet_length) do { \
  |  |  926|      0|                                                  pak = m; \
  |  |  927|      0|                                                  pak->m_pkthdr.len = packet_length; \
  |  |  ------------------
  |  |  |  |  224|      0|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  |  |  ------------------
  |  |  928|      0|                          } while(0)
  |  |  ------------------
  |  |  |  Branch (928:35): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4863|      0|		if (port) {
  ------------------
  |  Branch (4863:7): [True: 0, False: 0]
  ------------------
 4864|      0|			sctphdr->checksum = sctp_calculate_cksum(m, sizeof(struct ip6_hdr) + sizeof(struct udphdr));
 4865|      0|			SCTP_STAT_INCR(sctps_sendswcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4866|       |#if !defined(__Userspace__)
 4867|       |#if defined(_WIN32)
 4868|       |			udp->uh_sum = 0;
 4869|       |#else
 4870|       |			if ((udp->uh_sum = in6_cksum(o_pak, IPPROTO_UDP, sizeof(struct ip6_hdr), packet_length - sizeof(struct ip6_hdr))) == 0) {
 4871|       |				udp->uh_sum = 0xffff;
 4872|       |			}
 4873|       |#endif
 4874|       |#endif
 4875|      0|		} else {
 4876|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4877|       |			m->m_pkthdr.csum_flags = CSUM_SCTP_IPV6;
 4878|       |			m->m_pkthdr.csum_data = offsetof(struct sctphdr, checksum);
 4879|       |			SCTP_STAT_INCR(sctps_sendhwcrc);
 4880|       |#else
 4881|      0|			if (!(SCTP_BASE_SYSCTL(sctp_no_csum_on_loopback) &&
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4882|      0|			      (stcb) && (stcb->asoc.scope.loopback_scope))) {
  ------------------
  |  Branch (4882:10): [True: 0, False: 0]
  |  Branch (4882:20): [True: 0, False: 0]
  ------------------
 4883|      0|				sctphdr->checksum = sctp_calculate_cksum(m, sizeof(struct ip6_hdr));
 4884|      0|				SCTP_STAT_INCR(sctps_sendswcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4885|      0|			} else {
 4886|      0|				SCTP_STAT_INCR(sctps_sendhwcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4887|      0|			}
 4888|      0|#endif
 4889|      0|		}
 4890|       |		/* send it out. table id is taken from stcb */
 4891|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4892|       |		if ((SCTP_BASE_SYSCTL(sctp_output_unlocked)) && (so_locked)) {
 4893|       |			so = SCTP_INP_SO(inp);
 4894|       |			SCTP_SOCKET_UNLOCK(so, 0);
 4895|       |		}
 4896|       |#endif
 4897|       |#ifdef SCTP_PACKET_LOGGING
 4898|       |		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LAST_PACKET_TRACING)
 4899|       |			sctp_packet_log(o_pak);
 4900|       |#endif
 4901|       |#if !defined(__Userspace__)
 4902|       |#if defined(__FreeBSD__)
 4903|       |		SCTP_PROBE5(send, NULL, stcb, ip6h, stcb, sctphdr);
 4904|       |#endif
 4905|       |		SCTP_IP6_OUTPUT(ret, o_pak, (struct route_in6 *)ro, &ifp, inp, vrf_id);
 4906|       |#else
 4907|      0|		SCTP_IP6_OUTPUT(ret, o_pak, (struct route_in6 *)ro, NULL, inp, vrf_id);
  ------------------
  |  | 1056|      0|#define SCTP_IP6_OUTPUT(result, o_pak, ro, ifp, inp, vrf_id) sctp_userspace_ip6_output(&result, o_pak, ro, inp, vrf_id);
  ------------------
 4908|      0|#endif
 4909|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4910|       |		if ((SCTP_BASE_SYSCTL(sctp_output_unlocked)) && (so_locked)) {
 4911|       |			atomic_add_int(&stcb->asoc.refcnt, 1);
 4912|       |			SCTP_TCB_UNLOCK(stcb);
 4913|       |			SCTP_SOCKET_LOCK(so, 0);
 4914|       |			SCTP_TCB_LOCK(stcb);
 4915|       |			atomic_subtract_int(&stcb->asoc.refcnt, 1);
 4916|       |		}
 4917|       |#endif
 4918|      0|		if (net) {
  ------------------
  |  Branch (4918:7): [True: 0, False: 0]
  ------------------
 4919|       |			/* for link local this must be done */
 4920|      0|			sin6->sin6_scope_id = prev_scope;
 4921|      0|			sin6->sin6_port = prev_port;
 4922|      0|		}
 4923|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT3, "return from send is %d\n", ret);
 4924|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4925|       |		if (port) {
 4926|       |			UDPSTAT_INC(udps_opackets);
 4927|       |		}
 4928|       |#endif
 4929|      0|		SCTP_STAT_INCR(sctps_sendpackets);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4930|      0|		SCTP_STAT_INCR_COUNTER64(sctps_outpackets);
  ------------------
  |  | 1128|      0|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4931|      0|		if (ret) {
  ------------------
  |  Branch (4931:7): [True: 0, False: 0]
  ------------------
 4932|      0|			SCTP_STAT_INCR(sctps_senderrors);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4933|      0|		}
 4934|      0|		if (net == NULL) {
  ------------------
  |  Branch (4934:7): [True: 0, False: 0]
  ------------------
 4935|       |			/* Now if we had a temp route free it */
 4936|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4937|       |			RO_NHFREE(ro);
 4938|       |#else
 4939|      0|			if (ro->ro_rt) {
  ------------------
  |  Branch (4939:8): [True: 0, False: 0]
  ------------------
 4940|      0|				RTFREE(ro->ro_rt);
  ------------------
  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  ------------------
  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  ------------------
  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  122|      0|		}						\
  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  129|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4941|      0|				ro->ro_rt = NULL;
 4942|      0|			}
 4943|      0|#endif
 4944|      0|		} else {
 4945|       |			/* PMTU check versus smallest asoc MTU goes here */
 4946|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4947|       |			if (ro->ro_nh == NULL) {
 4948|       |#else
 4949|      0|			if (ro->ro_rt == NULL) {
  ------------------
  |  Branch (4949:8): [True: 0, False: 0]
  ------------------
 4950|      0|#endif
 4951|       |				/* Route was freed */
 4952|      0|				if (net->ro._s_addr &&
  ------------------
  |  Branch (4952:9): [True: 0, False: 0]
  ------------------
 4953|      0|				    net->src_addr_selected) {
  ------------------
  |  Branch (4953:9): [True: 0, False: 0]
  ------------------
 4954|      0|					sctp_free_ifa(net->ro._s_addr);
 4955|      0|					net->ro._s_addr = NULL;
 4956|      0|				}
 4957|      0|				net->src_addr_selected = 0;
 4958|      0|			}
 4959|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4960|       |			if ((ro->ro_nh != NULL) && (net->ro._s_addr) &&
 4961|       |#else
 4962|      0|			if ((ro->ro_rt != NULL) && (net->ro._s_addr) &&
  ------------------
  |  Branch (4962:8): [True: 0, False: 0]
  |  Branch (4962:31): [True: 0, False: 0]
  ------------------
 4963|      0|#endif
 4964|      0|			    ((net->dest_state & SCTP_ADDR_NO_PMTUD) == 0)) {
  ------------------
  |  |  482|      0|#define SCTP_ADDR_NO_PMTUD              0x002
  ------------------
  |  Branch (4964:8): [True: 0, False: 0]
  ------------------
 4965|      0|				uint32_t mtu;
 4966|       |
 4967|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4968|       |				mtu = SCTP_GATHER_MTU_FROM_ROUTE(net->ro._s_addr, &net->ro._l_addr.sa, ro->ro_nh);
 4969|       |#else
 4970|      0|				mtu = SCTP_GATHER_MTU_FROM_ROUTE(net->ro._s_addr, &net->ro._l_addr.sa, ro->ro_rt);
  ------------------
  |  |  888|      0|#define SCTP_GATHER_MTU_FROM_ROUTE(sctp_ifa, sa, rt) ((rt != NULL) ? rt->rt_rmx.rmx_mtu : 0)
  |  |  ------------------
  |  |  |  Branch (888:55): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4971|      0|#endif
 4972|      0|				if (mtu > 0) {
  ------------------
  |  Branch (4972:9): [True: 0, False: 0]
  ------------------
 4973|      0|					if (net->port) {
  ------------------
  |  Branch (4973:10): [True: 0, False: 0]
  ------------------
 4974|      0|						mtu -= sizeof(struct udphdr);
 4975|      0|					}
 4976|      0|					if (mtu < net->mtu) {
  ------------------
  |  Branch (4976:10): [True: 0, False: 0]
  ------------------
 4977|      0|						net->mtu = mtu;
 4978|      0|						if ((stcb != NULL) && (stcb->asoc.smallest_mtu > mtu)) {
  ------------------
  |  Branch (4978:11): [True: 0, False: 0]
  |  Branch (4978:29): [True: 0, False: 0]
  ------------------
 4979|      0|							sctp_pathmtu_adjustment(stcb, mtu, false);
 4980|      0|						}
 4981|      0|					}
 4982|      0|				}
 4983|      0|			}
 4984|       |#if !defined(__Userspace__)
 4985|       |			else if (ifp != NULL) {
 4986|       |#if defined(_WIN32)
 4987|       |#define ND_IFINFO(ifp)	(ifp)
 4988|       |#define linkmtu		if_mtu
 4989|       |#endif
 4990|       |				if ((ND_IFINFO(ifp)->linkmtu > 0) &&
 4991|       |				    (stcb->asoc.smallest_mtu > ND_IFINFO(ifp)->linkmtu)) {
 4992|       |					sctp_pathmtu_adjustment(stcb, ND_IFINFO(ifp)->linkmtu, false);
 4993|       |				}
 4994|       |			}
 4995|       |#endif
 4996|      0|		}
 4997|      0|		return (ret);
 4998|      0|	}
 4999|      0|#endif
 5000|      0|#if defined(__Userspace__)
 5001|  54.1k|	case AF_CONN:
  ------------------
  |  | 1008|  54.1k|#define AF_CONN 123
  ------------------
  |  Branch (5001:2): [True: 54.1k, False: 3.14k]
  ------------------
 5002|  54.1k|	{
 5003|  54.1k|		char *buffer;
 5004|  54.1k|		struct sockaddr_conn *sconn;
 5005|  54.1k|		int len;
 5006|       |
 5007|  54.1k|		sconn = (struct sockaddr_conn *)to;
 5008|  54.1k|		len = sizeof(struct sctphdr);
 5009|  54.1k|		newm = sctp_get_mbuf_for_msg(len, 1, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  54.1k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		newm = sctp_get_mbuf_for_msg(len, 1, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  54.1k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 5010|  54.1k|		if (newm == NULL) {
  ------------------
  |  Branch (5010:7): [True: 0, False: 54.1k]
  ------------------
 5011|      0|			sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5012|      0|			SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
 5013|      0|			return (ENOMEM);
 5014|      0|		}
 5015|  54.1k|		SCTP_ALIGN_TO_END(newm, len);
  ------------------
  |  |  806|  54.1k|#define SCTP_ALIGN_TO_END(m, len) if(m->m_flags & M_PKTHDR) { \
  |  |  ------------------
  |  |  |  |  221|  54.1k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               #define SCTP_ALIGN_TO_END(m, len) if(m->m_flags & M_PKTHDR) { \
  |  |  ------------------
  |  |  |  |  234|   108k|#define	M_PKTHDR	0x0002	/* start of record */
  |  |  ------------------
  |  |  |  Branch (806:38): [True: 54.1k, False: 0]
  |  |  ------------------
  |  |  807|  54.1k|                                     MH_ALIGN(m, len); \
  |  |  ------------------
  |  |  |  |  399|  54.1k|#define	MH_ALIGN(m, len) do {						\
  |  |  |  |  400|  54.1k|        KASSERT((m)->m_flags & M_PKTHDR && !((m)->m_flags & M_EXT),     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  54.1k|	do {                         \
  |  |  |  |  |  |  113|   108k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:9): [True: 54.1k, False: 0]
  |  |  |  |  |  |  |  Branch (113:9): [True: 54.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  54.1k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  401|  54.1k|                ("%s: MH_ALIGN not PKTHDR mbuf", __func__));            \
  |  |  |  |  402|  54.1k|        KASSERT((m)->m_data == (m)->m_pktdat,                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  54.1k|	do {                         \
  |  |  |  |  |  |  113|  54.1k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 54.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  54.1k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  403|  54.1k|                ("%s: MH_ALIGN not a virgin mbuf", __func__));          \
  |  |  |  |  404|  54.1k|	(m)->m_data += (MHLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  219|  54.1k|#define	m_data		m_hdr.mh_data
  |  |  |  |  ------------------
  |  |  |  |               	(m)->m_data += (MHLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  139|  54.1k|#define	MHLEN		((int)(MLEN - sizeof(struct pkthdr)))	/* data len w/pkthdr */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  138|  54.1k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   47|  54.1k|#define MSIZE 256
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  405|  54.1k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (405:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  808|  54.1k|                                  } else if ((m->m_flags & M_EXT) == 0) { \
  |  |  ------------------
  |  |  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |                                                 } else if ((m->m_flags & M_EXT) == 0) { \
  |  |  ------------------
  |  |  |  |  233|      0|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (808:46): [True: 0, False: 0]
  |  |  ------------------
  |  |  809|      0|                                     M_ALIGN(m, len); \
  |  |  ------------------
  |  |  |  |  387|      0|#define	M_ALIGN(m, len) do {						\
  |  |  |  |  388|      0|        KASSERT(!((m)->m_flags & (M_PKTHDR|M_EXT)),                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  389|      0|                ("%s: M_ALIGN not normal mbuf", __func__));             \
  |  |  |  |  390|      0|        KASSERT((m)->m_data == (m)->m_dat,                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  391|      0|                ("%s: M_ALIGN not a virgin mbuf", __func__));           \
  |  |  |  |  392|      0|	(m)->m_data += (MLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  |  |  ------------------
  |  |  |  |               	(m)->m_data += (MLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  138|      0|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   47|      0|#define MSIZE 256
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  393|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (393:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  810|      0|                                  }
  ------------------
 5016|  54.1k|		SCTP_BUF_LEN(newm) = len;
  ------------------
  |  |  795|  54.1k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  54.1k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5017|  54.1k|		SCTP_BUF_NEXT(newm) = m;
  ------------------
  |  |  796|  54.1k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  54.1k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 5018|  54.1k|		m = newm;
 5019|  54.1k|		packet_length = sctp_calculate_len(m);
 5020|  54.1k|		m->m_pkthdr.len = packet_length;
  ------------------
  |  |  224|  54.1k|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
 5021|  54.1k|		sctphdr = mtod(m, struct sctphdr *);
  ------------------
  |  |   96|  54.1k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  54.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5022|  54.1k|		sctphdr->src_port = src_port;
 5023|  54.1k|		sctphdr->dest_port = dest_port;
 5024|  54.1k|		sctphdr->v_tag = v_tag;
 5025|  54.1k|		sctphdr->checksum = 0;
 5026|  54.1k|		if (use_zero_crc) {
  ------------------
  |  Branch (5026:7): [True: 0, False: 54.1k]
  ------------------
 5027|      0|			SCTP_STAT_INCR(sctps_sendzerocrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5028|  54.1k|		} else if (SCTP_BASE_VAR(crc32c_offloaded) == 0) {
  ------------------
  |  |  585|  54.1k|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (5028:14): [True: 0, False: 54.1k]
  ------------------
 5029|      0|			sctphdr->checksum = sctp_calculate_cksum(m, 0);
 5030|      0|			SCTP_STAT_INCR(sctps_sendswcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5031|  54.1k|		} else {
 5032|  54.1k|			SCTP_STAT_INCR(sctps_sendhwcrc);
  ------------------
  |  | 1112|  54.1k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  54.1k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  54.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5033|  54.1k|		}
 5034|  54.1k|		if (tos_value == 0) {
  ------------------
  |  Branch (5034:7): [True: 54.1k, False: 0]
  ------------------
 5035|  54.1k|			tos_value = inp->ip_inp.inp.inp_ip_tos;
  ------------------
  |  |  148|  54.1k|#define	inp_ip_tos	inp_depend4.inp4_ip_tos
  ------------------
 5036|  54.1k|		}
 5037|  54.1k|		tos_value &= 0xfc;
 5038|  54.1k|		if (ecn_ok) {
  ------------------
  |  Branch (5038:7): [True: 4.09k, False: 50.0k]
  ------------------
 5039|  4.09k|			tos_value |= sctp_get_ect(stcb);
 5040|  4.09k|		}
 5041|       |		/* Don't alloc/free for each packet */
 5042|  54.1k|		if ((buffer = malloc(packet_length)) != NULL) {
  ------------------
  |  Branch (5042:7): [True: 54.1k, False: 0]
  ------------------
 5043|  54.1k|			m_copydata(m, 0, packet_length, buffer);
 5044|  54.1k|			ret = SCTP_BASE_VAR(conn_output)(sconn->sconn_addr, buffer, packet_length, tos_value, nofragment_flag);
  ------------------
  |  |  585|  54.1k|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 5045|  54.1k|			free(buffer);
 5046|  54.1k|		} else {
 5047|      0|			ret = ENOMEM;
 5048|      0|		}
 5049|  54.1k|		sctp_m_freem(m);
  ------------------
  |  |   52|  54.1k|#define sctp_m_freem m_freem
  ------------------
 5050|  54.1k|		return (ret);
 5051|  54.1k|	}
 5052|      0|#endif
 5053|      0|	default:
  ------------------
  |  Branch (5053:2): [True: 0, False: 57.3k]
  ------------------
 5054|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT1, "Unknown protocol (TSNH) type %d\n",
 5055|      0|		        ((struct sockaddr *)to)->sa_family);
 5056|      0|		sctp_m_freem(m);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5057|      0|		SCTP_LTRACE_ERR_RET_PKT(m, inp, stcb, net, SCTP_FROM_SCTP_OUTPUT, EFAULT);
 5058|      0|		return (EFAULT);
 5059|  57.3k|	}
 5060|  57.3k|}
sctp_output.c:sctp_get_ect:
 4014|  4.14k|{
 4015|  4.14k|	if ((stcb != NULL) && (stcb->asoc.ecn_supported == 1)) {
  ------------------
  |  Branch (4015:6): [True: 4.14k, False: 0]
  |  Branch (4015:24): [True: 3.64k, False: 494]
  ------------------
 4016|  3.64k|		return (SCTP_ECT0_BIT);
  ------------------
  |  |  441|  3.64k|#define SCTP_ECT0_BIT		0x02
  ------------------
 4017|  3.64k|	} else {
 4018|    494|		return (0);
 4019|    494|	}
 4020|  4.14k|}
sctp_output.c:sctp_handle_no_route:
 4027|  3.14k|{
 4028|  3.14k|	SCTPDBG(SCTP_DEBUG_OUTPUT1, "dropped packet - no valid source addr\n");
 4029|       |
 4030|  3.14k|	if (net) {
  ------------------
  |  Branch (4030:6): [True: 3.14k, False: 0]
  ------------------
 4031|  3.14k|		SCTPDBG(SCTP_DEBUG_OUTPUT1, "Destination was ");
 4032|  3.14k|		SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT1, &net->ro._l_addr.sa);
 4033|  3.14k|		if (net->dest_state & SCTP_ADDR_CONFIRMED) {
  ------------------
  |  |  360|  3.14k|#define SCTP_ADDR_CONFIRMED	0x0006
  ------------------
  |  Branch (4033:7): [True: 0, False: 3.14k]
  ------------------
 4034|      0|			if ((net->dest_state & SCTP_ADDR_REACHABLE) && stcb) {
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (4034:8): [True: 0, False: 0]
  |  Branch (4034:51): [True: 0, False: 0]
  ------------------
 4035|      0|				SCTPDBG(SCTP_DEBUG_OUTPUT1, "no route takes interface %p down\n", (void *)net);
 4036|      0|				sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_DOWN,
  ------------------
  |  |  705|      0|#define SCTP_NOTIFY_INTERFACE_DOWN               3
  ------------------
 4037|      0|			                        stcb, 0,
 4038|      0|			                        (void *)net,
 4039|      0|			                        so_locked);
 4040|      0|				net->dest_state &= ~SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 4041|      0|				net->dest_state &= ~SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
 4042|      0|			}
 4043|      0|		}
 4044|  3.14k|		if (stcb) {
  ------------------
  |  Branch (4044:7): [True: 3.14k, False: 0]
  ------------------
 4045|  3.14k|			if (net == stcb->asoc.primary_destination) {
  ------------------
  |  Branch (4045:8): [True: 1.55k, False: 1.58k]
  ------------------
 4046|       |				/* need a new primary */
 4047|  1.55k|				struct sctp_nets *alt;
 4048|       |
 4049|  1.55k|				alt = sctp_find_alternate_net(stcb, net, 0);
 4050|  1.55k|				if (alt != net) {
  ------------------
  |  Branch (4050:9): [True: 1.55k, False: 0]
  ------------------
 4051|  1.55k|					if (stcb->asoc.alternate) {
  ------------------
  |  Branch (4051:10): [True: 1.08k, False: 478]
  ------------------
 4052|  1.08k|						sctp_free_remote_addr(stcb->asoc.alternate);
  ------------------
  |  |  228|  1.08k|#define sctp_free_remote_addr(__net) { \
  |  |  229|  1.08k|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 1.08k, False: 0]
  |  |  ------------------
  |  |  230|  1.08k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|  1.08k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|  1.08k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 1.08k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|  1.08k|	} \
  |  |  245|  1.08k|}
  ------------------
 4053|  1.08k|					}
 4054|  1.55k|					stcb->asoc.alternate = alt;
 4055|  1.55k|					atomic_add_int(&stcb->asoc.alternate->ref_count, 1);
  ------------------
  |  |   94|  1.55k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 4056|  1.55k|					if (net->ro._s_addr) {
  ------------------
  |  Branch (4056:10): [True: 0, False: 1.55k]
  ------------------
 4057|      0|						sctp_free_ifa(net->ro._s_addr);
 4058|      0|						net->ro._s_addr = NULL;
 4059|      0|					}
 4060|  1.55k|					net->src_addr_selected = 0;
 4061|  1.55k|				}
 4062|  1.55k|			}
 4063|  3.14k|		}
 4064|  3.14k|	}
 4065|  3.14k|}
sctp_output.c:sctp_med_chunk_output:
 8403|  38.1k|{
 8404|       |	/**
 8405|       |	 * Ok this is the generic chunk service queue. we must do the
 8406|       |	 * following:
 8407|       |	 * - Service the stream queue that is next, moving any
 8408|       |	 *   message (note I must get a complete message i.e. FIRST/MIDDLE and
 8409|       |	 *   LAST to the out queue in one pass) and assigning TSN's. This
 8410|       |	 *   only applies though if the peer does not support NDATA. For NDATA
 8411|       |	 *   chunks its ok to not send the entire message ;-)
 8412|       |	 * - Check to see if the cwnd/rwnd allows any output, if so we go ahead and
 8413|       |	 *   formulate and send the low level chunks. Making sure to combine
 8414|       |	 *   any control in the control chunk queue also.
 8415|       |	 */
 8416|  38.1k|	struct sctp_nets *net, *start_at, *sack_goes_to = NULL, *old_start_at = NULL;
 8417|  38.1k|	struct mbuf *outchain, *endoutchain;
 8418|  38.1k|	struct sctp_tmit_chunk *chk, *nchk;
 8419|       |
 8420|       |	/* temp arrays for unlinking */
 8421|  38.1k|	struct sctp_tmit_chunk *data_list[SCTP_MAX_DATA_BUNDLING];
 8422|  38.1k|	int no_fragmentflg, error;
 8423|  38.1k|	unsigned int max_rwnd_per_dest, max_send_per_dest;
 8424|  38.1k|	int one_chunk, hbflag, skip_data_for_this_net;
 8425|  38.1k|	int asconf, cookie, no_out_cnt;
 8426|  38.1k|	int bundle_at, ctl_cnt, no_data_chunks, eeor_mode;
 8427|  38.1k|	unsigned int mtu, r_mtu, omtu, mx_mtu, to_out;
 8428|  38.1k|	int tsns_sent = 0;
 8429|  38.1k|	uint32_t auth_offset;
 8430|  38.1k|	struct sctp_auth_chunk *auth;
 8431|  38.1k|	uint16_t auth_keyid;
 8432|  38.1k|	int override_ok = 1;
 8433|  38.1k|	int skip_fill_up = 0;
 8434|  38.1k|	int data_auth_reqd = 0;
 8435|       |	/* JRS 5/14/07 - Add flag for whether a heartbeat is sent to
 8436|       |	   the destination. */
 8437|  38.1k|	int quit_now = 0;
 8438|  38.1k|	bool use_zero_crc;
 8439|       |
 8440|       |#if defined(__APPLE__) && !defined(__Userspace__)
 8441|       |	if (so_locked) {
 8442|       |		sctp_lock_assert(SCTP_INP_SO(inp));
 8443|       |	} else {
 8444|       |		sctp_unlock_assert(SCTP_INP_SO(inp));
 8445|       |	}
 8446|       |#endif
 8447|  38.1k|	*num_out = 0;
 8448|  38.1k|	*reason_code = 0;
 8449|  38.1k|	auth_keyid = stcb->asoc.authinfo.active_keyid;
 8450|  38.1k|	if ((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) ||
  ------------------
  |  |  463|  38.1k|#define SCTP_STATE_SHUTDOWN_PENDING	0x0080
  ------------------
  |  Branch (8450:6): [True: 0, False: 38.1k]
  ------------------
 8451|  38.1k|	    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED) ||
  ------------------
  |  |  472|  38.1k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  38.1k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED) ||
  ------------------
  |  |  461|  38.1k|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (8451:6): [True: 35, False: 38.0k]
  ------------------
 8452|  38.1k|	    (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_EXPLICIT_EOR))) {
  ------------------
  |  |   52|  38.0k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (8452:6): [True: 0, False: 38.0k]
  ------------------
 8453|     35|		eeor_mode = 1;
 8454|  38.0k|	} else {
 8455|  38.0k|		eeor_mode = 0;
 8456|  38.0k|	}
 8457|  38.1k|	ctl_cnt = no_out_cnt = asconf = cookie = 0;
 8458|       |	/*
 8459|       |	 * First lets prime the pump. For each destination, if there is room
 8460|       |	 * in the flight size, attempt to pull an MTU's worth out of the
 8461|       |	 * stream queues into the general send_queue
 8462|       |	 */
 8463|       |#ifdef SCTP_AUDITING_ENABLED
 8464|       |	sctp_audit_log(0xC2, 2);
 8465|       |#endif
 8466|  38.1k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  38.1k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  38.1k|	do {                         \
  |  |  |  |  113|  38.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 38.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  38.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8467|  38.1k|	hbflag = 0;
 8468|  38.1k|	if (control_only)
  ------------------
  |  Branch (8468:6): [True: 1.60k, False: 36.5k]
  ------------------
 8469|  1.60k|		no_data_chunks = 1;
 8470|  36.5k|	else
 8471|  36.5k|		no_data_chunks = 0;
 8472|       |
 8473|       |	/* Nothing to possible to send? */
 8474|  38.1k|	if ((TAILQ_EMPTY(&asoc->control_send_queue) ||
 8475|  38.1k|	     (asoc->ctrl_queue_cnt == stcb->asoc.ecn_echo_cnt_onq)) &&
  ------------------
  |  Branch (8475:7): [True: 0, False: 34.2k]
  ------------------
 8476|  38.1k|	    TAILQ_EMPTY(&asoc->asconf_send_queue) &&
 8477|  38.1k|	    TAILQ_EMPTY(&asoc->send_queue) &&
 8478|  38.1k|	    sctp_is_there_unsent_data(stcb, so_locked) == 0) {
  ------------------
  |  Branch (8478:6): [True: 0, False: 3.54k]
  ------------------
 8479|      0|	nothing_to_send:
 8480|      0|		*reason_code = 9;
 8481|      0|		return (0);
 8482|      0|	}
 8483|  38.1k|	if (asoc->peers_rwnd == 0) {
  ------------------
  |  Branch (8483:6): [True: 177, False: 37.9k]
  ------------------
 8484|       |		/* No room in peers rwnd */
 8485|    177|		*reason_code = 1;
 8486|    177|		if (asoc->total_flight > 0) {
  ------------------
  |  Branch (8486:7): [True: 6, False: 171]
  ------------------
 8487|       |			/* we are allowed one chunk in flight */
 8488|      6|			no_data_chunks = 1;
 8489|      6|		}
 8490|    177|	}
 8491|  38.1k|	if (stcb->asoc.ecn_echo_cnt_onq) {
  ------------------
  |  Branch (8491:6): [True: 0, False: 38.1k]
  ------------------
 8492|       |		/* Record where a sack goes, if any */
 8493|      0|		if (no_data_chunks &&
  ------------------
  |  Branch (8493:7): [True: 0, False: 0]
  ------------------
 8494|      0|		    (asoc->ctrl_queue_cnt == stcb->asoc.ecn_echo_cnt_onq)) {
  ------------------
  |  Branch (8494:7): [True: 0, False: 0]
  ------------------
 8495|       |			/* Nothing but ECNe to send - we don't do that */
 8496|      0|			goto nothing_to_send;
 8497|      0|		}
 8498|      0|		TAILQ_FOREACH(chk, &asoc->control_send_queue, sctp_next) {
 8499|      0|			if ((chk->rec.chunk_id.id == SCTP_SELECTIVE_ACK) ||
  ------------------
  |  |  460|      0|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (8499:8): [True: 0, False: 0]
  ------------------
 8500|      0|			    (chk->rec.chunk_id.id == SCTP_NR_SELECTIVE_ACK)) {
  ------------------
  |  |  475|      0|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
  |  Branch (8500:8): [True: 0, False: 0]
  ------------------
 8501|      0|				sack_goes_to = chk->whoTo;
 8502|      0|				break;
 8503|      0|			}
 8504|      0|		}
 8505|      0|	}
 8506|  38.1k|	max_rwnd_per_dest = ((asoc->peers_rwnd + asoc->total_flight) / asoc->numnets);
 8507|  38.1k|	if (stcb->sctp_socket)
  ------------------
  |  Branch (8507:6): [True: 38.1k, False: 0]
  ------------------
 8508|  38.1k|		max_send_per_dest = SCTP_SB_LIMIT_SND(stcb->sctp_socket) / asoc->numnets;
  ------------------
  |  |  978|  38.1k|#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat
  ------------------
 8509|      0|	else
 8510|      0|		max_send_per_dest = 0;
 8511|  38.1k|	if (no_data_chunks == 0) {
  ------------------
  |  Branch (8511:6): [True: 36.5k, False: 1.61k]
  ------------------
 8512|       |		/* How many non-directed chunks are there? */
 8513|  36.5k|		TAILQ_FOREACH(chk, &asoc->send_queue, sctp_next) {
 8514|  1.37k|			if (chk->whoTo == NULL) {
  ------------------
  |  Branch (8514:8): [True: 1.37k, False: 0]
  ------------------
 8515|       |				/* We already have non-directed
 8516|       |				 * chunks on the queue, no need
 8517|       |				 * to do a fill-up.
 8518|       |				 */
 8519|  1.37k|				skip_fill_up = 1;
 8520|  1.37k|				break;
 8521|  1.37k|			}
 8522|  1.37k|		}
 8523|  36.5k|	}
 8524|  38.1k|	if ((no_data_chunks == 0) &&
  ------------------
  |  Branch (8524:6): [True: 36.5k, False: 1.61k]
  ------------------
 8525|  38.1k|	    (skip_fill_up == 0) &&
  ------------------
  |  Branch (8525:6): [True: 35.1k, False: 1.37k]
  ------------------
 8526|  38.1k|	    (!stcb->asoc.ss_functions.sctp_ss_is_empty(stcb, asoc))) {
  ------------------
  |  Branch (8526:6): [True: 5.57k, False: 29.5k]
  ------------------
 8527|  8.85k|		TAILQ_FOREACH(net, &asoc->nets, sctp_next) {
 8528|       |			/*
 8529|       |			 * This for loop we are in takes in
 8530|       |			 * each net, if its's got space in cwnd and
 8531|       |			 * has data sent to it (when CMT is off) then it
 8532|       |			 * calls sctp_fill_outqueue for the net. This gets
 8533|       |			 * data on the send queue for that network.
 8534|       |			 *
 8535|       |			 * In sctp_fill_outqueue TSN's are assigned and
 8536|       |			 * data is copied out of the stream buffers. Note
 8537|       |			 * mostly copy by reference (we hope).
 8538|       |			 */
 8539|  8.85k|			net->window_probe = 0;
 8540|  8.85k|			if ((net != stcb->asoc.alternate) &&
  ------------------
  |  Branch (8540:8): [True: 8.81k, False: 38]
  ------------------
 8541|  8.85k|			    ((net->dest_state & SCTP_ADDR_PF) ||
  ------------------
  |  |  490|  8.81k|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (8541:9): [True: 0, False: 8.81k]
  ------------------
 8542|  8.81k|			     ((net->dest_state & SCTP_ADDR_REACHABLE) == 0) ||
  ------------------
  |  |  481|  8.81k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (8542:9): [True: 0, False: 8.81k]
  ------------------
 8543|  8.81k|			     (net->dest_state & SCTP_ADDR_UNCONFIRMED))) {
  ------------------
  |  |  487|  8.81k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (8543:9): [True: 2.49k, False: 6.32k]
  ------------------
 8544|  2.49k|				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|  2.49k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  648|  2.49k|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  |  Branch (8544:9): [True: 0, False: 2.49k]
  ------------------
 8545|      0|					sctp_log_cwnd(stcb, net, 1,
 8546|      0|					              SCTP_CWND_LOG_FILL_OUTQ_CALLED);
  ------------------
  |  |  173|      0|#define SCTP_CWND_LOG_FILL_OUTQ_CALLED 69
  ------------------
 8547|      0|				}
 8548|  2.49k|				continue;
 8549|  2.49k|			}
 8550|  6.36k|			if ((stcb->asoc.cc_functions.sctp_cwnd_new_transmission_begins) &&
  ------------------
  |  Branch (8550:8): [True: 0, False: 6.36k]
  ------------------
 8551|  6.36k|			    (net->flight_size == 0)) {
  ------------------
  |  Branch (8551:8): [True: 0, False: 0]
  ------------------
 8552|      0|				(*stcb->asoc.cc_functions.sctp_cwnd_new_transmission_begins)(stcb, net);
 8553|      0|			}
 8554|  6.36k|			if (net->flight_size >= net->cwnd) {
  ------------------
  |  Branch (8554:8): [True: 0, False: 6.36k]
  ------------------
 8555|       |				/* skip this network, no room - can't fill */
 8556|      0|				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              				if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  648|      0|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  |  Branch (8556:9): [True: 0, False: 0]
  ------------------
 8557|      0|					sctp_log_cwnd(stcb, net, 3,
 8558|      0|					              SCTP_CWND_LOG_FILL_OUTQ_CALLED);
  ------------------
  |  |  173|      0|#define SCTP_CWND_LOG_FILL_OUTQ_CALLED 69
  ------------------
 8559|      0|				}
 8560|      0|				continue;
 8561|      0|			}
 8562|  6.36k|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|  6.36k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  648|  6.36k|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  |  Branch (8562:8): [True: 0, False: 6.36k]
  ------------------
 8563|      0|				sctp_log_cwnd(stcb, net, 4, SCTP_CWND_LOG_FILL_OUTQ_CALLED);
  ------------------
  |  |  173|      0|#define SCTP_CWND_LOG_FILL_OUTQ_CALLED 69
  ------------------
 8564|      0|			}
 8565|  6.36k|			sctp_fill_outqueue(stcb, net, frag_point, eeor_mode, &quit_now, so_locked);
 8566|  6.36k|			if (quit_now) {
  ------------------
  |  Branch (8566:8): [True: 0, False: 6.36k]
  ------------------
 8567|       |				/* memory alloc failure */
 8568|      0|				no_data_chunks = 1;
 8569|      0|				break;
 8570|      0|			}
 8571|  6.36k|		}
 8572|  5.57k|	}
 8573|       |	/* now service each destination and send out what we can for it */
 8574|       |	/* Nothing to send? */
 8575|  38.1k|	if (TAILQ_EMPTY(&asoc->control_send_queue) &&
 8576|  38.1k|	    TAILQ_EMPTY(&asoc->asconf_send_queue) &&
 8577|  38.1k|	    TAILQ_EMPTY(&asoc->send_queue)) {
 8578|      0|		*reason_code = 8;
 8579|      0|		return (0);
 8580|      0|	}
 8581|       |
 8582|  38.1k|	if (asoc->sctp_cmt_on_off > 0) {
  ------------------
  |  Branch (8582:6): [True: 0, False: 38.1k]
  ------------------
 8583|       |		/* get the last start point */
 8584|      0|		start_at = asoc->last_net_cmt_send_started;
 8585|      0|		if (start_at == NULL) {
  ------------------
  |  Branch (8585:7): [True: 0, False: 0]
  ------------------
 8586|       |			/* null so to beginning */
 8587|      0|			start_at = TAILQ_FIRST(&asoc->nets);
 8588|      0|		} else {
 8589|      0|			start_at = TAILQ_NEXT(asoc->last_net_cmt_send_started, sctp_next);
 8590|      0|			if (start_at == NULL) {
  ------------------
  |  Branch (8590:8): [True: 0, False: 0]
  ------------------
 8591|      0|				start_at = TAILQ_FIRST(&asoc->nets);
 8592|      0|			}
 8593|      0|		}
 8594|      0|		asoc->last_net_cmt_send_started = start_at;
 8595|  38.1k|	} else {
 8596|  38.1k|		start_at = TAILQ_FIRST(&asoc->nets);
 8597|  38.1k|	}
 8598|   303k|	TAILQ_FOREACH(chk, &asoc->control_send_queue, sctp_next) {
 8599|   303k|		if (chk->whoTo == NULL) {
  ------------------
  |  Branch (8599:7): [True: 188k, False: 115k]
  ------------------
 8600|   188k|			if (asoc->alternate) {
  ------------------
  |  Branch (8600:8): [True: 368, False: 187k]
  ------------------
 8601|    368|				chk->whoTo = asoc->alternate;
 8602|   187k|			} else {
 8603|   187k|				chk->whoTo = asoc->primary_destination;
 8604|   187k|			}
 8605|   188k|			atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|   188k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 8606|   188k|		}
 8607|   303k|	}
 8608|  38.1k|	old_start_at = NULL;
 8609|  76.2k|again_one_more_time:
 8610|   126k|	for (net = start_at; net != NULL; net = TAILQ_NEXT(net, sctp_next)) {
  ------------------
  |  Branch (8610:23): [True: 88.7k, False: 38.0k]
  ------------------
 8611|       |		/* how much can we send? */
 8612|       |		/* SCTPDBG("Examine for sending net:%x\n", (uint32_t)net); */
 8613|  88.7k|		if (old_start_at && (old_start_at == net)) {
  ------------------
  |  Branch (8613:7): [True: 38.1k, False: 50.6k]
  |  Branch (8613:23): [True: 38.1k, False: 0]
  ------------------
 8614|       |			/* through list completely. */
 8615|  38.1k|			break;
 8616|  38.1k|		}
 8617|  50.6k|		tsns_sent = 0xa;
 8618|  50.6k|		if (TAILQ_EMPTY(&asoc->control_send_queue) &&
 8619|  50.6k|		    TAILQ_EMPTY(&asoc->asconf_send_queue) &&
 8620|  50.6k|		    (net->flight_size >= net->cwnd)) {
  ------------------
  |  Branch (8620:7): [True: 0, False: 5.01k]
  ------------------
 8621|       |			/* Nothing on control or asconf and flight is full, we can skip
 8622|       |			 * even in the CMT case.
 8623|       |			 */
 8624|      0|			continue;
 8625|      0|		}
 8626|  50.6k|		bundle_at = 0;
 8627|  50.6k|		endoutchain = outchain = NULL;
 8628|  50.6k|		auth = NULL;
 8629|  50.6k|		auth_offset = 0;
 8630|  50.6k|		no_fragmentflg = 1;
 8631|  50.6k|		one_chunk = 0;
 8632|  50.6k|		if (net->dest_state & SCTP_ADDR_UNCONFIRMED) {
  ------------------
  |  |  487|  50.6k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (8632:7): [True: 10.0k, False: 40.5k]
  ------------------
 8633|  10.0k|			skip_data_for_this_net = 1;
 8634|  40.5k|		} else {
 8635|  40.5k|			skip_data_for_this_net = 0;
 8636|  40.5k|		}
 8637|  50.6k|		switch (((struct sockaddr *)&net->ro._l_addr)->sa_family) {
 8638|      0|#ifdef INET
 8639|  6.56k|		case AF_INET:
  ------------------
  |  Branch (8639:3): [True: 6.56k, False: 44.0k]
  ------------------
 8640|  6.56k|			mtu = net->mtu - SCTP_MIN_V4_OVERHEAD;
  ------------------
  |  |  588|  6.56k|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|  6.56k|                              sizeof(struct sctphdr))
  ------------------
 8641|  6.56k|			break;
 8642|      0|#endif
 8643|      0|#ifdef INET6
 8644|  5.94k|		case AF_INET6:
  ------------------
  |  Branch (8644:3): [True: 5.94k, False: 44.6k]
  ------------------
 8645|  5.94k|			mtu = net->mtu - SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|  5.94k|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|  5.94k|                           sizeof(struct sctphdr))
  ------------------
 8646|  5.94k|			break;
 8647|      0|#endif
 8648|      0|#if defined(__Userspace__)
 8649|  38.1k|		case AF_CONN:
  ------------------
  |  | 1008|  38.1k|#define AF_CONN 123
  ------------------
  |  Branch (8649:3): [True: 38.1k, False: 12.5k]
  ------------------
 8650|  38.1k|			mtu = net->mtu - sizeof(struct sctphdr);
 8651|  38.1k|			break;
 8652|      0|#endif
 8653|      0|		default:
  ------------------
  |  Branch (8653:3): [True: 0, False: 50.6k]
  ------------------
 8654|       |			/* TSNH */
 8655|      0|			mtu = net->mtu;
 8656|      0|			break;
 8657|  50.6k|		}
 8658|  50.6k|		mx_mtu = mtu;
 8659|  50.6k|		to_out = 0;
 8660|  50.6k|		if (mtu > asoc->peers_rwnd) {
  ------------------
  |  Branch (8660:7): [True: 177, False: 50.4k]
  ------------------
 8661|    177|			if (asoc->total_flight > 0) {
  ------------------
  |  Branch (8661:8): [True: 6, False: 171]
  ------------------
 8662|       |				/* We have a packet in flight somewhere */
 8663|      6|				r_mtu = asoc->peers_rwnd;
 8664|    171|			} else {
 8665|       |				/* We are always allowed to send one MTU out */
 8666|    171|				one_chunk = 1;
 8667|    171|				r_mtu = mtu;
 8668|    171|			}
 8669|  50.4k|		} else {
 8670|  50.4k|			r_mtu = mtu;
 8671|  50.4k|		}
 8672|  50.6k|		error = 0;
 8673|       |		/************************/
 8674|       |		/* ASCONF transmission */
 8675|       |		/************************/
 8676|       |		/* Now first lets go through the asconf queue */
 8677|  50.6k|		TAILQ_FOREACH_SAFE(chk, &asoc->asconf_send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|  50.6k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  50.6k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 50.6k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  50.6k|              (var) = (tvar))
  ------------------
 8678|      0|			if (chk->rec.chunk_id.id != SCTP_ASCONF) {
  ------------------
  |  |  492|      0|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (8678:8): [True: 0, False: 0]
  ------------------
 8679|      0|				continue;
 8680|      0|			}
 8681|      0|			if (chk->whoTo == NULL) {
  ------------------
  |  Branch (8681:8): [True: 0, False: 0]
  ------------------
 8682|      0|				if (asoc->alternate == NULL) {
  ------------------
  |  Branch (8682:9): [True: 0, False: 0]
  ------------------
 8683|      0|					if (asoc->primary_destination != net) {
  ------------------
  |  Branch (8683:10): [True: 0, False: 0]
  ------------------
 8684|      0|						break;
 8685|      0|					}
 8686|      0|				} else {
 8687|      0|					if (asoc->alternate != net) {
  ------------------
  |  Branch (8687:10): [True: 0, False: 0]
  ------------------
 8688|      0|						break;
 8689|      0|					}
 8690|      0|				}
 8691|      0|			} else {
 8692|      0|				if (chk->whoTo != net) {
  ------------------
  |  Branch (8692:9): [True: 0, False: 0]
  ------------------
 8693|      0|					break;
 8694|      0|				}
 8695|      0|			}
 8696|      0|			if (chk->data == NULL) {
  ------------------
  |  Branch (8696:8): [True: 0, False: 0]
  ------------------
 8697|      0|				break;
 8698|      0|			}
 8699|      0|			if (chk->sent != SCTP_DATAGRAM_UNSENT &&
  ------------------
  |  |  348|      0|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
  |  Branch (8699:8): [True: 0, False: 0]
  ------------------
 8700|      0|			    chk->sent != SCTP_DATAGRAM_RESEND) {
  ------------------
  |  |  354|      0|#define SCTP_DATAGRAM_RESEND		4
  ------------------
  |  Branch (8700:8): [True: 0, False: 0]
  ------------------
 8701|      0|				break;
 8702|      0|			}
 8703|       |			/*
 8704|       |			 * if no AUTH is yet included and this chunk
 8705|       |			 * requires it, make sure to account for it.  We
 8706|       |			 * don't apply the size until the AUTH chunk is
 8707|       |			 * actually added below in case there is no room for
 8708|       |			 * this chunk. NOTE: we overload the use of "omtu"
 8709|       |			 * here
 8710|       |			 */
 8711|      0|			if ((auth == NULL) &&
  ------------------
  |  Branch (8711:8): [True: 0, False: 0]
  ------------------
 8712|      0|			    sctp_auth_is_required_chunk(chk->rec.chunk_id.id,
  ------------------
  |  |  100|      0|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:50): [True: 0, False: 0]
  |  |  |  Branch (100:51): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 8713|      0|							stcb->asoc.peer_auth_chunks)) {
 8714|      0|				omtu = sctp_get_auth_chunk_len(stcb->asoc.peer_hmac_id);
 8715|      0|			} else
 8716|      0|				omtu = 0;
 8717|       |			/* Here we do NOT factor the r_mtu */
 8718|      0|			if ((chk->send_size < (int)(mtu - omtu)) ||
  ------------------
  |  Branch (8718:8): [True: 0, False: 0]
  ------------------
 8719|      0|			    (chk->flags & CHUNK_FLAGS_FRAGMENT_OK)) {
  ------------------
  |  |  481|      0|#define CHUNK_FLAGS_FRAGMENT_OK	        0x0100
  ------------------
  |  Branch (8719:8): [True: 0, False: 0]
  ------------------
 8720|       |				/*
 8721|       |				 * We probably should glom the mbuf chain
 8722|       |				 * from the chk->data for control but the
 8723|       |				 * problem is it becomes yet one more level
 8724|       |				 * of tracking to do if for some reason
 8725|       |				 * output fails. Then I have got to
 8726|       |				 * reconstruct the merged control chain.. el
 8727|       |				 * yucko.. for now we take the easy way and
 8728|       |				 * do the copy
 8729|       |				 */
 8730|       |				/*
 8731|       |				 * Add an AUTH chunk, if chunk requires it
 8732|       |				 * save the offset into the chain for AUTH
 8733|       |				 */
 8734|      0|				if ((auth == NULL) &&
  ------------------
  |  Branch (8734:9): [True: 0, False: 0]
  ------------------
 8735|      0|				    (sctp_auth_is_required_chunk(chk->rec.chunk_id.id,
  ------------------
  |  |  100|      0|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:51): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (8735:9): [True: 0, False: 0]
  ------------------
 8736|      0|								 stcb->asoc.peer_auth_chunks))) {
 8737|      0|					outchain = sctp_add_auth_chunk(outchain,
 8738|      0|								       &endoutchain,
 8739|      0|								       &auth,
 8740|      0|								       &auth_offset,
 8741|      0|								       stcb,
 8742|      0|								       chk->rec.chunk_id.id);
 8743|      0|					SCTP_STAT_INCR_COUNTER64(sctps_outcontrolchunks);
  ------------------
  |  | 1128|      0|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8744|      0|				}
 8745|      0|				outchain = sctp_copy_mbufchain(chk->data, outchain, &endoutchain,
 8746|      0|							       (int)chk->rec.chunk_id.can_take_data,
 8747|      0|							       chk->send_size, chk->copy_by_ref);
 8748|      0|				if (outchain == NULL) {
  ------------------
  |  Branch (8748:9): [True: 0, False: 0]
  ------------------
 8749|      0|					*reason_code = 8;
 8750|      0|					SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
 8751|      0|					return (ENOMEM);
 8752|      0|				}
 8753|      0|				SCTP_STAT_INCR_COUNTER64(sctps_outcontrolchunks);
  ------------------
  |  | 1128|      0|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8754|       |				/* update our MTU size */
 8755|      0|				if (mtu > (chk->send_size + omtu))
  ------------------
  |  Branch (8755:9): [True: 0, False: 0]
  ------------------
 8756|      0|					mtu -= (chk->send_size + omtu);
 8757|      0|				else
 8758|      0|					mtu = 0;
 8759|      0|				to_out += (chk->send_size + omtu);
 8760|       |				/* Do clear IP_DF ? */
 8761|      0|				if (chk->flags & CHUNK_FLAGS_FRAGMENT_OK) {
  ------------------
  |  |  481|      0|#define CHUNK_FLAGS_FRAGMENT_OK	        0x0100
  ------------------
  |  Branch (8761:9): [True: 0, False: 0]
  ------------------
 8762|      0|					no_fragmentflg = 0;
 8763|      0|				}
 8764|      0|				if (chk->rec.chunk_id.can_take_data)
  ------------------
  |  Branch (8764:9): [True: 0, False: 0]
  ------------------
 8765|      0|					chk->data = NULL;
 8766|       |				/*
 8767|       |				 * set hb flag since we can
 8768|       |				 * use these for RTO
 8769|       |				 */
 8770|      0|				hbflag = 1;
 8771|      0|				asconf = 1;
 8772|       |				/*
 8773|       |				 * should sysctl this: don't
 8774|       |				 * bundle data with ASCONF
 8775|       |				 * since it requires AUTH
 8776|       |				 */
 8777|      0|				no_data_chunks = 1;
 8778|      0|				chk->sent = SCTP_DATAGRAM_SENT;
  ------------------
  |  |  349|      0|#define SCTP_DATAGRAM_SENT		1
  ------------------
 8779|      0|				if (chk->whoTo == NULL) {
  ------------------
  |  Branch (8779:9): [True: 0, False: 0]
  ------------------
 8780|      0|					chk->whoTo = net;
 8781|      0|					atomic_add_int(&net->ref_count, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 8782|      0|				}
 8783|      0|				chk->snd_count++;
 8784|      0|				if (mtu == 0) {
  ------------------
  |  Branch (8784:9): [True: 0, False: 0]
  ------------------
 8785|       |					/*
 8786|       |					 * Ok we are out of room but we can
 8787|       |					 * output without effecting the
 8788|       |					 * flight size since this little guy
 8789|       |					 * is a control only packet.
 8790|       |					 */
 8791|      0|					sctp_timer_start(SCTP_TIMER_TYPE_ASCONF, inp, stcb, net);
  ------------------
  |  |  541|      0|#define SCTP_TIMER_TYPE_ASCONF		10
  ------------------
 8792|       |					/*
 8793|       |					 * do NOT clear the asconf
 8794|       |					 * flag as it is used to do
 8795|       |					 * appropriate source address
 8796|       |					 * selection.
 8797|       |					 */
 8798|      0|					if (*now_filled == 0) {
  ------------------
  |  Branch (8798:10): [True: 0, False: 0]
  ------------------
 8799|      0|						(void)SCTP_GETTIME_TIMEVAL(now);
  ------------------
  |  |  991|      0|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 8800|      0|						*now_filled = 1;
 8801|      0|					}
 8802|      0|					net->last_sent_time = *now;
 8803|      0|					hbflag = 0;
 8804|      0|					if ((error = sctp_lowlevel_chunk_output(inp, stcb, net,
  ------------------
  |  Branch (8804:10): [True: 0, False: 0]
  ------------------
 8805|      0|					                                        (struct sockaddr *)&net->ro._l_addr,
 8806|      0|					                                        outchain, auth_offset, auth,
 8807|      0|					                                        stcb->asoc.authinfo.active_keyid,
 8808|      0|					                                        no_fragmentflg, 0, asconf,
 8809|      0|					                                        inp->sctp_lport, stcb->rport,
  ------------------
  |  |  426|      0|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|      0|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|      0|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8810|      0|					                                        htonl(stcb->asoc.peer_vtag),
 8811|      0|					                                        net->port, NULL,
 8812|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 8813|       |					                                        0, 0,
 8814|       |#endif
 8815|      0|					                                        false, so_locked))) {
 8816|       |						/* error, we could not output */
 8817|      0|						SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error);
 8818|      0|						if (from_where == 0) {
  ------------------
  |  Branch (8818:11): [True: 0, False: 0]
  ------------------
 8819|      0|							SCTP_STAT_INCR(sctps_lowlevelerrusr);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8820|      0|						}
 8821|      0|						if (error == ENOBUFS) {
  ------------------
  |  Branch (8821:11): [True: 0, False: 0]
  ------------------
 8822|      0|							asoc->ifp_had_enobuf = 1;
 8823|      0|							SCTP_STAT_INCR(sctps_lowlevelerr);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8824|      0|						}
 8825|       |						/* error, could not output */
 8826|      0|						if (error == EHOSTUNREACH) {
  ------------------
  |  Branch (8826:11): [True: 0, False: 0]
  ------------------
 8827|       |							/*
 8828|       |							 * Destination went
 8829|       |							 * unreachable
 8830|       |							 * during this send
 8831|       |							 */
 8832|      0|							sctp_move_chunks_from_net(stcb, net);
 8833|      0|						}
 8834|      0|						asconf = 0;
 8835|      0|						*reason_code = 7;
 8836|      0|						break;
 8837|      0|					} else {
 8838|      0|						asoc->ifp_had_enobuf = 0;
 8839|      0|					}
 8840|       |					/*
 8841|       |					 * increase the number we sent, if a
 8842|       |					 * cookie is sent we don't tell them
 8843|       |					 * any was sent out.
 8844|       |					 */
 8845|      0|					outchain = endoutchain = NULL;
 8846|      0|					auth = NULL;
 8847|      0|					auth_offset = 0;
 8848|      0|					asconf = 0;
 8849|      0|					if (!no_out_cnt)
  ------------------
  |  Branch (8849:10): [True: 0, False: 0]
  ------------------
 8850|      0|						*num_out += ctl_cnt;
 8851|       |					/* recalc a clean slate and setup */
 8852|      0|					switch (net->ro._l_addr.sa.sa_family) {
 8853|      0|#ifdef INET
 8854|      0|						case AF_INET:
  ------------------
  |  Branch (8854:7): [True: 0, False: 0]
  ------------------
 8855|      0|							mtu = net->mtu - SCTP_MIN_V4_OVERHEAD;
  ------------------
  |  |  588|      0|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|      0|                              sizeof(struct sctphdr))
  ------------------
 8856|      0|							break;
 8857|      0|#endif
 8858|      0|#ifdef INET6
 8859|      0|						case AF_INET6:
  ------------------
  |  Branch (8859:7): [True: 0, False: 0]
  ------------------
 8860|      0|							mtu = net->mtu - SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|      0|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|      0|                           sizeof(struct sctphdr))
  ------------------
 8861|      0|							break;
 8862|      0|#endif
 8863|      0|#if defined(__Userspace__)
 8864|      0|						case AF_CONN:
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (8864:7): [True: 0, False: 0]
  ------------------
 8865|      0|							mtu = net->mtu - sizeof(struct sctphdr);
 8866|      0|							break;
 8867|      0|#endif
 8868|      0|						default:
  ------------------
  |  Branch (8868:7): [True: 0, False: 0]
  ------------------
 8869|       |							/* TSNH */
 8870|      0|							mtu = net->mtu;
 8871|      0|							break;
 8872|      0|					}
 8873|      0|					to_out = 0;
 8874|      0|					no_fragmentflg = 1;
 8875|      0|				}
 8876|      0|			}
 8877|      0|		}
 8878|  50.6k|		if (error != 0) {
  ------------------
  |  Branch (8878:7): [True: 0, False: 50.6k]
  ------------------
 8879|       |			/* try next net */
 8880|      0|			continue;
 8881|      0|		}
 8882|       |		/************************/
 8883|       |		/* Control transmission */
 8884|       |		/************************/
 8885|       |		/* Now first lets go through the control queue */
 8886|   364k|		TAILQ_FOREACH_SAFE(chk, &asoc->control_send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|  50.6k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|   415k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 364k, False: 50.6k]
  |  |  |  Branch (1124:24): [True: 364k, False: 0]
  |  |  ------------------
  |  | 1125|   364k|              (var) = (tvar))
  ------------------
 8887|   364k|			if ((sack_goes_to) &&
  ------------------
  |  Branch (8887:8): [True: 0, False: 364k]
  ------------------
 8888|   364k|			    (chk->rec.chunk_id.id == SCTP_ECN_ECHO) &&
  ------------------
  |  |  469|      0|#define SCTP_ECN_ECHO		0x0c
  ------------------
  |  Branch (8888:8): [True: 0, False: 0]
  ------------------
 8889|   364k|			    (chk->whoTo != sack_goes_to)) {
  ------------------
  |  Branch (8889:8): [True: 0, False: 0]
  ------------------
 8890|       |				/*
 8891|       |				 * if we have a sack in queue, and we are looking at an
 8892|       |				 * ecn echo that is NOT queued to where the sack is going..
 8893|       |				 */
 8894|      0|				if (chk->whoTo == net) {
  ------------------
  |  Branch (8894:9): [True: 0, False: 0]
  ------------------
 8895|       |					/* Don't transmit it to where its going (current net) */
 8896|      0|					continue;
 8897|      0|				} else if (sack_goes_to == net) {
  ------------------
  |  Branch (8897:16): [True: 0, False: 0]
  ------------------
 8898|       |					/* But do transmit it to this address */
 8899|      0|					goto skip_net_check;
 8900|      0|				}
 8901|      0|			}
 8902|   364k|			if (chk->whoTo == NULL) {
  ------------------
  |  Branch (8902:8): [True: 0, False: 364k]
  ------------------
 8903|      0|				if (asoc->alternate == NULL) {
  ------------------
  |  Branch (8903:9): [True: 0, False: 0]
  ------------------
 8904|      0|					if (asoc->primary_destination != net) {
  ------------------
  |  Branch (8904:10): [True: 0, False: 0]
  ------------------
 8905|      0|						continue;
 8906|      0|					}
 8907|      0|				} else {
 8908|      0|					if (asoc->alternate != net) {
  ------------------
  |  Branch (8908:10): [True: 0, False: 0]
  ------------------
 8909|      0|						continue;
 8910|      0|					}
 8911|      0|				}
 8912|   364k|			} else {
 8913|   364k|				if (chk->whoTo != net) {
  ------------------
  |  Branch (8913:9): [True: 61.9k, False: 302k]
  ------------------
 8914|  61.9k|					continue;
 8915|  61.9k|				}
 8916|   364k|			}
 8917|   302k|		skip_net_check:
 8918|   302k|			if (chk->data == NULL) {
  ------------------
  |  Branch (8918:8): [True: 0, False: 302k]
  ------------------
 8919|      0|				continue;
 8920|      0|			}
 8921|   302k|			if (chk->sent != SCTP_DATAGRAM_UNSENT) {
  ------------------
  |  |  348|   302k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
  |  Branch (8921:8): [True: 17.6k, False: 285k]
  ------------------
 8922|       |				/*
 8923|       |				 * It must be unsent. Cookies and ASCONF's
 8924|       |				 * hang around but there timers will force
 8925|       |				 * when marked for resend.
 8926|       |				 */
 8927|  17.6k|				continue;
 8928|  17.6k|			}
 8929|       |			/*
 8930|       |			 * if no AUTH is yet included and this chunk
 8931|       |			 * requires it, make sure to account for it.  We
 8932|       |			 * don't apply the size until the AUTH chunk is
 8933|       |			 * actually added below in case there is no room for
 8934|       |			 * this chunk. NOTE: we overload the use of "omtu"
 8935|       |			 * here
 8936|       |			 */
 8937|   285k|			if ((auth == NULL) &&
  ------------------
  |  Branch (8937:8): [True: 284k, False: 750]
  ------------------
 8938|   285k|			    sctp_auth_is_required_chunk(chk->rec.chunk_id.id,
  ------------------
  |  |  100|   284k|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:50): [True: 1.25k, False: 283k]
  |  |  |  Branch (100:51): [True: 68.9k, False: 215k]
  |  |  ------------------
  ------------------
 8939|   285k|							stcb->asoc.peer_auth_chunks)) {
 8940|  1.25k|				omtu = sctp_get_auth_chunk_len(stcb->asoc.peer_hmac_id);
 8941|  1.25k|			} else
 8942|   283k|				omtu = 0;
 8943|       |			/* Here we do NOT factor the r_mtu */
 8944|   285k|			if ((chk->send_size <= (int)(mtu - omtu)) ||
  ------------------
  |  Branch (8944:8): [True: 231k, False: 54.1k]
  ------------------
 8945|   285k|			    (chk->flags & CHUNK_FLAGS_FRAGMENT_OK)) {
  ------------------
  |  |  481|  54.1k|#define CHUNK_FLAGS_FRAGMENT_OK	        0x0100
  ------------------
  |  Branch (8945:8): [True: 59, False: 54.1k]
  ------------------
 8946|       |				/*
 8947|       |				 * We probably should glom the mbuf chain
 8948|       |				 * from the chk->data for control but the
 8949|       |				 * problem is it becomes yet one more level
 8950|       |				 * of tracking to do if for some reason
 8951|       |				 * output fails. Then I have got to
 8952|       |				 * reconstruct the merged control chain.. el
 8953|       |				 * yucko.. for now we take the easy way and
 8954|       |				 * do the copy
 8955|       |				 */
 8956|       |				/*
 8957|       |				 * Add an AUTH chunk, if chunk requires it
 8958|       |				 * save the offset into the chain for AUTH
 8959|       |				 */
 8960|   231k|				if ((auth == NULL) &&
  ------------------
  |  Branch (8960:9): [True: 230k, False: 685]
  ------------------
 8961|   231k|				    (sctp_auth_is_required_chunk(chk->rec.chunk_id.id,
  ------------------
  |  |  100|   230k|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:51): [True: 57.0k, False: 173k]
  |  |  ------------------
  ------------------
  |  Branch (8961:9): [True: 1.25k, False: 229k]
  ------------------
 8962|   230k|								 stcb->asoc.peer_auth_chunks))) {
 8963|  1.25k|					outchain = sctp_add_auth_chunk(outchain,
 8964|  1.25k|								       &endoutchain,
 8965|  1.25k|								       &auth,
 8966|  1.25k|								       &auth_offset,
 8967|  1.25k|								       stcb,
 8968|  1.25k|								       chk->rec.chunk_id.id);
 8969|  1.25k|					SCTP_STAT_INCR_COUNTER64(sctps_outcontrolchunks);
  ------------------
  |  | 1128|  1.25k|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  1.25k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  1.25k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  1.25k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8970|  1.25k|				}
 8971|   231k|				outchain = sctp_copy_mbufchain(chk->data, outchain, &endoutchain,
 8972|   231k|							       (int)chk->rec.chunk_id.can_take_data,
 8973|   231k|							       chk->send_size, chk->copy_by_ref);
 8974|   231k|				if (outchain == NULL) {
  ------------------
  |  Branch (8974:9): [True: 0, False: 231k]
  ------------------
 8975|      0|					*reason_code = 8;
 8976|      0|					SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
 8977|      0|					return (ENOMEM);
 8978|      0|				}
 8979|   231k|				SCTP_STAT_INCR_COUNTER64(sctps_outcontrolchunks);
  ------------------
  |  | 1128|   231k|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|   231k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|   231k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|   231k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8980|       |				/* update our MTU size */
 8981|   231k|				if (mtu > (chk->send_size + omtu))
  ------------------
  |  Branch (8981:9): [True: 228k, False: 2.60k]
  ------------------
 8982|   228k|					mtu -= (chk->send_size + omtu);
 8983|  2.60k|				else
 8984|  2.60k|					mtu = 0;
 8985|   231k|				to_out += (chk->send_size + omtu);
 8986|       |				/* Do clear IP_DF ? */
 8987|   231k|				if (chk->flags & CHUNK_FLAGS_FRAGMENT_OK) {
  ------------------
  |  |  481|   231k|#define CHUNK_FLAGS_FRAGMENT_OK	        0x0100
  ------------------
  |  Branch (8987:9): [True: 10.2k, False: 220k]
  ------------------
 8988|  10.2k|					no_fragmentflg = 0;
 8989|  10.2k|				}
 8990|   231k|				if (chk->rec.chunk_id.can_take_data)
  ------------------
  |  Branch (8990:9): [True: 72.4k, False: 158k]
  ------------------
 8991|  72.4k|					chk->data = NULL;
 8992|       |				/* Mark things to be removed, if needed */
 8993|   231k|				if ((chk->rec.chunk_id.id == SCTP_SELECTIVE_ACK) ||
  ------------------
  |  |  460|   231k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (8993:9): [True: 6.19k, False: 224k]
  ------------------
 8994|   231k|				    (chk->rec.chunk_id.id == SCTP_NR_SELECTIVE_ACK) || /* EY */
  ------------------
  |  |  475|   224k|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
  |  Branch (8994:9): [True: 284, False: 224k]
  ------------------
 8995|   231k|				    (chk->rec.chunk_id.id == SCTP_HEARTBEAT_REQUEST) ||
  ------------------
  |  |  461|   224k|#define SCTP_HEARTBEAT_REQUEST	0x04
  ------------------
  |  Branch (8995:9): [True: 35.2k, False: 189k]
  ------------------
 8996|   231k|				    (chk->rec.chunk_id.id == SCTP_HEARTBEAT_ACK) ||
  ------------------
  |  |  462|   189k|#define SCTP_HEARTBEAT_ACK	0x05
  ------------------
  |  Branch (8996:9): [True: 27.5k, False: 161k]
  ------------------
 8997|   231k|				    (chk->rec.chunk_id.id == SCTP_SHUTDOWN) ||
  ------------------
  |  |  464|   161k|#define SCTP_SHUTDOWN		0x07
  ------------------
  |  Branch (8997:9): [True: 75, False: 161k]
  ------------------
 8998|   231k|				    (chk->rec.chunk_id.id == SCTP_SHUTDOWN_ACK) ||
  ------------------
  |  |  465|   161k|#define SCTP_SHUTDOWN_ACK	0x08
  ------------------
  |  Branch (8998:9): [True: 977, False: 160k]
  ------------------
 8999|   231k|				    (chk->rec.chunk_id.id == SCTP_OPERATION_ERROR) ||
  ------------------
  |  |  466|   160k|#define SCTP_OPERATION_ERROR	0x09
  ------------------
  |  Branch (8999:9): [True: 140k, False: 20.3k]
  ------------------
 9000|   231k|				    (chk->rec.chunk_id.id == SCTP_COOKIE_ACK) ||
  ------------------
  |  |  468|  20.3k|#define SCTP_COOKIE_ACK		0x0b
  ------------------
  |  Branch (9000:9): [True: 498, False: 19.8k]
  ------------------
 9001|   231k|				    (chk->rec.chunk_id.id == SCTP_ECN_CWR) ||
  ------------------
  |  |  470|  19.8k|#define SCTP_ECN_CWR		0x0d
  ------------------
  |  Branch (9001:9): [True: 326, False: 19.5k]
  ------------------
 9002|   231k|				    (chk->rec.chunk_id.id == SCTP_PACKET_DROPPED) ||
  ------------------
  |  |  482|  19.5k|#define SCTP_PACKET_DROPPED	0x81
  ------------------
  |  Branch (9002:9): [True: 0, False: 19.5k]
  ------------------
 9003|   231k|				    (chk->rec.chunk_id.id == SCTP_ASCONF_ACK)) {
  ------------------
  |  |  480|  19.5k|#define	SCTP_ASCONF_ACK		0x80
  ------------------
  |  Branch (9003:9): [True: 1.23k, False: 18.2k]
  ------------------
 9004|   212k|					if (chk->rec.chunk_id.id == SCTP_HEARTBEAT_REQUEST) {
  ------------------
  |  |  461|   212k|#define SCTP_HEARTBEAT_REQUEST	0x04
  ------------------
  |  Branch (9004:10): [True: 35.2k, False: 177k]
  ------------------
 9005|  35.2k|						hbflag = 1;
 9006|  35.2k|					}
 9007|       |					/* remove these chunks at the end */
 9008|   212k|					if ((chk->rec.chunk_id.id == SCTP_SELECTIVE_ACK) ||
  ------------------
  |  |  460|   212k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (9008:10): [True: 6.19k, False: 206k]
  ------------------
 9009|   212k|					    (chk->rec.chunk_id.id == SCTP_NR_SELECTIVE_ACK)) {
  ------------------
  |  |  475|   206k|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
  |  Branch (9009:10): [True: 284, False: 206k]
  ------------------
 9010|       |						/* turn off the timer */
 9011|  6.48k|						if (SCTP_OS_TIMER_PENDING(&stcb->asoc.dack_timer.timer)) {
  ------------------
  |  |  102|  6.48k|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|  6.48k|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  |  |  |  Branch (102:36): [True: 0, False: 6.48k]
  |  |  ------------------
  ------------------
 9012|      0|							sctp_timer_stop(SCTP_TIMER_TYPE_RECV,
  ------------------
  |  |  534|      0|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
 9013|      0|							                inp, stcb, NULL,
 9014|      0|							                SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_1);
  ------------------
  |  |  763|      0|#define SCTP_FROM_SCTP_OUTPUT       0x90000000
  ------------------
              							                SCTP_FROM_SCTP_OUTPUT + SCTP_LOC_1);
  ------------------
  |  |  769|      0|#define SCTP_LOC_1  0x00000001
  ------------------
 9015|      0|						}
 9016|  6.48k|					}
 9017|   212k|					ctl_cnt++;
 9018|   212k|				} else {
 9019|       |					/*
 9020|       |					 * Other chunks, since they have
 9021|       |					 * timers running (i.e. COOKIE)
 9022|       |					 * we just "trust" that it
 9023|       |					 * gets sent or retransmitted.
 9024|       |					 */
 9025|  18.2k|					ctl_cnt++;
 9026|  18.2k|					if (chk->rec.chunk_id.id == SCTP_COOKIE_ECHO) {
  ------------------
  |  |  467|  18.2k|#define SCTP_COOKIE_ECHO	0x0a
  ------------------
  |  Branch (9026:10): [True: 9.06k, False: 9.21k]
  ------------------
 9027|  9.06k|						cookie = 1;
 9028|  9.06k|						no_out_cnt = 1;
 9029|  9.21k|					} else if (chk->rec.chunk_id.id == SCTP_ECN_ECHO) {
  ------------------
  |  |  469|  9.21k|#define SCTP_ECN_ECHO		0x0c
  ------------------
  |  Branch (9029:17): [True: 0, False: 9.21k]
  ------------------
 9030|       |						/*
 9031|       |						 * Increment ecne send count here
 9032|       |						 * this means we may be over-zealous in
 9033|       |						 * our counting if the send fails, but its
 9034|       |						 * the best place to do it (we used to do
 9035|       |						 * it in the queue of the chunk, but that did
 9036|       |						 * not tell how many times it was sent.
 9037|       |						 */
 9038|      0|						SCTP_STAT_INCR(sctps_sendecne);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9039|      0|					}
 9040|  18.2k|					chk->sent = SCTP_DATAGRAM_SENT;
  ------------------
  |  |  349|  18.2k|#define SCTP_DATAGRAM_SENT		1
  ------------------
 9041|  18.2k|					if (chk->whoTo == NULL) {
  ------------------
  |  Branch (9041:10): [True: 0, False: 18.2k]
  ------------------
 9042|      0|						chk->whoTo = net;
 9043|      0|						atomic_add_int(&net->ref_count, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 9044|      0|					}
 9045|  18.2k|					chk->snd_count++;
 9046|  18.2k|				}
 9047|   231k|				if (mtu == 0) {
  ------------------
  |  Branch (9047:9): [True: 2.60k, False: 228k]
  ------------------
 9048|       |					/*
 9049|       |					 * Ok we are out of room but we can
 9050|       |					 * output without effecting the
 9051|       |					 * flight size since this little guy
 9052|       |					 * is a control only packet.
 9053|       |					 */
 9054|  2.60k|					switch (asoc->snd_edmid) {
 9055|      0|					case SCTP_EDMID_LOWER_LAYER_DTLS:
  ------------------
  |  |  810|      0|#define SCTP_EDMID_LOWER_LAYER_DTLS 1
  ------------------
  |  Branch (9055:6): [True: 0, False: 2.60k]
  ------------------
 9056|      0|						use_zero_crc = true;
 9057|      0|						break;
 9058|  2.60k|					default:
  ------------------
  |  Branch (9058:6): [True: 2.60k, False: 0]
  ------------------
 9059|  2.60k|						use_zero_crc = false;
 9060|  2.60k|						break;
 9061|  2.60k|					}
 9062|  2.60k|					if (asconf) {
  ------------------
  |  Branch (9062:10): [True: 0, False: 2.60k]
  ------------------
 9063|      0|						sctp_timer_start(SCTP_TIMER_TYPE_ASCONF, inp, stcb, net);
  ------------------
  |  |  541|      0|#define SCTP_TIMER_TYPE_ASCONF		10
  ------------------
 9064|      0|						use_zero_crc = false;
 9065|       |						/*
 9066|       |						 * do NOT clear the asconf
 9067|       |						 * flag as it is used to do
 9068|       |						 * appropriate source address
 9069|       |						 * selection.
 9070|       |						 */
 9071|      0|					}
 9072|  2.60k|					if (cookie) {
  ------------------
  |  Branch (9072:10): [True: 6, False: 2.59k]
  ------------------
 9073|      6|						sctp_timer_start(SCTP_TIMER_TYPE_COOKIE, inp, stcb, net);
  ------------------
  |  |  537|      6|#define SCTP_TIMER_TYPE_COOKIE		6
  ------------------
 9074|      6|						use_zero_crc = false;
 9075|      6|						cookie = 0;
 9076|      6|					}
 9077|       |					/* Only HB or ASCONF advances time */
 9078|  2.60k|					if (hbflag) {
  ------------------
  |  Branch (9078:10): [True: 1.28k, False: 1.31k]
  ------------------
 9079|  1.28k|						if (*now_filled == 0) {
  ------------------
  |  Branch (9079:11): [True: 46, False: 1.23k]
  ------------------
 9080|     46|							(void)SCTP_GETTIME_TIMEVAL(now);
  ------------------
  |  |  991|     46|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 9081|     46|							*now_filled = 1;
 9082|     46|						}
 9083|  1.28k|						net->last_sent_time = *now;
 9084|  1.28k|						hbflag = 0;
 9085|  1.28k|					}
 9086|  2.60k|					if ((error = sctp_lowlevel_chunk_output(inp, stcb, net,
  ------------------
  |  Branch (9086:10): [True: 6, False: 2.59k]
  ------------------
 9087|  2.60k|					                                        (struct sockaddr *)&net->ro._l_addr,
 9088|  2.60k|					                                        outchain,
 9089|  2.60k|					                                        auth_offset, auth,
 9090|  2.60k|					                                        stcb->asoc.authinfo.active_keyid,
 9091|  2.60k|					                                        no_fragmentflg, 0, asconf,
 9092|  2.60k|					                                        inp->sctp_lport, stcb->rport,
  ------------------
  |  |  426|  2.60k|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|  2.60k|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|  2.60k|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9093|  2.60k|					                                        htonl(stcb->asoc.peer_vtag),
 9094|  2.60k|					                                        net->port, NULL,
 9095|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 9096|       |					                                        0, 0,
 9097|       |#endif
 9098|  2.60k|					                                        use_zero_crc, so_locked))) {
 9099|       |						/* error, we could not output */
 9100|      6|						SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error);
 9101|      6|						if (from_where == 0) {
  ------------------
  |  Branch (9101:11): [True: 0, False: 6]
  ------------------
 9102|      0|							SCTP_STAT_INCR(sctps_lowlevelerrusr);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9103|      0|						}
 9104|      6|						if (error == ENOBUFS) {
  ------------------
  |  Branch (9104:11): [True: 0, False: 6]
  ------------------
 9105|      0|							asoc->ifp_had_enobuf = 1;
 9106|      0|							SCTP_STAT_INCR(sctps_lowlevelerr);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9107|      0|						}
 9108|      6|						if (error == EHOSTUNREACH) {
  ------------------
  |  Branch (9108:11): [True: 1, False: 5]
  ------------------
 9109|       |							/*
 9110|       |							 * Destination went
 9111|       |							 * unreachable
 9112|       |							 * during this send
 9113|       |							 */
 9114|      1|							sctp_move_chunks_from_net(stcb, net);
 9115|      1|						}
 9116|      6|						asconf = 0;
 9117|      6|						*reason_code = 7;
 9118|      6|						break;
 9119|  2.59k|					} else {
 9120|  2.59k|						asoc->ifp_had_enobuf = 0;
 9121|  2.59k|					}
 9122|       |					/*
 9123|       |					 * increase the number we sent, if a
 9124|       |					 * cookie is sent we don't tell them
 9125|       |					 * any was sent out.
 9126|       |					 */
 9127|  2.59k|					outchain = endoutchain = NULL;
 9128|  2.59k|					auth = NULL;
 9129|  2.59k|					auth_offset = 0;
 9130|  2.59k|					asconf = 0;
 9131|  2.59k|					if (!no_out_cnt)
  ------------------
  |  Branch (9131:10): [True: 2.59k, False: 7]
  ------------------
 9132|  2.59k|						*num_out += ctl_cnt;
 9133|       |					/* recalc a clean slate and setup */
 9134|  2.59k|					switch (net->ro._l_addr.sa.sa_family) {
 9135|      0|#ifdef INET
 9136|      0|						case AF_INET:
  ------------------
  |  Branch (9136:7): [True: 0, False: 2.59k]
  ------------------
 9137|      0|							mtu = net->mtu - SCTP_MIN_V4_OVERHEAD;
  ------------------
  |  |  588|      0|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|      0|                              sizeof(struct sctphdr))
  ------------------
 9138|      0|							break;
 9139|      0|#endif
 9140|      0|#ifdef INET6
 9141|      0|						case AF_INET6:
  ------------------
  |  Branch (9141:7): [True: 0, False: 2.59k]
  ------------------
 9142|      0|							mtu = net->mtu - SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|      0|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|      0|                           sizeof(struct sctphdr))
  ------------------
 9143|      0|							break;
 9144|      0|#endif
 9145|      0|#if defined(__Userspace__)
 9146|  2.59k|						case AF_CONN:
  ------------------
  |  | 1008|  2.59k|#define AF_CONN 123
  ------------------
  |  Branch (9146:7): [True: 2.59k, False: 0]
  ------------------
 9147|  2.59k|							mtu = net->mtu - sizeof(struct sctphdr);
 9148|  2.59k|							break;
 9149|      0|#endif
 9150|      0|						default:
  ------------------
  |  Branch (9150:7): [True: 0, False: 2.59k]
  ------------------
 9151|       |							/* TSNH */
 9152|      0|							mtu = net->mtu;
 9153|      0|							break;
 9154|  2.59k|					}
 9155|  2.59k|					to_out = 0;
 9156|  2.59k|					no_fragmentflg = 1;
 9157|  2.59k|				}
 9158|   231k|			}
 9159|   285k|		}
 9160|  50.6k|		if (error != 0) {
  ------------------
  |  Branch (9160:7): [True: 6, False: 50.6k]
  ------------------
 9161|       |			/* try next net */
 9162|      6|			continue;
 9163|      6|		}
 9164|       |		/* JRI: if dest is in PF state, do not send data to it */
 9165|  50.6k|		if ((asoc->sctp_cmt_on_off > 0) &&
  ------------------
  |  Branch (9165:7): [True: 0, False: 50.6k]
  ------------------
 9166|  50.6k|		    (net != stcb->asoc.alternate) &&
  ------------------
  |  Branch (9166:7): [True: 0, False: 0]
  ------------------
 9167|  50.6k|		    (net->dest_state & SCTP_ADDR_PF)) {
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (9167:7): [True: 0, False: 0]
  ------------------
 9168|      0|			goto no_data_fill;
 9169|      0|		}
 9170|  50.6k|		if (net->flight_size >= net->cwnd) {
  ------------------
  |  Branch (9170:7): [True: 0, False: 50.6k]
  ------------------
 9171|      0|			goto no_data_fill;
 9172|      0|		}
 9173|  50.6k|		if ((asoc->sctp_cmt_on_off > 0) &&
  ------------------
  |  Branch (9173:7): [True: 0, False: 50.6k]
  ------------------
 9174|  50.6k|		    (SCTP_BASE_SYSCTL(sctp_buffer_splitting) & SCTP_RECV_BUFFER_SPLITTING) &&
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		    (SCTP_BASE_SYSCTL(sctp_buffer_splitting) & SCTP_RECV_BUFFER_SPLITTING) &&
  ------------------
  |  |  943|      0|#define SCTP_RECV_BUFFER_SPLITTING 0x00000002
  ------------------
  |  Branch (9174:7): [True: 0, False: 0]
  ------------------
 9175|  50.6k|		    (net->flight_size > max_rwnd_per_dest)) {
  ------------------
  |  Branch (9175:7): [True: 0, False: 0]
  ------------------
 9176|      0|			goto no_data_fill;
 9177|      0|		}
 9178|       |		/*
 9179|       |		 * We need a specific accounting for the usage of the
 9180|       |		 * send buffer. We also need to check the number of messages
 9181|       |		 * per net. For now, this is better than nothing and it
 9182|       |		 * disabled by default...
 9183|       |		 */
 9184|  50.6k|		if ((asoc->sctp_cmt_on_off > 0) &&
  ------------------
  |  Branch (9184:7): [True: 0, False: 50.6k]
  ------------------
 9185|  50.6k|		    (SCTP_BASE_SYSCTL(sctp_buffer_splitting) & SCTP_SEND_BUFFER_SPLITTING) &&
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		    (SCTP_BASE_SYSCTL(sctp_buffer_splitting) & SCTP_SEND_BUFFER_SPLITTING) &&
  ------------------
  |  |  942|      0|#define SCTP_SEND_BUFFER_SPLITTING 0x00000001
  ------------------
  |  Branch (9185:7): [True: 0, False: 0]
  ------------------
 9186|  50.6k|		    (max_send_per_dest > 0) &&
  ------------------
  |  Branch (9186:7): [True: 0, False: 0]
  ------------------
 9187|  50.6k|		    (net->flight_size > max_send_per_dest)) {
  ------------------
  |  Branch (9187:7): [True: 0, False: 0]
  ------------------
 9188|      0|			goto no_data_fill;
 9189|      0|		}
 9190|       |		/*********************/
 9191|       |		/* Data transmission */
 9192|       |		/*********************/
 9193|       |		/*
 9194|       |		 * if AUTH for DATA is required and no AUTH has been added
 9195|       |		 * yet, account for this in the mtu now... if no data can be
 9196|       |		 * bundled, this adjustment won't matter anyways since the
 9197|       |		 * packet will be going out...
 9198|       |		 */
 9199|  50.6k|		data_auth_reqd = sctp_auth_is_required_chunk(SCTP_DATA,
  ------------------
  |  |  100|  50.6k|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:51): [True: 2.39k, False: 48.2k]
  |  |  ------------------
  ------------------
 9200|  50.6k|							     stcb->asoc.peer_auth_chunks);
 9201|  50.6k|		if (data_auth_reqd && (auth == NULL)) {
  ------------------
  |  Branch (9201:7): [True: 68, False: 50.5k]
  |  Branch (9201:25): [True: 57, False: 11]
  ------------------
 9202|     57|			mtu -= sctp_get_auth_chunk_len(stcb->asoc.peer_hmac_id);
 9203|     57|		}
 9204|       |		/* now lets add any data within the MTU constraints */
 9205|  50.6k|		switch (((struct sockaddr *)&net->ro._l_addr)->sa_family) {
 9206|      0|#ifdef INET
 9207|  6.56k|		case AF_INET:
  ------------------
  |  Branch (9207:3): [True: 6.56k, False: 44.0k]
  ------------------
 9208|  6.56k|			if (net->mtu > SCTP_MIN_V4_OVERHEAD)
  ------------------
  |  |  588|  6.56k|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|  6.56k|                              sizeof(struct sctphdr))
  ------------------
  |  Branch (9208:8): [True: 6.56k, False: 0]
  ------------------
 9209|  6.56k|				omtu = net->mtu - SCTP_MIN_V4_OVERHEAD;
  ------------------
  |  |  588|  6.56k|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|  6.56k|                              sizeof(struct sctphdr))
  ------------------
 9210|      0|			else
 9211|      0|				omtu = 0;
 9212|  6.56k|			break;
 9213|      0|#endif
 9214|      0|#ifdef INET6
 9215|  5.93k|		case AF_INET6:
  ------------------
  |  Branch (9215:3): [True: 5.93k, False: 44.6k]
  ------------------
 9216|  5.93k|			if (net->mtu > SCTP_MIN_OVERHEAD)
  ------------------
  |  |  564|  5.93k|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|  5.93k|                           sizeof(struct sctphdr))
  ------------------
  |  Branch (9216:8): [True: 5.93k, False: 0]
  ------------------
 9217|  5.93k|				omtu = net->mtu - SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|  5.93k|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|  5.93k|                           sizeof(struct sctphdr))
  ------------------
 9218|      0|			else
 9219|      0|				omtu = 0;
 9220|  5.93k|			break;
 9221|      0|#endif
 9222|      0|#if defined(__Userspace__)
 9223|  38.1k|		case AF_CONN:
  ------------------
  |  | 1008|  38.1k|#define AF_CONN 123
  ------------------
  |  Branch (9223:3): [True: 38.1k, False: 12.5k]
  ------------------
 9224|  38.1k|			if (net->mtu > sizeof(struct sctphdr)) {
  ------------------
  |  Branch (9224:8): [True: 38.1k, False: 0]
  ------------------
 9225|  38.1k|				omtu = net->mtu - sizeof(struct sctphdr);
 9226|  38.1k|			} else {
 9227|      0|				omtu = 0;
 9228|      0|			}
 9229|  38.1k|			break;
 9230|      0|#endif
 9231|      0|		default:
  ------------------
  |  Branch (9231:3): [True: 0, False: 50.6k]
  ------------------
 9232|       |			/* TSNH */
 9233|      0|			omtu = 0;
 9234|      0|			break;
 9235|  50.6k|		}
 9236|  50.6k|		if ((((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  472|  50.6k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  50.6k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if ((((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  459|  50.6k|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (9236:9): [True: 21.3k, False: 29.2k]
  ------------------
 9237|  50.6k|		      (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) &&
  ------------------
  |  |  472|  29.2k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  29.2k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		      (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) &&
  ------------------
  |  |  461|  29.2k|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (9237:9): [True: 79, False: 29.2k]
  ------------------
 9238|  50.6k|		     (skip_data_for_this_net == 0)) ||
  ------------------
  |  Branch (9238:8): [True: 15.8k, False: 5.54k]
  ------------------
 9239|  50.6k|		    (cookie)) {
  ------------------
  |  Branch (9239:7): [True: 9.05k, False: 25.6k]
  ------------------
 9240|  24.9k|			TAILQ_FOREACH_SAFE(chk, &asoc->send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|  24.9k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  30.5k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 5.59k, False: 24.9k]
  |  |  |  Branch (1124:24): [True: 5.59k, False: 0]
  |  |  ------------------
  |  | 1125|  24.9k|              (var) = (tvar))
  ------------------
 9241|  5.59k|				if (no_data_chunks) {
  ------------------
  |  Branch (9241:9): [True: 0, False: 5.59k]
  ------------------
 9242|       |					/* let only control go out */
 9243|      0|					*reason_code = 1;
 9244|      0|					break;
 9245|      0|				}
 9246|  5.59k|				if (net->flight_size >= net->cwnd) {
  ------------------
  |  Branch (9246:9): [True: 0, False: 5.59k]
  ------------------
 9247|       |					/* skip this net, no room for data */
 9248|      0|					*reason_code = 2;
 9249|      0|					break;
 9250|      0|				}
 9251|  5.59k|				if ((chk->whoTo != NULL) &&
  ------------------
  |  Branch (9251:9): [True: 0, False: 5.59k]
  ------------------
 9252|  5.59k|				    (chk->whoTo != net)) {
  ------------------
  |  Branch (9252:9): [True: 0, False: 0]
  ------------------
 9253|       |					/* Don't send the chunk on this net */
 9254|      0|					continue;
 9255|      0|				}
 9256|       |
 9257|  5.59k|				if (asoc->sctp_cmt_on_off == 0) {
  ------------------
  |  Branch (9257:9): [True: 5.59k, False: 0]
  ------------------
 9258|  5.59k|					if ((asoc->alternate) &&
  ------------------
  |  Branch (9258:10): [True: 385, False: 5.21k]
  ------------------
 9259|  5.59k|					    (asoc->alternate != net) &&
  ------------------
  |  Branch (9259:10): [True: 314, False: 71]
  ------------------
 9260|  5.59k|					    (chk->whoTo == NULL)) {
  ------------------
  |  Branch (9260:10): [True: 314, False: 0]
  ------------------
 9261|    314|						continue;
 9262|  5.28k|					} else if ((net != asoc->primary_destination) &&
  ------------------
  |  Branch (9262:17): [True: 868, False: 4.41k]
  ------------------
 9263|  5.28k|						   (asoc->alternate == NULL) &&
  ------------------
  |  Branch (9263:10): [True: 797, False: 71]
  ------------------
 9264|  5.28k|						   (chk->whoTo == NULL)) {
  ------------------
  |  Branch (9264:10): [True: 797, False: 0]
  ------------------
 9265|    797|						continue;
 9266|    797|					}
 9267|  5.59k|				}
 9268|  4.48k|				if ((chk->send_size > omtu) && ((chk->flags & CHUNK_FLAGS_FRAGMENT_OK) == 0)) {
  ------------------
  |  |  481|      0|#define CHUNK_FLAGS_FRAGMENT_OK	        0x0100
  ------------------
  |  Branch (9268:9): [True: 0, False: 4.48k]
  |  Branch (9268:36): [True: 0, False: 0]
  ------------------
 9269|       |					/*-
 9270|       |					 * strange, we have a chunk that is
 9271|       |					 * to big for its destination and
 9272|       |					 * yet no fragment ok flag.
 9273|       |					 * Something went wrong when the
 9274|       |					 * PMTU changed...we did not mark
 9275|       |					 * this chunk for some reason?? I
 9276|       |					 * will fix it here by letting IP
 9277|       |					 * fragment it for now and printing
 9278|       |					 * a warning. This really should not
 9279|       |					 * happen ...
 9280|       |					 */
 9281|      0|					SCTP_PRINTF("Warning chunk of %d bytes > mtu:%d and yet PMTU disc missed\n",
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 9282|      0|						    chk->send_size, mtu);
 9283|      0|					chk->flags |= CHUNK_FLAGS_FRAGMENT_OK;
  ------------------
  |  |  481|      0|#define CHUNK_FLAGS_FRAGMENT_OK	        0x0100
  ------------------
 9284|      0|				}
 9285|  4.48k|				if (SCTP_BASE_SYSCTL(sctp_enable_sack_immediately) &&
  ------------------
  |  |  584|  8.97k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 4.48k, False: 0]
  |  |  ------------------
  ------------------
 9286|  4.48k|				    (asoc->state & SCTP_STATE_SHUTDOWN_PENDING)) {
  ------------------
  |  |  463|  4.48k|#define SCTP_STATE_SHUTDOWN_PENDING	0x0080
  ------------------
  |  Branch (9286:9): [True: 0, False: 4.48k]
  ------------------
 9287|      0|					struct sctp_data_chunk *dchkh;
 9288|       |
 9289|      0|					dchkh = mtod(chk->data, struct sctp_data_chunk *);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 9290|      0|					dchkh->ch.chunk_flags |= SCTP_DATA_SACK_IMMEDIATELY;
  ------------------
  |  |  519|      0|#define SCTP_DATA_SACK_IMMEDIATELY 0x08
  ------------------
 9291|      0|				}
 9292|  4.48k|				if (((chk->send_size <= mtu) && (chk->send_size <= r_mtu)) ||
  ------------------
  |  Branch (9292:10): [True: 4.47k, False: 10]
  |  Branch (9292:37): [True: 4.47k, False: 0]
  ------------------
 9293|  4.48k|				    ((chk->flags & CHUNK_FLAGS_FRAGMENT_OK) && (chk->send_size <= asoc->peers_rwnd))) {
  ------------------
  |  |  481|     10|#define CHUNK_FLAGS_FRAGMENT_OK	        0x0100
  ------------------
  |  Branch (9293:10): [True: 0, False: 10]
  |  Branch (9293:52): [True: 0, False: 0]
  ------------------
 9294|       |					/* ok we will add this one */
 9295|       |
 9296|       |					/*
 9297|       |					 * Add an AUTH chunk, if chunk
 9298|       |					 * requires it, save the offset into
 9299|       |					 * the chain for AUTH
 9300|       |					 */
 9301|  4.47k|					if (data_auth_reqd) {
  ------------------
  |  Branch (9301:10): [True: 23, False: 4.45k]
  ------------------
 9302|     23|						if (auth == NULL) {
  ------------------
  |  Branch (9302:11): [True: 18, False: 5]
  ------------------
 9303|     18|							outchain = sctp_add_auth_chunk(outchain,
 9304|     18|										       &endoutchain,
 9305|     18|										       &auth,
 9306|     18|										       &auth_offset,
 9307|     18|										       stcb,
 9308|     18|										       SCTP_DATA);
  ------------------
  |  |  457|     18|#define SCTP_DATA		0x00
  ------------------
 9309|     18|							auth_keyid = chk->auth_keyid;
 9310|     18|							override_ok = 0;
 9311|     18|							SCTP_STAT_INCR_COUNTER64(sctps_outcontrolchunks);
  ------------------
  |  | 1128|     18|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|     18|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|     18|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|     18|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9312|     18|						} else if (override_ok) {
  ------------------
  |  Branch (9312:18): [True: 5, False: 0]
  ------------------
 9313|       |							/* use this data's keyid */
 9314|      5|							auth_keyid = chk->auth_keyid;
 9315|      5|							override_ok = 0;
 9316|      5|						} else if (auth_keyid != chk->auth_keyid) {
  ------------------
  |  Branch (9316:18): [True: 0, False: 0]
  ------------------
 9317|       |							/* different keyid, so done bundling */
 9318|      0|							break;
 9319|      0|						}
 9320|     23|					}
 9321|  4.47k|					outchain = sctp_copy_mbufchain(chk->data, outchain, &endoutchain, 0,
 9322|  4.47k|								       chk->send_size, chk->copy_by_ref);
 9323|  4.47k|					if (outchain == NULL) {
  ------------------
  |  Branch (9323:10): [True: 0, False: 4.47k]
  ------------------
 9324|      0|						SCTPDBG(SCTP_DEBUG_OUTPUT3, "No memory?\n");
 9325|      0|						if (!SCTP_OS_TIMER_PENDING(&net->rxt_timer.timer)) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  ------------------
  |  Branch (9325:11): [True: 0, False: 0]
  ------------------
 9326|      0|							sctp_timer_start(SCTP_TIMER_TYPE_SEND, inp, stcb, net);
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 9327|      0|						}
 9328|      0|						*reason_code = 3;
 9329|      0|						SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
 9330|      0|						return (ENOMEM);
 9331|      0|					}
 9332|       |					/* update our MTU size */
 9333|       |					/* Do clear IP_DF ? */
 9334|  4.47k|					if (chk->flags & CHUNK_FLAGS_FRAGMENT_OK) {
  ------------------
  |  |  481|  4.47k|#define CHUNK_FLAGS_FRAGMENT_OK	        0x0100
  ------------------
  |  Branch (9334:10): [True: 0, False: 4.47k]
  ------------------
 9335|      0|						no_fragmentflg = 0;
 9336|      0|					}
 9337|       |					/* unsigned subtraction of mtu */
 9338|  4.47k|					if (mtu > chk->send_size)
  ------------------
  |  Branch (9338:10): [True: 4.47k, False: 3]
  ------------------
 9339|  4.47k|						mtu -= chk->send_size;
 9340|      3|					else
 9341|      3|						mtu = 0;
 9342|       |					/* unsigned subtraction of r_mtu */
 9343|  4.47k|					if (r_mtu > chk->send_size)
  ------------------
  |  Branch (9343:10): [True: 4.47k, False: 0]
  ------------------
 9344|  4.47k|						r_mtu -= chk->send_size;
 9345|      0|					else
 9346|      0|						r_mtu = 0;
 9347|       |
 9348|  4.47k|					to_out += chk->send_size;
 9349|  4.47k|					if ((to_out > mx_mtu) && no_fragmentflg) {
  ------------------
  |  Branch (9349:10): [True: 6, False: 4.47k]
  |  Branch (9349:31): [True: 0, False: 6]
  ------------------
 9350|      0|#ifdef INVARIANTS
 9351|      0|						panic("Exceeding mtu of %d out size is %d", mx_mtu, to_out);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 9352|       |#else
 9353|       |						SCTP_PRINTF("Exceeding mtu of %d out size is %d\n",
 9354|       |							    mx_mtu, to_out);
 9355|       |#endif
 9356|      0|					}
 9357|  4.47k|					chk->window_probe = 0;
 9358|  4.47k|					data_list[bundle_at++] = chk;
 9359|  4.47k|					if (bundle_at >= SCTP_MAX_DATA_BUNDLING) {
  ------------------
  |  |  876|  4.47k|#define SCTP_MAX_DATA_BUNDLING		256
  ------------------
  |  Branch (9359:10): [True: 0, False: 4.47k]
  ------------------
 9360|      0|						break;
 9361|      0|					}
 9362|  4.47k|					if (chk->sent == SCTP_DATAGRAM_UNSENT) {
  ------------------
  |  |  348|  4.47k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
  |  Branch (9362:10): [True: 4.47k, False: 0]
  ------------------
 9363|  4.47k|						if ((chk->rec.data.rcv_flags & SCTP_DATA_UNORDERED) == 0) {
  ------------------
  |  |  518|  4.47k|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (9363:11): [True: 4.47k, False: 0]
  ------------------
 9364|  4.47k|							SCTP_STAT_INCR_COUNTER64(sctps_outorderchunks);
  ------------------
  |  | 1128|  4.47k|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  4.47k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  4.47k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  4.47k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9365|  4.47k|						} else {
 9366|      0|							SCTP_STAT_INCR_COUNTER64(sctps_outunorderchunks);
  ------------------
  |  | 1128|      0|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9367|      0|						}
 9368|  4.47k|						if (((chk->rec.data.rcv_flags & SCTP_DATA_LAST_FRAG) == SCTP_DATA_LAST_FRAG) &&
  ------------------
  |  |  515|  4.47k|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
              						if (((chk->rec.data.rcv_flags & SCTP_DATA_LAST_FRAG) == SCTP_DATA_LAST_FRAG) &&
  ------------------
  |  |  515|  4.47k|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
  |  Branch (9368:11): [True: 4.47k, False: 0]
  ------------------
 9369|  4.47k|						    ((chk->rec.data.rcv_flags & SCTP_DATA_FIRST_FRAG) == 0))
  ------------------
  |  |  516|  4.47k|#define SCTP_DATA_FIRST_FRAG       0x02
  ------------------
  |  Branch (9369:11): [True: 0, False: 4.47k]
  ------------------
 9370|       |							/* Count number of user msg's that were fragmented
 9371|       |							 * we do this by counting when we see a LAST fragment
 9372|       |							 * only.
 9373|       |							 */
 9374|  4.47k|							SCTP_STAT_INCR_COUNTER64(sctps_fragusrmsgs);
  ------------------
  |  | 1128|  4.47k|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  4.47k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9375|  4.47k|					}
 9376|  4.47k|					if ((mtu == 0) || (r_mtu == 0) || (one_chunk)) {
  ------------------
  |  Branch (9376:10): [True: 3, False: 4.47k]
  |  Branch (9376:24): [True: 0, False: 4.47k]
  |  Branch (9376:40): [True: 0, False: 4.47k]
  ------------------
 9377|      3|						if ((one_chunk) && (stcb->asoc.total_flight == 0)) {
  ------------------
  |  Branch (9377:11): [True: 0, False: 3]
  |  Branch (9377:26): [True: 0, False: 0]
  ------------------
 9378|      0|							data_list[0]->window_probe = 1;
 9379|      0|							net->window_probe = 1;
 9380|      0|						}
 9381|      3|						break;
 9382|      3|					}
 9383|  4.47k|				} else {
 9384|       |					/*
 9385|       |					 * Must be sent in order of the
 9386|       |					 * TSN's (on a network)
 9387|       |					 */
 9388|     10|					break;
 9389|     10|				}
 9390|  4.48k|			}	/* for (chunk gather loop for this net) */
 9391|  24.9k|		}		/* if asoc.state OPEN */
 9392|  50.6k|	no_data_fill:
 9393|       |		/* Is there something to send for this destination? */
 9394|  50.6k|		if (outchain) {
  ------------------
  |  Branch (9394:7): [True: 26.8k, False: 23.8k]
  ------------------
 9395|  26.8k|			switch (asoc->snd_edmid) {
 9396|      0|			case SCTP_EDMID_LOWER_LAYER_DTLS:
  ------------------
  |  |  810|      0|#define SCTP_EDMID_LOWER_LAYER_DTLS 1
  ------------------
  |  Branch (9396:4): [True: 0, False: 26.8k]
  ------------------
 9397|      0|				use_zero_crc = true;
 9398|      0|				break;
 9399|  26.8k|			default:
  ------------------
  |  Branch (9399:4): [True: 26.8k, False: 0]
  ------------------
 9400|  26.8k|				use_zero_crc = false;
 9401|  26.8k|				break;
 9402|  26.8k|			}
 9403|       |			/* We may need to start a control timer or two */
 9404|  26.8k|			if (asconf) {
  ------------------
  |  Branch (9404:8): [True: 0, False: 26.8k]
  ------------------
 9405|      0|				sctp_timer_start(SCTP_TIMER_TYPE_ASCONF, inp,
  ------------------
  |  |  541|      0|#define SCTP_TIMER_TYPE_ASCONF		10
  ------------------
 9406|      0|						 stcb, net);
 9407|      0|				use_zero_crc = false;
 9408|       |				/*
 9409|       |				 * do NOT clear the asconf flag as it is used
 9410|       |				 * to do appropriate source address selection.
 9411|       |				 */
 9412|      0|			}
 9413|  26.8k|			if (cookie) {
  ------------------
  |  Branch (9413:8): [True: 9.05k, False: 17.7k]
  ------------------
 9414|  9.05k|				sctp_timer_start(SCTP_TIMER_TYPE_COOKIE, inp, stcb, net);
  ------------------
  |  |  537|  9.05k|#define SCTP_TIMER_TYPE_COOKIE		6
  ------------------
 9415|  9.05k|				use_zero_crc = false;
 9416|  9.05k|				cookie = 0;
 9417|  9.05k|			}
 9418|       |			/* must start a send timer if data is being sent */
 9419|  26.8k|			if (bundle_at && (!SCTP_OS_TIMER_PENDING(&net->rxt_timer.timer))) {
  ------------------
  |  |  102|  4.47k|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|  4.47k|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  ------------------
  |  Branch (9419:8): [True: 4.47k, False: 22.3k]
  |  Branch (9419:21): [True: 3.22k, False: 1.25k]
  ------------------
 9420|       |				/*
 9421|       |				 * no timer running on this destination
 9422|       |				 * restart it.
 9423|       |				 */
 9424|  3.22k|				sctp_timer_start(SCTP_TIMER_TYPE_SEND, inp, stcb, net);
  ------------------
  |  |  532|  3.22k|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 9425|  3.22k|			}
 9426|  26.8k|			if (bundle_at || hbflag) {
  ------------------
  |  Branch (9426:8): [True: 4.47k, False: 22.3k]
  |  Branch (9426:21): [True: 2.03k, False: 20.2k]
  ------------------
 9427|       |				/* For data/asconf and hb set time */
 9428|  6.50k|				if (*now_filled == 0) {
  ------------------
  |  Branch (9428:9): [True: 5.12k, False: 1.38k]
  ------------------
 9429|  5.12k|					(void)SCTP_GETTIME_TIMEVAL(now);
  ------------------
  |  |  991|  5.12k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 9430|  5.12k|					*now_filled = 1;
 9431|  5.12k|				}
 9432|  6.50k|				net->last_sent_time = *now;
 9433|  6.50k|			}
 9434|       |			/* Now send it, if there is anything to send :> */
 9435|  26.8k|			if ((error = sctp_lowlevel_chunk_output(inp,
  ------------------
  |  Branch (9435:8): [True: 2.27k, False: 24.5k]
  ------------------
 9436|  26.8k|			                                        stcb,
 9437|  26.8k|			                                        net,
 9438|  26.8k|			                                        (struct sockaddr *)&net->ro._l_addr,
 9439|  26.8k|			                                        outchain,
 9440|  26.8k|			                                        auth_offset,
 9441|  26.8k|			                                        auth,
 9442|  26.8k|			                                        auth_keyid,
 9443|  26.8k|			                                        no_fragmentflg,
 9444|  26.8k|			                                        bundle_at,
 9445|  26.8k|			                                        asconf,
 9446|  26.8k|			                                        inp->sctp_lport, stcb->rport,
  ------------------
  |  |  426|  26.8k|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|  26.8k|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|  26.8k|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9447|  26.8k|			                                        htonl(stcb->asoc.peer_vtag),
 9448|  26.8k|			                                        net->port, NULL,
 9449|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 9450|       |			                                        0, 0,
 9451|       |#endif
 9452|  26.8k|			                                        use_zero_crc,
 9453|  26.8k|			                                        so_locked))) {
 9454|       |				/* error, we could not output */
 9455|  2.27k|				SCTPDBG(SCTP_DEBUG_OUTPUT3, "Gak send error %d\n", error);
 9456|  2.27k|				if (from_where == 0) {
  ------------------
  |  Branch (9456:9): [True: 0, False: 2.27k]
  ------------------
 9457|      0|					SCTP_STAT_INCR(sctps_lowlevelerrusr);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9458|      0|				}
 9459|  2.27k|				if (error == ENOBUFS) {
  ------------------
  |  Branch (9459:9): [True: 0, False: 2.27k]
  ------------------
 9460|      0|					asoc->ifp_had_enobuf = 1;
 9461|      0|					SCTP_STAT_INCR(sctps_lowlevelerr);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9462|      0|				}
 9463|  2.27k|				if (error == EHOSTUNREACH) {
  ------------------
  |  Branch (9463:9): [True: 1.65k, False: 620]
  ------------------
 9464|       |					/*
 9465|       |					 * Destination went unreachable
 9466|       |					 * during this send
 9467|       |					 */
 9468|  1.65k|					sctp_move_chunks_from_net(stcb, net);
 9469|  1.65k|				}
 9470|  2.27k|				asconf = 0;
 9471|  2.27k|				*reason_code = 6;
 9472|       |				/*-
 9473|       |				 * I add this line to be paranoid. As far as
 9474|       |				 * I can tell the continue, takes us back to
 9475|       |				 * the top of the for, but just to make sure
 9476|       |				 * I will reset these again here.
 9477|       |				 */
 9478|  2.27k|				ctl_cnt = 0;
 9479|  2.27k|				continue; /* This takes us back to the for() for the nets. */
 9480|  24.5k|			} else {
 9481|  24.5k|				asoc->ifp_had_enobuf = 0;
 9482|  24.5k|			}
 9483|  24.5k|			endoutchain = NULL;
 9484|  24.5k|			auth = NULL;
 9485|  24.5k|			auth_offset = 0;
 9486|  24.5k|			asconf = 0;
 9487|  24.5k|			if (!no_out_cnt) {
  ------------------
  |  Branch (9487:8): [True: 15.4k, False: 9.06k]
  ------------------
 9488|  15.4k|				*num_out += (ctl_cnt + bundle_at);
 9489|  15.4k|			}
 9490|  24.5k|			if (bundle_at) {
  ------------------
  |  Branch (9490:8): [True: 4.09k, False: 20.4k]
  ------------------
 9491|       |				/* setup for a RTO measurement */
 9492|  4.09k|				tsns_sent = data_list[0]->rec.data.tsn;
 9493|       |				/* fill time if not already filled */
 9494|  4.09k|				if (*now_filled == 0) {
  ------------------
  |  Branch (9494:9): [True: 0, False: 4.09k]
  ------------------
 9495|      0|					(void)SCTP_GETTIME_TIMEVAL(&asoc->time_last_sent);
  ------------------
  |  |  991|      0|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 9496|      0|					*now_filled = 1;
 9497|      0|					*now = asoc->time_last_sent;
 9498|  4.09k|				} else {
 9499|  4.09k|					asoc->time_last_sent = *now;
 9500|  4.09k|				}
 9501|  4.09k|				if (net->rto_needed) {
  ------------------
  |  Branch (9501:9): [True: 3.60k, False: 483]
  ------------------
 9502|  3.60k|					data_list[0]->do_rtt = 1;
 9503|  3.60k|					net->rto_needed = 0;
 9504|  3.60k|				}
 9505|  4.09k|				SCTP_STAT_INCR_BY(sctps_senddata, bundle_at);
  ------------------
  |  | 1123|  4.09k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  ------------------
  |  |  |  |   94|  4.09k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 9506|  4.09k|				sctp_clean_up_datalist(stcb, asoc, data_list, bundle_at, net);
 9507|  4.09k|			}
 9508|  24.5k|			if (one_chunk) {
  ------------------
  |  Branch (9508:8): [True: 71, False: 24.4k]
  ------------------
 9509|     71|				break;
 9510|     71|			}
 9511|  24.5k|		}
 9512|  48.2k|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|  48.2k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  648|  48.2k|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  |  Branch (9512:7): [True: 0, False: 48.2k]
  ------------------
 9513|      0|			sctp_log_cwnd(stcb, net, tsns_sent, SCTP_CWND_LOG_FROM_SEND);
  ------------------
  |  |  165|      0|#define SCTP_CWND_LOG_FROM_SEND     61
  ------------------
 9514|      0|		}
 9515|  48.2k|	}
 9516|  76.2k|	if (old_start_at == NULL) {
  ------------------
  |  Branch (9516:6): [True: 38.1k, False: 38.1k]
  ------------------
 9517|  38.1k|		old_start_at = start_at;
 9518|  38.1k|		start_at = TAILQ_FIRST(&asoc->nets);
 9519|  38.1k|		if (old_start_at)
  ------------------
  |  Branch (9519:7): [True: 38.1k, False: 0]
  ------------------
 9520|  38.1k|			goto again_one_more_time;
 9521|  38.1k|	}
 9522|       |
 9523|       |	/*
 9524|       |	 * At the end there should be no NON timed chunks hanging on this
 9525|       |	 * queue.
 9526|       |	 */
 9527|  38.1k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|  38.1k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_LOGGING_ENABLE) {
  ------------------
  |  |  648|  38.1k|#define SCTP_CWND_LOGGING_ENABLE			0x00000004
  ------------------
  |  Branch (9527:6): [True: 0, False: 38.1k]
  ------------------
 9528|      0|		sctp_log_cwnd(stcb, net, *num_out, SCTP_CWND_LOG_FROM_SEND);
  ------------------
  |  |  165|      0|#define SCTP_CWND_LOG_FROM_SEND     61
  ------------------
 9529|      0|	}
 9530|  38.1k|	if ((*num_out == 0) && (*reason_code == 0)) {
  ------------------
  |  Branch (9530:6): [True: 22.6k, False: 15.5k]
  |  Branch (9530:25): [True: 22.0k, False: 548]
  ------------------
 9531|  22.0k|		*reason_code = 4;
 9532|  22.0k|	} else {
 9533|  16.0k|		*reason_code = 5;
 9534|  16.0k|	}
 9535|  38.1k|	sctp_clean_up_ctl(stcb, asoc, so_locked);
 9536|  38.1k|	return (0);
 9537|  76.2k|}
sctp_output.c:sctp_fill_outqueue:
 8278|  6.36k|{
 8279|  6.36k|	struct sctp_association *asoc;
 8280|  6.36k|	struct sctp_stream_out *strq;
 8281|  6.36k|	uint32_t space_left, moved, total_moved;
 8282|  6.36k|	int bail, giveup;
 8283|       |
 8284|  6.36k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.36k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.36k|	do {                         \
  |  |  |  |  113|  6.36k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.36k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.36k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8285|  6.36k|	asoc = &stcb->asoc;
 8286|  6.36k|	total_moved = 0;
 8287|  6.36k|	switch (net->ro._l_addr.sa.sa_family) {
 8288|      0|#ifdef INET
 8289|      4|		case AF_INET:
  ------------------
  |  Branch (8289:3): [True: 4, False: 6.35k]
  ------------------
 8290|      4|			space_left = net->mtu - SCTP_MIN_V4_OVERHEAD;
  ------------------
  |  |  588|      4|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|      4|                              sizeof(struct sctphdr))
  ------------------
 8291|      4|			break;
 8292|      0|#endif
 8293|      0|#ifdef INET6
 8294|    777|		case AF_INET6:
  ------------------
  |  Branch (8294:3): [True: 777, False: 5.58k]
  ------------------
 8295|    777|			space_left = net->mtu - SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|    777|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|    777|                           sizeof(struct sctphdr))
  ------------------
 8296|    777|			break;
 8297|      0|#endif
 8298|      0|#if defined(__Userspace__)
 8299|  5.57k|		case AF_CONN:
  ------------------
  |  | 1008|  5.57k|#define AF_CONN 123
  ------------------
  |  Branch (8299:3): [True: 5.57k, False: 781]
  ------------------
 8300|  5.57k|			space_left = net->mtu - sizeof(struct sctphdr);
 8301|  5.57k|			break;
 8302|      0|#endif
 8303|      0|		default:
  ------------------
  |  Branch (8303:3): [True: 0, False: 6.36k]
  ------------------
 8304|       |			/* TSNH */
 8305|      0|			space_left = net->mtu;
 8306|      0|			break;
 8307|  6.36k|	}
 8308|       |	/* Need an allowance for the data chunk header too */
 8309|  6.36k|	space_left -= SCTP_DATA_CHUNK_OVERHEAD(stcb);
  ------------------
  |  |  134|  6.36k|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 4.75k, False: 1.60k]
  |  |  ------------------
  |  |  135|  6.36k|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|  6.36k|                                        sizeof(struct sctp_data_chunk))
  ------------------
 8310|       |
 8311|       |	/* must make even word boundary */
 8312|  6.36k|	space_left &= 0xfffffffc;
 8313|  6.36k|	strq = stcb->asoc.ss_functions.sctp_ss_select_stream(stcb, net, asoc);
 8314|  6.36k|	giveup = 0;
 8315|  6.36k|	bail = 0;
 8316|  11.9k|	while ((space_left > 0) && (strq != NULL)) {
  ------------------
  |  Branch (8316:9): [True: 11.9k, False: 0]
  |  Branch (8316:29): [True: 5.57k, False: 6.36k]
  ------------------
 8317|  5.57k|		moved = sctp_move_to_outqueue(stcb, net, strq, space_left,
 8318|  5.57k|		                              frag_point, &giveup, eeor_mode,
 8319|  5.57k|		                              &bail, so_locked);
 8320|  5.57k|		if ((giveup != 0) || (bail != 0)) {
  ------------------
  |  Branch (8320:7): [True: 0, False: 5.57k]
  |  Branch (8320:24): [True: 0, False: 5.57k]
  ------------------
 8321|      0|			break;
 8322|      0|		}
 8323|  5.57k|		strq = stcb->asoc.ss_functions.sctp_ss_select_stream(stcb, net, asoc);
 8324|  5.57k|		total_moved += moved;
 8325|  5.57k|		if (space_left >= moved) {
  ------------------
  |  Branch (8325:7): [True: 5.57k, False: 0]
  ------------------
 8326|  5.57k|			space_left -= moved;
 8327|  5.57k|		} else {
 8328|      0|			space_left = 0;
 8329|      0|		}
 8330|  5.57k|		if (space_left >= SCTP_DATA_CHUNK_OVERHEAD(stcb)) {
  ------------------
  |  |  134|  5.57k|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 3.97k, False: 1.60k]
  |  |  ------------------
  |  |  135|  5.57k|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|  5.57k|                                        sizeof(struct sctp_data_chunk))
  ------------------
  |  Branch (8330:7): [True: 5.57k, False: 0]
  ------------------
 8331|  5.57k|			space_left -= SCTP_DATA_CHUNK_OVERHEAD(stcb);
  ------------------
  |  |  134|  5.57k|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 3.97k, False: 1.60k]
  |  |  ------------------
  |  |  135|  5.57k|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|  5.57k|                                        sizeof(struct sctp_data_chunk))
  ------------------
 8332|  5.57k|		} else {
 8333|      0|			space_left = 0;
 8334|      0|		}
 8335|  5.57k|		space_left &= 0xfffffffc;
 8336|  5.57k|	}
 8337|  6.36k|	if (bail != 0)
  ------------------
  |  Branch (8337:6): [True: 0, False: 6.36k]
  ------------------
 8338|      0|		*quit_now = 1;
 8339|       |
 8340|  6.36k|	stcb->asoc.ss_functions.sctp_ss_packet_done(stcb, net, asoc);
 8341|       |
 8342|  6.36k|	if (total_moved == 0) {
  ------------------
  |  Branch (8342:6): [True: 781, False: 5.57k]
  ------------------
 8343|    781|		if ((stcb->asoc.sctp_cmt_on_off == 0) &&
  ------------------
  |  Branch (8343:7): [True: 781, False: 0]
  ------------------
 8344|    781|		    (net == stcb->asoc.primary_destination)) {
  ------------------
  |  Branch (8344:7): [True: 18, False: 763]
  ------------------
 8345|       |			/* ran dry for primary network net */
 8346|     18|			SCTP_STAT_INCR(sctps_primary_randry);
  ------------------
  |  | 1112|     18|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|     18|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|     18|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8347|    763|		} else if (stcb->asoc.sctp_cmt_on_off > 0) {
  ------------------
  |  Branch (8347:14): [True: 0, False: 763]
  ------------------
 8348|       |			/* ran dry with CMT on */
 8349|      0|			SCTP_STAT_INCR(sctps_cmt_randry);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8350|      0|		}
 8351|    781|	}
 8352|  6.36k|}
sctp_output.c:sctp_move_to_outqueue:
 7815|  5.57k|{
 7816|       |	/* Move from the stream to the send_queue keeping track of the total */
 7817|  5.57k|	struct sctp_association *asoc;
 7818|  5.57k|	struct sctp_stream_queue_pending *sp;
 7819|  5.57k|	struct sctp_tmit_chunk *chk;
 7820|  5.57k|	struct sctp_data_chunk *dchkh=NULL;
 7821|  5.57k|	struct sctp_idata_chunk *ndchkh=NULL;
 7822|  5.57k|	uint32_t to_move, length;
 7823|  5.57k|	int leading;
 7824|  5.57k|	uint8_t rcv_flags = 0;
 7825|  5.57k|	uint8_t some_taken;
 7826|       |
 7827|  5.57k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  5.57k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  5.57k|	do {                         \
  |  |  |  |  113|  5.57k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 5.57k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  5.57k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7828|  5.57k|	asoc = &stcb->asoc;
 7829|  5.57k|one_more_time:
 7830|       |	/*sa_ignore FREED_MEMORY*/
 7831|  5.57k|	sp = TAILQ_FIRST(&strq->outqueue);
 7832|  5.57k|	if (sp == NULL) {
  ------------------
  |  Branch (7832:6): [True: 0, False: 5.57k]
  ------------------
 7833|      0|		sp = TAILQ_FIRST(&strq->outqueue);
 7834|      0|		if (sp) {
  ------------------
  |  Branch (7834:7): [True: 0, False: 0]
  ------------------
 7835|      0|			goto one_more_time;
 7836|      0|		}
 7837|      0|		if ((sctp_is_feature_on(stcb->sctp_ep, SCTP_PCB_FLAGS_EXPLICIT_EOR) == 0) &&
  ------------------
  |  |   52|      0|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (7837:7): [True: 0, False: 0]
  ------------------
 7838|      0|		    (stcb->asoc.idata_supported == 0) &&
  ------------------
  |  Branch (7838:7): [True: 0, False: 0]
  ------------------
 7839|      0|		    (strq->last_msg_incomplete)) {
  ------------------
  |  Branch (7839:7): [True: 0, False: 0]
  ------------------
 7840|      0|			SCTP_PRINTF("Huh? Stream:%d lm_in_c=%d but queue is NULL\n",
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 7841|      0|			            strq->sid,
 7842|      0|			            strq->last_msg_incomplete);
 7843|      0|			strq->last_msg_incomplete = 0;
 7844|      0|		}
 7845|      0|		to_move = 0;
 7846|      0|		goto out_of;
 7847|      0|	}
 7848|  5.57k|	if ((sp->msg_is_complete) && (sp->length == 0)) {
  ------------------
  |  Branch (7848:6): [True: 5.57k, False: 0]
  |  Branch (7848:31): [True: 0, False: 5.57k]
  ------------------
 7849|      0|		if (sp->sender_all_done) {
  ------------------
  |  Branch (7849:7): [True: 0, False: 0]
  ------------------
 7850|       |			/* We are doing deferred cleanup. Last
 7851|       |			 * time through when we took all the data
 7852|       |			 * the sender_all_done was not set.
 7853|       |			 */
 7854|      0|			if ((sp->put_last_out == 0) && (sp->discard_rest == 0)) {
  ------------------
  |  Branch (7854:8): [True: 0, False: 0]
  |  Branch (7854:35): [True: 0, False: 0]
  ------------------
 7855|      0|				SCTP_PRINTF("Gak, put out entire msg with NO end!-1\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 7856|      0|				SCTP_PRINTF("sender_done:%d len:%d msg_comp:%d put_last_out:%d\n",
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 7857|      0|				            sp->sender_all_done,
 7858|      0|				            sp->length,
 7859|      0|				            sp->msg_is_complete,
 7860|      0|				            sp->put_last_out);
 7861|      0|			}
 7862|      0|			atomic_subtract_int(&asoc->stream_queue_cnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 7863|      0|			TAILQ_REMOVE(&strq->outqueue, sp, next);
 7864|      0|			stcb->asoc.ss_functions.sctp_ss_remove_from_stream(stcb, asoc, strq, sp);
 7865|      0|			if ((strq->state == SCTP_STREAM_RESET_PENDING) &&
  ------------------
  |  |  671|      0|#define SCTP_STREAM_RESET_PENDING    0x03
  ------------------
  |  Branch (7865:8): [True: 0, False: 0]
  ------------------
 7866|      0|			    (strq->chunks_on_queues == 0) &&
  ------------------
  |  Branch (7866:8): [True: 0, False: 0]
  ------------------
 7867|      0|			    TAILQ_EMPTY(&strq->outqueue)) {
 7868|      0|				stcb->asoc.trigger_reset = 1;
 7869|      0|			}
 7870|      0|			if (sp->net) {
  ------------------
  |  Branch (7870:8): [True: 0, False: 0]
  ------------------
 7871|      0|				sctp_free_remote_addr(sp->net);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 7872|      0|				sp->net = NULL;
 7873|      0|			}
 7874|      0|			if (sp->data) {
  ------------------
  |  Branch (7874:8): [True: 0, False: 0]
  ------------------
 7875|      0|				sctp_m_freem(sp->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 7876|      0|				sp->data = NULL;
 7877|      0|			}
 7878|      0|			sctp_free_a_strmoq(stcb, sp, so_locked);
  ------------------
  |  |  125|      0|#define sctp_free_a_strmoq(_stcb, _strmoq, _so_locked) { \
  |  |  126|      0|	if ((_strmoq)->holds_key_ref) { \
  |  |  ------------------
  |  |  |  Branch (126:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  127|      0|		sctp_auth_key_release(stcb, sp->auth_keyid, _so_locked); \
  |  |  128|      0|		(_strmoq)->holds_key_ref = 0; \
  |  |  129|      0|	} \
  |  |  130|      0|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_strmoq), (_strmoq)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  131|      0|	SCTP_DECR_STRMOQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  691|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_strmoq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  132|      0|}
  ------------------
 7879|       |			/* back to get the next msg */
 7880|      0|			goto one_more_time;
 7881|      0|		} else {
 7882|       |			/* sender just finished this but
 7883|       |			 * still holds a reference
 7884|       |			 */
 7885|      0|			*giveup = 1;
 7886|      0|			to_move = 0;
 7887|      0|			goto out_of;
 7888|      0|		}
 7889|  5.57k|	} else {
 7890|       |		/* is there some to get */
 7891|  5.57k|		if (sp->length == 0) {
  ------------------
  |  Branch (7891:7): [True: 0, False: 5.57k]
  ------------------
 7892|       |			/* no */
 7893|      0|			*giveup = 1;
 7894|      0|			to_move = 0;
 7895|      0|			goto out_of;
 7896|  5.57k|		} else if (sp->discard_rest) {
  ------------------
  |  Branch (7896:14): [True: 0, False: 5.57k]
  ------------------
 7897|       |			/* Whack down the size */
 7898|      0|			atomic_subtract_int(&stcb->asoc.total_output_queue_size, sp->length);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 7899|      0|			if ((stcb->sctp_socket != NULL) &&
  ------------------
  |  Branch (7899:8): [True: 0, False: 0]
  ------------------
 7900|      0|			    ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7900:9): [True: 0, False: 0]
  ------------------
 7901|      0|			     (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) {
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7901:9): [True: 0, False: 0]
  ------------------
 7902|      0|				SCTP_SB_DECR(&stcb->sctp_socket->so_snd, sp->length);
  ------------------
  |  |  967|      0|#define SCTP_SB_DECR(sb, decr)					\
  |  |  968|      0|{								\
  |  |  969|      0|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_cc, (int)(decr));	\
  |  |  ------------------
  |  |  |  |  117|      0|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|      0|{ \
  |  |  |  |  119|      0|	int32_t oldval; \
  |  |  |  |  120|      0|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|      0|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|      0|}
  |  |  ------------------
  |  |  970|      0|}
  ------------------
 7903|      0|			}
 7904|      0|			if (sp->data) {
  ------------------
  |  Branch (7904:8): [True: 0, False: 0]
  ------------------
 7905|      0|				sctp_m_freem(sp->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 7906|      0|				sp->data = NULL;
 7907|      0|				sp->tail_mbuf = NULL;
 7908|      0|			}
 7909|      0|			sp->length = 0;
 7910|      0|			sp->some_taken = 1;
 7911|      0|			*giveup = 1;
 7912|      0|			to_move = 0;
 7913|      0|			goto out_of;
 7914|      0|		}
 7915|  5.57k|	}
 7916|  5.57k|	some_taken = sp->some_taken;
 7917|  5.57k|	length = sp->length;
 7918|  5.57k|	if (sp->msg_is_complete) {
  ------------------
  |  Branch (7918:6): [True: 5.57k, False: 0]
  ------------------
 7919|       |		/* The message is complete */
 7920|  5.57k|		to_move = min(length, frag_point);
  ------------------
  |  |   66|  5.57k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 5.57k]
  |  |  ------------------
  ------------------
 7921|  5.57k|		if (to_move == length) {
  ------------------
  |  Branch (7921:7): [True: 5.57k, False: 0]
  ------------------
 7922|       |			/* All of it fits in the MTU */
 7923|  5.57k|			if (sp->some_taken) {
  ------------------
  |  Branch (7923:8): [True: 0, False: 5.57k]
  ------------------
 7924|      0|				rcv_flags |= SCTP_DATA_LAST_FRAG;
  ------------------
  |  |  515|      0|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
 7925|  5.57k|			} else {
 7926|  5.57k|				rcv_flags |= SCTP_DATA_NOT_FRAG;
  ------------------
  |  |  517|  5.57k|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
 7927|  5.57k|			}
 7928|  5.57k|			sp->put_last_out = 1;
 7929|  5.57k|			if (sp->sinfo_flags & SCTP_SACK_IMMEDIATELY) {
  ------------------
  |  |  263|  5.57k|#define SCTP_SACK_IMMEDIATELY 0x4000 /* Set I-Bit */
  ------------------
  |  Branch (7929:8): [True: 0, False: 5.57k]
  ------------------
 7930|      0|				rcv_flags |= SCTP_DATA_SACK_IMMEDIATELY;
  ------------------
  |  |  519|      0|#define SCTP_DATA_SACK_IMMEDIATELY 0x08
  ------------------
 7931|      0|			}
 7932|  5.57k|		} else {
 7933|       |			/* Not all of it fits, we fragment */
 7934|      0|			if (sp->some_taken == 0) {
  ------------------
  |  Branch (7934:8): [True: 0, False: 0]
  ------------------
 7935|      0|				rcv_flags |= SCTP_DATA_FIRST_FRAG;
  ------------------
  |  |  516|      0|#define SCTP_DATA_FIRST_FRAG       0x02
  ------------------
 7936|      0|			}
 7937|      0|			sp->some_taken = 1;
 7938|      0|		}
 7939|  5.57k|	} else {
 7940|      0|		to_move = sctp_can_we_split_this(stcb, length, space_left, frag_point, eeor_mode);
 7941|      0|		if (to_move > 0) {
  ------------------
  |  Branch (7941:7): [True: 0, False: 0]
  ------------------
 7942|      0|			if (to_move >= length) {
  ------------------
  |  Branch (7942:8): [True: 0, False: 0]
  ------------------
 7943|      0|				to_move = length;
 7944|      0|			}
 7945|      0|			if (sp->some_taken == 0) {
  ------------------
  |  Branch (7945:8): [True: 0, False: 0]
  ------------------
 7946|      0|				rcv_flags |= SCTP_DATA_FIRST_FRAG;
  ------------------
  |  |  516|      0|#define SCTP_DATA_FIRST_FRAG       0x02
  ------------------
 7947|      0|				sp->some_taken = 1;
 7948|      0|			}
 7949|      0|		} else {
 7950|       |			/* Nothing to take. */
 7951|      0|			*giveup = 1;
 7952|      0|			to_move = 0;
 7953|      0|			goto out_of;
 7954|      0|		}
 7955|      0|	}
 7956|       |
 7957|       |	/* If we reach here, we can copy out a chunk */
 7958|  5.57k|	sctp_alloc_a_chunk(stcb, chk);
  ------------------
  |  |  169|  5.57k|#define sctp_alloc_a_chunk(_stcb, _chk) { \
  |  |  170|  5.57k|	if (TAILQ_EMPTY(&(_stcb)->asoc.free_chunks)) { \
  |  |  171|  2.37k|		(_chk) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_chunk), struct sctp_tmit_chunk); \
  |  |  ------------------
  |  |  |  |  697|  2.37k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  172|  2.37k|		if ((_chk)) { \
  |  |  ------------------
  |  |  |  Branch (172:7): [True: 2.37k, False: 0]
  |  |  ------------------
  |  |  173|  2.37k|			SCTP_INCR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  676|  2.37k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  2.37k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  174|  2.37k|			(_chk)->whoTo = NULL; \
  |  |  175|  2.37k|			(_chk)->holds_key_ref = 0; \
  |  |  176|  2.37k|		} \
  |  |  177|  3.20k|	} else { \
  |  |  178|  3.20k|		(_chk) = TAILQ_FIRST(&(_stcb)->asoc.free_chunks); \
  |  |  179|  3.20k|		TAILQ_REMOVE(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  180|  3.20k|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   97|  3.20k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  181|  3.20k|		(_chk)->holds_key_ref = 0; \
  |  |  182|  3.20k|		SCTP_STAT_INCR(sctps_cached_chk); \
  |  |  ------------------
  |  |  |  | 1112|  3.20k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  3.20k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  3.20k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  183|  3.20k|		(_stcb)->asoc.free_chunk_cnt--; \
  |  |  184|  3.20k|	} \
  |  |  185|  5.57k|}
  ------------------
 7959|  5.57k|	if (chk == NULL) {
  ------------------
  |  Branch (7959:6): [True: 0, False: 5.57k]
  ------------------
 7960|       |		/* No chunk memory */
 7961|      0|		*giveup = 1;
 7962|      0|		to_move = 0;
 7963|      0|		goto out_of;
 7964|      0|	}
 7965|       |	/* Setup for unordered if needed by looking
 7966|       |	 * at the user sent info flags.
 7967|       |	 */
 7968|  5.57k|	if (sp->sinfo_flags & SCTP_UNORDERED) {
  ------------------
  |  |  259|  5.57k|#define SCTP_UNORDERED        0x0400 /* Message is un-ordered */
  ------------------
  |  Branch (7968:6): [True: 0, False: 5.57k]
  ------------------
 7969|      0|		rcv_flags |= SCTP_DATA_UNORDERED;
  ------------------
  |  |  518|      0|#define SCTP_DATA_UNORDERED        0x04
  ------------------
 7970|      0|	}
 7971|  5.57k|	if (SCTP_BASE_SYSCTL(sctp_enable_sack_immediately) &&
  ------------------
  |  |  584|  11.1k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 5.57k, False: 0]
  |  |  ------------------
  ------------------
 7972|  5.57k|	    (sp->sinfo_flags & SCTP_EOF) == SCTP_EOF) {
  ------------------
  |  |  257|  5.57k|#define SCTP_EOF              0x0100 /* Start shutdown procedures */
  ------------------
              	    (sp->sinfo_flags & SCTP_EOF) == SCTP_EOF) {
  ------------------
  |  |  257|  5.57k|#define SCTP_EOF              0x0100 /* Start shutdown procedures */
  ------------------
  |  Branch (7972:6): [True: 0, False: 5.57k]
  ------------------
 7973|      0|		rcv_flags |= SCTP_DATA_SACK_IMMEDIATELY;
  ------------------
  |  |  519|      0|#define SCTP_DATA_SACK_IMMEDIATELY 0x08
  ------------------
 7974|      0|	}
 7975|       |	/* clear out the chunk before setting up */
 7976|  5.57k|	memset(chk, 0, sizeof(*chk));
 7977|  5.57k|	chk->rec.data.rcv_flags = rcv_flags;
 7978|       |
 7979|  5.57k|	if (to_move >= length) {
  ------------------
  |  Branch (7979:6): [True: 5.57k, False: 0]
  ------------------
 7980|       |		/* we think we can steal the whole thing */
 7981|  5.57k|		if (to_move < sp->length) {
  ------------------
  |  Branch (7981:7): [True: 0, False: 5.57k]
  ------------------
 7982|       |			/* bail, it changed */
 7983|      0|			goto dont_do_it;
 7984|      0|		}
 7985|  5.57k|		chk->data = sp->data;
 7986|  5.57k|		chk->last_mbuf = sp->tail_mbuf;
 7987|       |		/* register the stealing */
 7988|  5.57k|		sp->data = sp->tail_mbuf = NULL;
 7989|  5.57k|	} else {
 7990|      0|		struct mbuf *m;
 7991|      0|	dont_do_it:
 7992|      0|		chk->data = SCTP_M_COPYM(sp->data, 0, to_move, M_NOWAIT);
  ------------------
  |  |  764|      0|#define SCTP_M_COPYM	m_copym
  ------------------
              		chk->data = SCTP_M_COPYM(sp->data, 0, to_move, M_NOWAIT);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 7993|      0|		chk->last_mbuf = NULL;
 7994|      0|		if (chk->data == NULL) {
  ------------------
  |  Branch (7994:7): [True: 0, False: 0]
  ------------------
 7995|      0|			sp->some_taken = some_taken;
 7996|      0|			sctp_free_a_chunk(stcb, chk, so_locked);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
 7997|      0|			*bail = 1;
 7998|      0|			to_move = 0;
 7999|      0|			goto out_of;
 8000|      0|		}
 8001|       |#ifdef SCTP_MBUF_LOGGING
 8002|       |		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MBUF_LOGGING_ENABLE) {
 8003|       |			sctp_log_mbc(chk->data, SCTP_MBUF_ICOPY);
 8004|       |		}
 8005|       |#endif
 8006|       |		/* Pull off the data */
 8007|      0|		m_adj(sp->data, to_move);
 8008|       |		/* Now lets work our way down and compact it */
 8009|      0|		m = sp->data;
 8010|      0|		while (m && (SCTP_BUF_LEN(m) == 0)) {
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (8010:10): [True: 0, False: 0]
  |  Branch (8010:15): [True: 0, False: 0]
  ------------------
 8011|      0|			sp->data = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 8012|      0|			SCTP_BUF_NEXT(m) = NULL;
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 8013|      0|			if (sp->tail_mbuf == m) {
  ------------------
  |  Branch (8013:8): [True: 0, False: 0]
  ------------------
 8014|       |				/*-
 8015|       |				 * Freeing tail? TSNH since
 8016|       |				 * we supposedly were taking less
 8017|       |				 * than the sp->length.
 8018|       |				 */
 8019|      0|#ifdef INVARIANTS
 8020|      0|				panic("Huh, freeing tail? - TSNH");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 8021|       |#else
 8022|       |				SCTP_PRINTF("Huh, freeing tail? - TSNH\n");
 8023|       |				sp->tail_mbuf = sp->data = NULL;
 8024|       |				sp->length = 0;
 8025|       |#endif
 8026|      0|			}
 8027|      0|			sctp_m_free(m);
  ------------------
  |  |   51|      0|#define sctp_m_free m_free
  ------------------
 8028|      0|			m = sp->data;
 8029|      0|		}
 8030|      0|	}
 8031|  5.57k|	if (SCTP_BUF_IS_EXTENDED(chk->data)) {
  ------------------
  |  |  800|  5.57k|#define SCTP_BUF_IS_EXTENDED(m) (m->m_flags & M_EXT)
  |  |  ------------------
  |  |  |  |  221|  5.57k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               #define SCTP_BUF_IS_EXTENDED(m) (m->m_flags & M_EXT)
  |  |  ------------------
  |  |  |  |  233|  5.57k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (800:33): [True: 0, False: 5.57k]
  |  |  ------------------
  ------------------
 8032|      0|		chk->copy_by_ref = 1;
 8033|  5.57k|	} else {
 8034|  5.57k|		chk->copy_by_ref = 0;
 8035|  5.57k|	}
 8036|       |	/* get last_mbuf and counts of mb usage
 8037|       |	 * This is ugly but hopefully its only one mbuf.
 8038|       |	 */
 8039|  5.57k|	if (chk->last_mbuf == NULL) {
  ------------------
  |  Branch (8039:6): [True: 0, False: 5.57k]
  ------------------
 8040|      0|		chk->last_mbuf = chk->data;
 8041|      0|		while (SCTP_BUF_NEXT(chk->last_mbuf) != NULL) {
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (8041:10): [True: 0, False: 0]
  ------------------
 8042|      0|			chk->last_mbuf = SCTP_BUF_NEXT(chk->last_mbuf);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 8043|      0|		}
 8044|      0|	}
 8045|       |
 8046|  5.57k|	if (to_move > length) {
  ------------------
  |  Branch (8046:6): [True: 0, False: 5.57k]
  ------------------
 8047|       |		/*- This should not happen either
 8048|       |		 * since we always lower to_move to the size
 8049|       |		 * of sp->length if its larger.
 8050|       |		 */
 8051|      0|#ifdef INVARIANTS
 8052|      0|		panic("Huh, how can to_move be larger?");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 8053|       |#else
 8054|       |		SCTP_PRINTF("Huh, how can to_move be larger?\n");
 8055|       |		sp->length = 0;
 8056|       |#endif
 8057|  5.57k|	} else {
 8058|  5.57k|		atomic_subtract_int(&sp->length, to_move);
  ------------------
  |  |   97|  5.57k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 8059|  5.57k|	}
 8060|  5.57k|	leading = SCTP_DATA_CHUNK_OVERHEAD(stcb);
  ------------------
  |  |  134|  5.57k|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 3.97k, False: 1.60k]
  |  |  ------------------
  |  |  135|  5.57k|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|  5.57k|                                        sizeof(struct sctp_data_chunk))
  ------------------
 8061|  5.57k|	if (M_LEADINGSPACE(chk->data) < leading) {
  ------------------
  |  |  343|  5.57k|	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  221|  5.57k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  233|  5.57k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (343:3): [True: 0, False: 5.57k]
  |  |  ------------------
  |  |  344|  5.57k|	    (M_WRITABLE(m) ? (m)->m_data - (m)->m_ext.ext_buf : 0):	\
  |  |  ------------------
  |  |  |  |  326|      0|#define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               #define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  236|      0|#define	M_RDONLY	0x0008	/* associated data is marked read-only */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (326:24): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  327|      0|			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  233|      0|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (327:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  328|      0|			 (*((m)->m_ext.ref_cnt) == 1)) )		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  225|      0|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (328:5): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_data - (m)->m_ext.ext_buf : 0):	\
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_data - (m)->m_ext.ext_buf : 0):	\
  |  |  ------------------
  |  |  |  |  225|      0|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |  345|  5.57k|	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  ------------------
  |  |  |  |  221|  5.57k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  ------------------
  |  |  |  |  234|  5.57k|#define	M_PKTHDR	0x0002	/* start of record */
  |  |  ------------------
  |  |               	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  ------------------
  |  |  |  |  226|      0|#define	m_pktdat	M_dat.MH.MH_dat.MH_databuf
  |  |  ------------------
  |  |  |  Branch (345:6): [True: 0, False: 5.57k]
  |  |  ------------------
  |  |  346|  5.57k|	    (m)->m_data - (m)->m_dat)
  |  |  ------------------
  |  |  |  |  219|  5.57k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	    (m)->m_data - (m)->m_dat)
  |  |  ------------------
  |  |  |  |  227|  5.57k|#define	m_dat		M_dat.M_databuf
  |  |  ------------------
  ------------------
  |  Branch (8061:6): [True: 0, False: 5.57k]
  ------------------
 8062|       |		/* Not enough room for a chunk header, get some */
 8063|      0|		struct mbuf *m;
 8064|       |
 8065|      0|		m = sctp_get_mbuf_for_msg(1, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		m = sctp_get_mbuf_for_msg(1, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|      0|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 8066|      0|		if (m == NULL) {
  ------------------
  |  Branch (8066:7): [True: 0, False: 0]
  ------------------
 8067|       |			/*
 8068|       |			 * we're in trouble here. _PREPEND below will free
 8069|       |			 * all the data if there is no leading space, so we
 8070|       |			 * must put the data back and restore.
 8071|       |			 */
 8072|      0|			if (sp->data == NULL) {
  ------------------
  |  Branch (8072:8): [True: 0, False: 0]
  ------------------
 8073|       |				/* unsteal the data */
 8074|      0|				sp->data = chk->data;
 8075|      0|				sp->tail_mbuf = chk->last_mbuf;
 8076|      0|			} else {
 8077|      0|				struct mbuf *m_tmp;
 8078|       |				/* reassemble the data */
 8079|      0|				m_tmp = sp->data;
 8080|      0|				sp->data = chk->data;
 8081|      0|				SCTP_BUF_NEXT(chk->last_mbuf) = m_tmp;
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 8082|      0|			}
 8083|      0|			sp->some_taken = some_taken;
 8084|      0|			atomic_add_int(&sp->length, to_move);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 8085|      0|			chk->data = NULL;
 8086|      0|			*bail = 1;
 8087|      0|			sctp_free_a_chunk(stcb, chk, so_locked);
  ------------------
  |  |  143|      0|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|      0|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|      0|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  149|      0|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|      0|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|      0|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  155|      0|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  156|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  157|      0|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|      0|		} else { \
  |  |  159|      0|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|      0|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|      0|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|      0|		} \
  |  |  163|      0|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|      0|}
  ------------------
 8088|      0|			to_move = 0;
 8089|      0|			goto out_of;
 8090|      0|		} else {
 8091|      0|			SCTP_BUF_LEN(m) = 0;
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 8092|      0|			SCTP_BUF_NEXT(m) = chk->data;
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 8093|      0|			chk->data = m;
 8094|      0|			M_ALIGN(chk->data, 4);
  ------------------
  |  |  387|      0|#define	M_ALIGN(m, len) do {						\
  |  |  388|      0|        KASSERT(!((m)->m_flags & (M_PKTHDR|M_EXT)),                     \
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  389|      0|                ("%s: M_ALIGN not normal mbuf", __func__));             \
  |  |  390|      0|        KASSERT((m)->m_data == (m)->m_dat,                              \
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  391|      0|                ("%s: M_ALIGN not a virgin mbuf", __func__));           \
  |  |  392|      0|	(m)->m_data += (MLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	(m)->m_data += (MLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  ------------------
  |  |  |  |  138|      0|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|      0|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  393|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (393:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 8095|      0|		}
 8096|      0|	}
 8097|  5.57k|	SCTP_BUF_PREPEND(chk->data, SCTP_DATA_CHUNK_OVERHEAD(stcb), M_NOWAIT);
  ------------------
  |  |  804|  5.57k|#define SCTP_BUF_PREPEND	M_PREPEND
  |  |  ------------------
  |  |  |  |  367|  5.57k|#define	M_PREPEND(m, plen, how) do {					\
  |  |  |  |  368|  5.57k|	struct mbuf **_mmp = &(m);					\
  |  |  |  |  369|  5.57k|	struct mbuf *_mm = *_mmp;					\
  |  |  |  |  370|  11.1k|	int _mplen = (plen);						\
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (370:16): [True: 3.97k, False: 1.60k]
  |  |  |  |  ------------------
  |  |  |  |  371|  5.57k|	int __mhow = (how);						\
  |  |  |  |  372|  5.57k|									\
  |  |  |  |  373|  5.57k|	if (M_LEADINGSPACE(_mm) >= _mplen) {				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  343|  5.57k|	(((m)->m_flags & M_EXT) ?					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  221|  5.57k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	(((m)->m_flags & M_EXT) ?					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  233|  5.57k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (343:3): [True: 0, False: 5.57k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  344|  5.57k|	    (M_WRITABLE(m) ? (m)->m_data - (m)->m_ext.ext_buf : 0):	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  326|      0|#define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  236|      0|#define	M_RDONLY	0x0008	/* associated data is marked read-only */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (326:24): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  327|      0|			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  233|      0|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (327:6): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  328|      0|			 (*((m)->m_ext.ref_cnt) == 1)) )		\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  225|      0|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (328:5): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    (M_WRITABLE(m) ? (m)->m_data - (m)->m_ext.ext_buf : 0):	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    (M_WRITABLE(m) ? (m)->m_data - (m)->m_ext.ext_buf : 0):	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  225|      0|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  345|  5.57k|	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  221|  5.57k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  234|  5.57k|#define	M_PKTHDR	0x0002	/* start of record */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    ((m)->m_flags & M_PKTHDR)? (m)->m_data - (m)->m_pktdat :	\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  226|      0|#define	m_pktdat	M_dat.MH.MH_dat.MH_databuf
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (345:6): [True: 0, False: 5.57k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  346|  5.57k|	    (m)->m_data - (m)->m_dat)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  219|  5.57k|#define	m_data		m_hdr.mh_data
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               	    (m)->m_data - (m)->m_dat)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  227|  5.57k|#define	m_dat		M_dat.M_databuf
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (373:6): [True: 5.57k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  374|  5.57k|		_mm->m_data -= _mplen;					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  219|  5.57k|#define	m_data		m_hdr.mh_data
  |  |  |  |  ------------------
  |  |  |  |  375|  5.57k|		_mm->m_len += _mplen;					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  218|  5.57k|#define	m_len		m_hdr.mh_len
  |  |  |  |  ------------------
  |  |  |  |  376|  5.57k|	} else								\
  |  |  |  |  377|  5.57k|		_mm = m_prepend(_mm, _mplen, __mhow);			\
  |  |  |  |  378|  5.57k|	if (_mm != NULL && _mm->m_flags & M_PKTHDR)			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|  5.57k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               	if (_mm != NULL && _mm->m_flags & M_PKTHDR)			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  234|  5.57k|#define	M_PKTHDR	0x0002	/* start of record */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (378:6): [True: 5.57k, False: 0]
  |  |  |  |  |  Branch (378:21): [True: 0, False: 5.57k]
  |  |  |  |  ------------------
  |  |  |  |  379|  5.57k|		_mm->m_pkthdr.len += _mplen;				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  224|      0|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  |  |  |  |  ------------------
  |  |  |  |  380|  5.57k|	*_mmp = _mm;							\
  |  |  |  |  381|  5.57k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (381:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8098|  5.57k|	if (chk->data == NULL) {
  ------------------
  |  Branch (8098:6): [True: 0, False: 5.57k]
  ------------------
 8099|       |		/* HELP, TSNH since we assured it would not above? */
 8100|      0|#ifdef INVARIANTS
 8101|      0|		panic("prepend fails HELP?");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 8102|       |#else
 8103|       |		SCTP_PRINTF("prepend fails HELP?\n");
 8104|       |		sctp_free_a_chunk(stcb, chk, so_locked);
 8105|       |#endif
 8106|      0|		*bail = 1;
 8107|      0|		to_move = 0;
 8108|      0|		goto out_of;
 8109|      0|	}
 8110|  5.57k|	sctp_snd_sb_alloc(stcb, SCTP_DATA_CHUNK_OVERHEAD(stcb));
  ------------------
  |  |  285|  5.57k|#define sctp_snd_sb_alloc(stcb, sz)  \
  |  |  286|  5.57k|do { \
  |  |  287|  5.57k|	atomic_add_int(&stcb->asoc.total_output_queue_size,sz); \
  |  |  ------------------
  |  |  |  |   94|  11.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:62): [True: 3.97k, False: 1.60k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  288|  5.57k|	if ((stcb->sctp_socket != NULL) && \
  |  |  ------------------
  |  |  |  Branch (288:6): [True: 5.57k, False: 0]
  |  |  ------------------
  |  |  289|  5.57k|	    ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || \
  |  |  ------------------
  |  |  |  |  532|  5.57k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (289:7): [True: 5.57k, False: 0]
  |  |  ------------------
  |  |  290|  5.57k|	     (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (290:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  291|  5.57k|		SCTP_SB_INCR(&stcb->sctp_socket->so_snd, sz); \
  |  |  ------------------
  |  |  |  |  963|  5.57k|#define SCTP_SB_INCR(sb, incr)			\
  |  |  |  |  964|  5.57k|{						\
  |  |  |  |  965|  5.57k|	atomic_add_int(&(sb)->sb_cc, incr);	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  11.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:62): [True: 3.97k, False: 1.60k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  966|  5.57k|}
  |  |  ------------------
  |  |  292|  5.57k|	} \
  |  |  293|  5.57k|} while (0)
  |  |  ------------------
  |  |  |  Branch (293:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 8111|  5.57k|	chk->book_size = chk->send_size = (uint16_t)(to_move + SCTP_DATA_CHUNK_OVERHEAD(stcb));
  ------------------
  |  |  134|  5.57k|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 3.97k, False: 1.60k]
  |  |  ------------------
  |  |  135|  5.57k|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|  5.57k|                                        sizeof(struct sctp_data_chunk))
  ------------------
 8112|  5.57k|	chk->book_size_scale = 0;
 8113|  5.57k|	chk->sent = SCTP_DATAGRAM_UNSENT;
  ------------------
  |  |  348|  5.57k|#define SCTP_DATAGRAM_UNSENT		0
  ------------------
 8114|       |
 8115|  5.57k|	chk->flags = 0;
 8116|  5.57k|	chk->asoc = &stcb->asoc;
 8117|  5.57k|	chk->pad_inplace = 0;
 8118|  5.57k|	chk->no_fr_allowed = 0;
 8119|  5.57k|	if (stcb->asoc.idata_supported == 0) {
  ------------------
  |  Branch (8119:6): [True: 1.60k, False: 3.97k]
  ------------------
 8120|  1.60k|		if (rcv_flags & SCTP_DATA_UNORDERED) {
  ------------------
  |  |  518|  1.60k|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (8120:7): [True: 0, False: 1.60k]
  ------------------
 8121|       |			/* Just use 0. The receiver ignores the values. */
 8122|      0|			chk->rec.data.mid = 0;
 8123|  1.60k|		} else {
 8124|  1.60k|			chk->rec.data.mid = strq->next_mid_ordered;
 8125|  1.60k|			if (rcv_flags & SCTP_DATA_LAST_FRAG) {
  ------------------
  |  |  515|  1.60k|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
  |  Branch (8125:8): [True: 1.60k, False: 0]
  ------------------
 8126|  1.60k|				strq->next_mid_ordered++;
 8127|  1.60k|			}
 8128|  1.60k|		}
 8129|  3.97k|	} else {
 8130|  3.97k|		if (rcv_flags & SCTP_DATA_UNORDERED) {
  ------------------
  |  |  518|  3.97k|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (8130:7): [True: 0, False: 3.97k]
  ------------------
 8131|      0|			chk->rec.data.mid = strq->next_mid_unordered;
 8132|      0|			if (rcv_flags & SCTP_DATA_LAST_FRAG) {
  ------------------
  |  |  515|      0|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
  |  Branch (8132:8): [True: 0, False: 0]
  ------------------
 8133|      0|				strq->next_mid_unordered++;
 8134|      0|			}
 8135|  3.97k|		} else {
 8136|  3.97k|			chk->rec.data.mid = strq->next_mid_ordered;
 8137|  3.97k|			if (rcv_flags & SCTP_DATA_LAST_FRAG) {
  ------------------
  |  |  515|  3.97k|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
  |  Branch (8137:8): [True: 3.97k, False: 0]
  ------------------
 8138|  3.97k|				strq->next_mid_ordered++;
 8139|  3.97k|			}
 8140|  3.97k|		}
 8141|  3.97k|	}
 8142|  5.57k|	chk->rec.data.sid = sp->sid;
 8143|  5.57k|	chk->rec.data.ppid = sp->ppid;
 8144|  5.57k|	chk->rec.data.context = sp->context;
 8145|  5.57k|	chk->rec.data.doing_fast_retransmit = 0;
 8146|       |
 8147|  5.57k|	chk->rec.data.timetodrop = sp->ts;
 8148|  5.57k|	chk->flags = sp->act_flags;
 8149|       |
 8150|  5.57k|	if (sp->net) {
  ------------------
  |  Branch (8150:6): [True: 0, False: 5.57k]
  ------------------
 8151|      0|		chk->whoTo = sp->net;
 8152|      0|		atomic_add_int(&chk->whoTo->ref_count, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 8153|      0|	} else
 8154|  5.57k|		chk->whoTo = NULL;
 8155|       |
 8156|  5.57k|	if (sp->holds_key_ref) {
  ------------------
  |  Branch (8156:6): [True: 0, False: 5.57k]
  ------------------
 8157|      0|		chk->auth_keyid = sp->auth_keyid;
 8158|      0|		sctp_auth_key_acquire(stcb, chk->auth_keyid);
 8159|      0|		chk->holds_key_ref = 1;
 8160|      0|	}
 8161|  5.57k|	stcb->asoc.ss_functions.sctp_ss_scheduled(stcb, net, asoc, strq, to_move);
 8162|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 8163|       |	chk->rec.data.tsn = atomic_fetchadd_int(&asoc->sending_seq, 1);
 8164|       |#else
 8165|  5.57k|	chk->rec.data.tsn = asoc->sending_seq++;
 8166|  5.57k|#endif
 8167|  5.57k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_AT_SEND_2_OUTQ) {
  ------------------
  |  |  584|  5.57k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_AT_SEND_2_OUTQ) {
  ------------------
  |  |  671|  5.57k|#define SCTP_LOG_AT_SEND_2_OUTQ				0x08000000
  ------------------
  |  Branch (8167:6): [True: 0, False: 5.57k]
  ------------------
 8168|      0|		sctp_misc_ints(SCTP_STRMOUT_LOG_SEND,
  ------------------
  |  |  210|      0|#define SCTP_STRMOUT_LOG_SEND	   106
  ------------------
 8169|      0|		               (uint32_t)(uintptr_t)stcb, sp->length,
 8170|      0|		               (uint32_t)((chk->rec.data.sid << 16) | (0x0000ffff & chk->rec.data.mid)),
 8171|      0|		               chk->rec.data.tsn);
 8172|      0|	}
 8173|  5.57k|	if (stcb->asoc.idata_supported == 0) {
  ------------------
  |  Branch (8173:6): [True: 1.60k, False: 3.97k]
  ------------------
 8174|  1.60k|		dchkh = mtod(chk->data, struct sctp_data_chunk *);
  ------------------
  |  |   96|  1.60k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  1.60k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 8175|  3.97k|	} else {
 8176|  3.97k|		ndchkh = mtod(chk->data, struct sctp_idata_chunk *);
  ------------------
  |  |   96|  3.97k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  3.97k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 8177|  3.97k|	}
 8178|       |	/*
 8179|       |	 * Put the rest of the things in place now. Size was done
 8180|       |	 * earlier in previous loop prior to padding.
 8181|       |	 */
 8182|       |
 8183|  5.57k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  5.57k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  5.57k|	do {                         \
  |  |  |  |  113|  5.57k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 5.57k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  5.57k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8184|       |#ifdef SCTP_ASOCLOG_OF_TSNS
 8185|       |	if (asoc->tsn_out_at >= SCTP_TSN_LOG_SIZE) {
 8186|       |		asoc->tsn_out_at = 0;
 8187|       |		asoc->tsn_out_wrapped = 1;
 8188|       |	}
 8189|       |	asoc->out_tsnlog[asoc->tsn_out_at].tsn = chk->rec.data.tsn;
 8190|       |	asoc->out_tsnlog[asoc->tsn_out_at].strm = chk->rec.data.sid;
 8191|       |	asoc->out_tsnlog[asoc->tsn_out_at].seq = chk->rec.data.mid;
 8192|       |	asoc->out_tsnlog[asoc->tsn_out_at].sz = chk->send_size;
 8193|       |	asoc->out_tsnlog[asoc->tsn_out_at].flgs = chk->rec.data.rcv_flags;
 8194|       |	asoc->out_tsnlog[asoc->tsn_out_at].stcb = (void *)stcb;
 8195|       |	asoc->out_tsnlog[asoc->tsn_out_at].in_pos = asoc->tsn_out_at;
 8196|       |	asoc->out_tsnlog[asoc->tsn_out_at].in_out = 2;
 8197|       |	asoc->tsn_out_at++;
 8198|       |#endif
 8199|  5.57k|	if (stcb->asoc.idata_supported == 0) {
  ------------------
  |  Branch (8199:6): [True: 1.60k, False: 3.97k]
  ------------------
 8200|  1.60k|		dchkh->ch.chunk_type = SCTP_DATA;
  ------------------
  |  |  457|  1.60k|#define SCTP_DATA		0x00
  ------------------
 8201|  1.60k|		dchkh->ch.chunk_flags = chk->rec.data.rcv_flags;
 8202|  1.60k|		dchkh->dp.tsn = htonl(chk->rec.data.tsn);
 8203|  1.60k|		dchkh->dp.sid = htons(strq->sid);
 8204|  1.60k|		dchkh->dp.ssn = htons((uint16_t)chk->rec.data.mid);
 8205|  1.60k|		dchkh->dp.ppid = chk->rec.data.ppid;
 8206|  1.60k|		dchkh->ch.chunk_length = htons(chk->send_size);
 8207|  3.97k|	} else {
 8208|  3.97k|		ndchkh->ch.chunk_type = SCTP_IDATA;
  ------------------
  |  |  477|  3.97k|#define SCTP_IDATA		0x40
  ------------------
 8209|  3.97k|		ndchkh->ch.chunk_flags = chk->rec.data.rcv_flags;
 8210|  3.97k|		ndchkh->dp.tsn = htonl(chk->rec.data.tsn);
 8211|  3.97k|		ndchkh->dp.sid = htons(strq->sid);
 8212|  3.97k|		ndchkh->dp.reserved = htons(0);
 8213|  3.97k|		ndchkh->dp.mid = htonl(chk->rec.data.mid);
 8214|  3.97k|		if (sp->fsn == 0)
  ------------------
  |  Branch (8214:7): [True: 3.97k, False: 0]
  ------------------
 8215|  3.97k|			ndchkh->dp.ppid_fsn.ppid = chk->rec.data.ppid;
 8216|      0|		else
 8217|      0|			ndchkh->dp.ppid_fsn.fsn = htonl(sp->fsn);
 8218|  3.97k|		sp->fsn++;
 8219|  3.97k|		ndchkh->ch.chunk_length = htons(chk->send_size);
 8220|  3.97k|	}
 8221|       |	/* Now advance the chk->send_size by the actual pad needed. */
 8222|  5.57k|	if (chk->send_size < SCTP_SIZE32(chk->book_size)) {
  ------------------
  |  |  383|  5.57k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  |  Branch (8222:6): [True: 5.57k, False: 0]
  ------------------
 8223|       |		/* need a pad */
 8224|  5.57k|		struct mbuf *lm;
 8225|  5.57k|		int pads;
 8226|       |
 8227|  5.57k|		pads = SCTP_SIZE32(chk->book_size) - chk->send_size;
  ------------------
  |  |  383|  5.57k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 8228|  5.57k|		lm = sctp_pad_lastmbuf(chk->data, pads, chk->last_mbuf);
 8229|  5.57k|		if (lm != NULL) {
  ------------------
  |  Branch (8229:7): [True: 5.57k, False: 0]
  ------------------
 8230|  5.57k|			chk->last_mbuf = lm;
 8231|  5.57k|			chk->pad_inplace = 1;
 8232|  5.57k|		}
 8233|  5.57k|		chk->send_size += pads;
 8234|  5.57k|	}
 8235|  5.57k|	if (PR_SCTP_ENABLED(chk->flags)) {
  ------------------
  |  |  281|  5.57k|#define PR_SCTP_ENABLED(x)        ((PR_SCTP_POLICY(x) != SCTP_PR_SCTP_NONE) && \
  |  |  ------------------
  |  |  |  |  280|  5.57k|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  |  |  ------------------
  |  |               #define PR_SCTP_ENABLED(x)        ((PR_SCTP_POLICY(x) != SCTP_PR_SCTP_NONE) && \
  |  |  ------------------
  |  |  |  |  272|  5.57k|#define SCTP_PR_SCTP_NONE 0x0000 /* Reliable transfer */
  |  |  ------------------
  |  |  |  Branch (281:36): [True: 0, False: 5.57k]
  |  |  ------------------
  |  |  282|  5.57k|                                   (PR_SCTP_POLICY(x) != SCTP_PR_SCTP_ALL))
  |  |  ------------------
  |  |  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  |  |  ------------------
  |  |                                                  (PR_SCTP_POLICY(x) != SCTP_PR_SCTP_ALL))
  |  |  ------------------
  |  |  |  |  278|      0|#define SCTP_PR_SCTP_ALL  0x000f /* Used for aggregated stats */
  |  |  ------------------
  |  |  |  Branch (282:36): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 8236|      0|		asoc->pr_sctp_cnt++;
 8237|      0|	}
 8238|  5.57k|	if (sp->msg_is_complete && (sp->length == 0) && (sp->sender_all_done)) {
  ------------------
  |  Branch (8238:6): [True: 5.57k, False: 0]
  |  Branch (8238:29): [True: 5.57k, False: 0]
  |  Branch (8238:50): [True: 5.57k, False: 0]
  ------------------
 8239|       |		/* All done pull and kill the message */
 8240|  5.57k|		if (sp->put_last_out == 0) {
  ------------------
  |  Branch (8240:7): [True: 0, False: 5.57k]
  ------------------
 8241|      0|			SCTP_PRINTF("Gak, put out entire msg with NO end!-2\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 8242|      0|			SCTP_PRINTF("sender_done:%d len:%d msg_comp:%d put_last_out:%d\n",
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 8243|      0|			            sp->sender_all_done,
 8244|      0|			            sp->length,
 8245|      0|			            sp->msg_is_complete,
 8246|      0|			            sp->put_last_out);
 8247|      0|		}
 8248|  5.57k|		atomic_subtract_int(&asoc->stream_queue_cnt, 1);
  ------------------
  |  |   97|  5.57k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 8249|  5.57k|		TAILQ_REMOVE(&strq->outqueue, sp, next);
 8250|  5.57k|		stcb->asoc.ss_functions.sctp_ss_remove_from_stream(stcb, asoc, strq, sp);
 8251|  5.57k|		if ((strq->state == SCTP_STREAM_RESET_PENDING) &&
  ------------------
  |  |  671|  5.57k|#define SCTP_STREAM_RESET_PENDING    0x03
  ------------------
  |  Branch (8251:7): [True: 74, False: 5.50k]
  ------------------
 8252|  5.57k|		    (strq->chunks_on_queues == 0) &&
  ------------------
  |  Branch (8252:7): [True: 74, False: 0]
  ------------------
 8253|  5.57k|		    TAILQ_EMPTY(&strq->outqueue)) {
 8254|     74|			stcb->asoc.trigger_reset = 1;
 8255|     74|		}
 8256|  5.57k|		if (sp->net) {
  ------------------
  |  Branch (8256:7): [True: 0, False: 5.57k]
  ------------------
 8257|      0|			sctp_free_remote_addr(sp->net);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 8258|      0|			sp->net = NULL;
 8259|      0|		}
 8260|  5.57k|		if (sp->data) {
  ------------------
  |  Branch (8260:7): [True: 0, False: 5.57k]
  ------------------
 8261|      0|			sctp_m_freem(sp->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 8262|      0|			sp->data = NULL;
 8263|      0|		}
 8264|  5.57k|		sctp_free_a_strmoq(stcb, sp, so_locked);
  ------------------
  |  |  125|  5.57k|#define sctp_free_a_strmoq(_stcb, _strmoq, _so_locked) { \
  |  |  126|  5.57k|	if ((_strmoq)->holds_key_ref) { \
  |  |  ------------------
  |  |  |  Branch (126:6): [True: 0, False: 5.57k]
  |  |  ------------------
  |  |  127|      0|		sctp_auth_key_release(stcb, sp->auth_keyid, _so_locked); \
  |  |  128|      0|		(_strmoq)->holds_key_ref = 0; \
  |  |  129|      0|	} \
  |  |  130|  5.57k|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_strmoq), (_strmoq)); \
  |  |  ------------------
  |  |  |  |  701|  5.57k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|  5.57k|	free(element);  \
  |  |  |  |  703|  5.57k|}
  |  |  ------------------
  |  |  131|  5.57k|	SCTP_DECR_STRMOQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  691|  5.57k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_strmoq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|  5.57k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  132|  5.57k|}
  ------------------
 8265|  5.57k|	}
 8266|  5.57k|	asoc->chunks_on_out_queue++;
 8267|  5.57k|	strq->chunks_on_queues++;
 8268|  5.57k|	TAILQ_INSERT_TAIL(&asoc->send_queue, chk, sctp_next);
 8269|  5.57k|	asoc->send_queue_cnt++;
 8270|  5.57k|out_of:
 8271|  5.57k|	return (to_move);
 8272|  5.57k|}
sctp_output.c:sctp_clean_up_datalist:
 7623|  4.09k|{
 7624|  4.09k|	int i;
 7625|  4.09k|	struct sctp_tmit_chunk *tp1;
 7626|       |
 7627|  8.18k|	for (i = 0; i < bundle_at; i++) {
  ------------------
  |  Branch (7627:14): [True: 4.09k, False: 4.09k]
  ------------------
 7628|       |		/* off of the send queue */
 7629|  4.09k|		TAILQ_REMOVE(&asoc->send_queue, data_list[i], sctp_next);
 7630|  4.09k|		asoc->send_queue_cnt--;
 7631|  4.09k|		if (i > 0) {
  ------------------
  |  Branch (7631:7): [True: 0, False: 4.09k]
  ------------------
 7632|       |			/*
 7633|       |			 * Any chunk NOT 0 you zap the time chunk 0 gets
 7634|       |			 * zapped or set based on if a RTO measurement is
 7635|       |			 * needed.
 7636|       |			 */
 7637|      0|			data_list[i]->do_rtt = 0;
 7638|      0|		}
 7639|       |		/* record time */
 7640|  4.09k|		data_list[i]->sent_rcv_time = net->last_sent_time;
 7641|  4.09k|		data_list[i]->rec.data.cwnd_at_send = net->cwnd;
 7642|  4.09k|		data_list[i]->rec.data.fast_retran_tsn = data_list[i]->rec.data.tsn;
 7643|  4.09k|		if (data_list[i]->whoTo == NULL) {
  ------------------
  |  Branch (7643:7): [True: 4.09k, False: 0]
  ------------------
 7644|  4.09k|			data_list[i]->whoTo = net;
 7645|  4.09k|			atomic_add_int(&net->ref_count, 1);
  ------------------
  |  |   94|  4.09k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 7646|  4.09k|		}
 7647|       |		/* on to the sent queue */
 7648|  4.09k|		tp1 = TAILQ_LAST(&asoc->sent_queue, sctpchunk_listhead);
 7649|  4.09k|		if ((tp1) && SCTP_TSN_GT(tp1->rec.data.tsn, data_list[i]->rec.data.tsn)) {
  ------------------
  |  |  889|    483|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|    483|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 483, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 483]
  |  |  |  |  ------------------
  |  |  |  |  884|    483|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 483]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (7649:7): [True: 483, False: 3.60k]
  ------------------
 7650|      0|			struct sctp_tmit_chunk *tpp;
 7651|       |
 7652|       |			/* need to move back */
 7653|      0|		back_up_more:
 7654|      0|			tpp = TAILQ_PREV(tp1, sctpchunk_listhead, sctp_next);
 7655|      0|			if (tpp == NULL) {
  ------------------
  |  Branch (7655:8): [True: 0, False: 0]
  ------------------
 7656|      0|				TAILQ_INSERT_BEFORE(tp1, data_list[i], sctp_next);
 7657|      0|				goto all_done;
 7658|      0|			}
 7659|      0|			tp1 = tpp;
 7660|      0|			if (SCTP_TSN_GT(tp1->rec.data.tsn, data_list[i]->rec.data.tsn)) {
  ------------------
  |  |  889|      0|#define SCTP_TSN_GT(a, b) SCTP_UINT32_GT(a, b)
  |  |  ------------------
  |  |  |  |  883|      0|#define SCTP_UINT32_GT(a, b) (((a < b) && ((uint32_t)(b - a) > (1U<<31))) || \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (883:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (883:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  884|      0|                              ((a > b) && ((uint32_t)(a - b) < (1U<<31))))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (884:32): [True: 0, False: 0]
  |  |  |  |  |  Branch (884:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7661|      0|				goto back_up_more;
 7662|      0|			}
 7663|      0|			TAILQ_INSERT_AFTER(&asoc->sent_queue, tp1, data_list[i], sctp_next);
 7664|  4.09k|		} else {
 7665|  4.09k|			TAILQ_INSERT_TAIL(&asoc->sent_queue,
 7666|  4.09k|					  data_list[i],
 7667|  4.09k|					  sctp_next);
 7668|  4.09k|		}
 7669|  4.09k|	all_done:
 7670|       |		/* This does not lower until the cum-ack passes it */
 7671|  4.09k|		asoc->sent_queue_cnt++;
 7672|  4.09k|		if ((asoc->peers_rwnd <= 0) &&
  ------------------
  |  Branch (7672:7): [True: 0, False: 4.09k]
  ------------------
 7673|  4.09k|		    (asoc->total_flight == 0) &&
  ------------------
  |  Branch (7673:7): [True: 0, False: 0]
  ------------------
 7674|  4.09k|		    (bundle_at == 1)) {
  ------------------
  |  Branch (7674:7): [True: 0, False: 0]
  ------------------
 7675|       |			/* Mark the chunk as being a window probe */
 7676|      0|			SCTP_STAT_INCR(sctps_windowprobed);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7677|      0|		}
 7678|       |#ifdef SCTP_AUDITING_ENABLED
 7679|       |		sctp_audit_log(0xC2, 3);
 7680|       |#endif
 7681|  4.09k|		data_list[i]->sent = SCTP_DATAGRAM_SENT;
  ------------------
  |  |  349|  4.09k|#define SCTP_DATAGRAM_SENT		1
  ------------------
 7682|  4.09k|		data_list[i]->snd_count = 1;
 7683|  4.09k|		data_list[i]->rec.data.chunk_was_revoked = 0;
 7684|  4.09k|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FLIGHT_LOGGING_ENABLE) {
  ------------------
  |  |  584|  4.09k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_FLIGHT_LOGGING_ENABLE) {
  ------------------
  |  |  649|  4.09k|#define SCTP_FLIGHT_LOGGING_ENABLE			0x00000020
  ------------------
  |  Branch (7684:7): [True: 0, False: 4.09k]
  ------------------
 7685|      0|			sctp_misc_ints(SCTP_FLIGHT_LOG_UP,
  ------------------
  |  |  212|      0|#define SCTP_FLIGHT_LOG_UP         108
  ------------------
 7686|      0|				       data_list[i]->whoTo->flight_size,
 7687|      0|				       data_list[i]->book_size,
 7688|      0|				       (uint32_t)(uintptr_t)data_list[i]->whoTo,
 7689|      0|				       data_list[i]->rec.data.tsn);
 7690|      0|		}
 7691|  4.09k|		sctp_flight_size_increase(data_list[i]);
  ------------------
  |  |  296|  4.09k|#define sctp_flight_size_increase(tp1) do { \
  |  |  297|  4.09k|	(tp1)->whoTo->flight_size += (tp1)->book_size; \
  |  |  298|  4.09k|} while (0)
  |  |  ------------------
  |  |  |  Branch (298:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 7692|  4.09k|		sctp_total_flight_increase(stcb, data_list[i]);
  ------------------
  |  |  350|  4.09k|#define sctp_total_flight_increase(stcb, tp1) do { \
  |  |  351|  4.09k|	(stcb)->asoc.total_flight_count++; \
  |  |  352|  4.09k|	(stcb)->asoc.total_flight += (tp1)->book_size; \
  |  |  353|  4.09k|} while (0)
  |  |  ------------------
  |  |  |  Branch (353:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 7693|  4.09k|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_RWND_ENABLE) {
  ------------------
  |  |  584|  4.09k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LOG_RWND_ENABLE) {
  ------------------
  |  |  664|  4.09k|#define SCTP_LOG_RWND_ENABLE    			0x00100000
  ------------------
  |  Branch (7693:7): [True: 0, False: 4.09k]
  ------------------
 7694|      0|			sctp_log_rwnd(SCTP_DECREASE_PEER_RWND,
  ------------------
  |  |  141|      0|#define SCTP_DECREASE_PEER_RWND     37
  ------------------
 7695|      0|			      asoc->peers_rwnd, data_list[i]->send_size, SCTP_BASE_SYSCTL(sctp_peer_chunk_oh));
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 7696|      0|		}
 7697|  4.09k|		asoc->peers_rwnd = sctp_sbspace_sub(asoc->peers_rwnd,
  ------------------
  |  |   93|  4.09k|#define sctp_sbspace_sub(a,b) (((a) > (b)) ? ((a) - (b)) : 0)
  |  |  ------------------
  |  |  |  Branch (93:32): [True: 4.09k, False: 0]
  |  |  ------------------
  ------------------
 7698|  4.09k|						    (uint32_t) (data_list[i]->send_size + SCTP_BASE_SYSCTL(sctp_peer_chunk_oh)));
 7699|  4.09k|		if (asoc->peers_rwnd < stcb->sctp_ep->sctp_ep.sctp_sws_sender) {
  ------------------
  |  Branch (7699:7): [True: 6, False: 4.08k]
  ------------------
 7700|       |			/* SWS sender side engages */
 7701|      6|			asoc->peers_rwnd = 0;
 7702|      6|		}
 7703|  4.09k|	}
 7704|  4.09k|	if (asoc->cc_functions.sctp_cwnd_update_packet_transmitted) {
  ------------------
  |  Branch (7704:6): [True: 0, False: 4.09k]
  ------------------
 7705|      0|		(*asoc->cc_functions.sctp_cwnd_update_packet_transmitted)(stcb, net);
 7706|      0|	}
 7707|  4.09k|}
sctp_output.c:sctp_clean_up_ctl:
 7711|  38.1k|{
 7712|  38.1k|	struct sctp_tmit_chunk *chk, *nchk;
 7713|       |
 7714|   303k|	TAILQ_FOREACH_SAFE(chk, &asoc->control_send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|  38.1k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|   341k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 303k, False: 38.1k]
  |  |  |  Branch (1124:24): [True: 303k, False: 0]
  |  |  ------------------
  |  | 1125|   303k|              (var) = (tvar))
  ------------------
 7715|   303k|		if ((chk->rec.chunk_id.id == SCTP_SELECTIVE_ACK) ||
  ------------------
  |  |  460|   303k|#define SCTP_SELECTIVE_ACK	0x03
  ------------------
  |  Branch (7715:7): [True: 6.21k, False: 297k]
  ------------------
 7716|   303k|		    (chk->rec.chunk_id.id == SCTP_NR_SELECTIVE_ACK) ||	/* EY */
  ------------------
  |  |  475|   297k|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
  |  Branch (7716:7): [True: 288, False: 297k]
  ------------------
 7717|   303k|		    (chk->rec.chunk_id.id == SCTP_HEARTBEAT_REQUEST) ||
  ------------------
  |  |  461|   297k|#define SCTP_HEARTBEAT_REQUEST	0x04
  ------------------
  |  Branch (7717:7): [True: 46.7k, False: 250k]
  ------------------
 7718|   303k|		    (chk->rec.chunk_id.id == SCTP_HEARTBEAT_ACK) ||
  ------------------
  |  |  462|   250k|#define SCTP_HEARTBEAT_ACK	0x05
  ------------------
  |  Branch (7718:7): [True: 29.1k, False: 221k]
  ------------------
 7719|   303k|		    (chk->rec.chunk_id.id == SCTP_FORWARD_CUM_TSN) ||
  ------------------
  |  |  490|   221k|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
  |  Branch (7719:7): [True: 61, False: 221k]
  ------------------
 7720|   303k|		    (chk->rec.chunk_id.id == SCTP_SHUTDOWN) ||
  ------------------
  |  |  464|   221k|#define SCTP_SHUTDOWN		0x07
  ------------------
  |  Branch (7720:7): [True: 77, False: 221k]
  ------------------
 7721|   303k|		    (chk->rec.chunk_id.id == SCTP_SHUTDOWN_ACK) ||
  ------------------
  |  |  465|   221k|#define SCTP_SHUTDOWN_ACK	0x08
  ------------------
  |  Branch (7721:7): [True: 977, False: 220k]
  ------------------
 7722|   303k|		    (chk->rec.chunk_id.id == SCTP_OPERATION_ERROR) ||
  ------------------
  |  |  466|   220k|#define SCTP_OPERATION_ERROR	0x09
  ------------------
  |  Branch (7722:7): [True: 180k, False: 40.1k]
  ------------------
 7723|   303k|		    (chk->rec.chunk_id.id == SCTP_PACKET_DROPPED) ||
  ------------------
  |  |  482|  40.1k|#define SCTP_PACKET_DROPPED	0x81
  ------------------
  |  Branch (7723:7): [True: 0, False: 40.1k]
  ------------------
 7724|   303k|		    (chk->rec.chunk_id.id == SCTP_COOKIE_ACK) ||
  ------------------
  |  |  468|  40.1k|#define SCTP_COOKIE_ACK		0x0b
  ------------------
  |  Branch (7724:7): [True: 680, False: 39.5k]
  ------------------
 7725|   303k|		    (chk->rec.chunk_id.id == SCTP_ECN_CWR) ||
  ------------------
  |  |  470|  39.5k|#define SCTP_ECN_CWR		0x0d
  ------------------
  |  Branch (7725:7): [True: 326, False: 39.1k]
  ------------------
 7726|   303k|		    (chk->rec.chunk_id.id == SCTP_ASCONF_ACK)) {
  ------------------
  |  |  480|  39.1k|#define	SCTP_ASCONF_ACK		0x80
  ------------------
  |  Branch (7726:7): [True: 1.23k, False: 37.9k]
  ------------------
 7727|       |			/* Stray chunks must be cleaned up */
 7728|   274k|	clean_up_anyway:
 7729|   274k|			TAILQ_REMOVE(&asoc->control_send_queue, chk, sctp_next);
 7730|   274k|			asoc->ctrl_queue_cnt--;
 7731|   274k|			if (chk->data) {
  ------------------
  |  Branch (7731:8): [True: 201k, False: 72.4k]
  ------------------
 7732|   201k|				sctp_m_freem(chk->data);
  ------------------
  |  |   52|   201k|#define sctp_m_freem m_freem
  ------------------
 7733|   201k|				chk->data = NULL;
 7734|   201k|			}
 7735|   274k|			if (chk->rec.chunk_id.id == SCTP_FORWARD_CUM_TSN) {
  ------------------
  |  |  490|   274k|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
  |  Branch (7735:8): [True: 61, False: 274k]
  ------------------
 7736|     61|				asoc->fwd_tsn_cnt--;
 7737|     61|			}
 7738|   274k|			sctp_free_a_chunk(stcb, chk, so_locked);
  ------------------
  |  |  143|   274k|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|   274k|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 274k]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|   274k|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 274k, False: 0]
  |  |  ------------------
  |  |  149|   274k|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|   274k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|   274k|	do {                         \
  |  |  |  |  |  |  113|   274k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 274k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|   274k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|   274k|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 274k, False: 0]
  |  |  ------------------
  |  |  151|   274k|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|   274k|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|   274k|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 274k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|   274k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|   274k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|   274k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 741, False: 273k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|    741|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 741, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|    741|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|    741|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|    741|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|    741|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|    741|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|    741|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 741, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|    741|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|    741|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|    741|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|    741|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|    741|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|    741|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|    741|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|    741|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|    741|			} \
  |  |  |  |  235|    741|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 741]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|    741|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|    741|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|    741|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|    741|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|    741|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|    741|	free(element);  \
  |  |  |  |  |  |  703|    741|}
  |  |  |  |  ------------------
  |  |  |  |  242|    741|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|    741|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|    741|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|    741|		} \
  |  |  |  |  244|   274k|	} \
  |  |  |  |  245|   274k|}
  |  |  ------------------
  |  |  152|   274k|			(_chk)->whoTo = NULL; \
  |  |  153|   274k|		} \
  |  |  154|   274k|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|   274k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 253k, False: 21.0k]
  |  |  ------------------
  |  |  155|   274k|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|  21.0k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|  21.0k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 21.0k]
  |  |  ------------------
  |  |  156|   253k|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|   253k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|   253k|	free(element);  \
  |  |  |  |  703|   253k|}
  |  |  ------------------
  |  |  157|   253k|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|   253k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|   253k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|   253k|		} else { \
  |  |  159|  21.0k|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|  21.0k|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|  21.0k|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|  21.0k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|  21.0k|		} \
  |  |  163|   274k|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|   274k|}
  ------------------
 7739|   274k|		} else if (chk->rec.chunk_id.id == SCTP_STREAM_RESET) {
  ------------------
  |  |  484|  37.9k|#define SCTP_STREAM_RESET       0x82
  ------------------
  |  Branch (7739:14): [True: 15.3k, False: 22.6k]
  ------------------
 7740|       |			/* special handling, we must look into the param */
 7741|  15.3k|			if (chk != asoc->str_reset) {
  ------------------
  |  Branch (7741:8): [True: 8.37k, False: 6.96k]
  ------------------
 7742|  8.37k|				goto clean_up_anyway;
 7743|  8.37k|			}
 7744|  15.3k|		}
 7745|   303k|	}
 7746|  38.1k|}
sctp_output.c:sctp_send_resp_msg:
11740|    841|{
11741|    841|	struct mbuf *o_pak;
11742|    841|	struct mbuf *mout;
11743|    841|	struct sctphdr *shout;
11744|    841|	struct sctp_chunkhdr *ch;
11745|    841|#if defined(INET) || defined(INET6)
11746|    841|	struct udphdr *udp;
11747|    841|#endif
11748|    841|	int ret, len, cause_len, padding_len;
11749|    841|#ifdef INET
11750|       |#if defined(__APPLE__) && !defined(__Userspace__)
11751|       |	sctp_route_t ro;
11752|       |#endif
11753|    841|	struct sockaddr_in *src_sin, *dst_sin;
11754|    841|	struct ip *ip;
11755|    841|#endif
11756|    841|#ifdef INET6
11757|    841|	struct sockaddr_in6 *src_sin6, *dst_sin6;
11758|    841|	struct ip6_hdr *ip6;
11759|    841|#endif
11760|       |
11761|       |	/* Compute the length of the cause and add final padding. */
11762|    841|	cause_len = 0;
11763|    841|	if (cause != NULL) {
  ------------------
  |  Branch (11763:6): [True: 322, False: 519]
  ------------------
11764|    322|		struct mbuf *m_at, *m_last = NULL;
11765|       |
11766|    692|		for (m_at = cause; m_at; m_at = SCTP_BUF_NEXT(m_at)) {
  ------------------
  |  |  796|    370|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    370|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (11766:22): [True: 370, False: 322]
  ------------------
11767|    370|			if (SCTP_BUF_NEXT(m_at) == NULL)
  ------------------
  |  |  796|    370|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    370|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (11767:8): [True: 322, False: 48]
  ------------------
11768|    322|				m_last = m_at;
11769|    370|			cause_len += SCTP_BUF_LEN(m_at);
  ------------------
  |  |  795|    370|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    370|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
11770|    370|		}
11771|    322|		padding_len = cause_len % 4;
11772|    322|		if (padding_len != 0) {
  ------------------
  |  Branch (11772:7): [True: 205, False: 117]
  ------------------
11773|    205|			padding_len = 4 - padding_len;
11774|    205|		}
11775|    322|		if (padding_len != 0) {
  ------------------
  |  Branch (11775:7): [True: 205, False: 117]
  ------------------
11776|    205|			if (sctp_add_pad_tombuf(m_last, padding_len) == NULL) {
  ------------------
  |  Branch (11776:8): [True: 0, False: 205]
  ------------------
11777|      0|				sctp_m_freem(cause);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
11778|      0|				return;
11779|      0|			}
11780|    205|		}
11781|    519|	} else {
11782|    519|		padding_len = 0;
11783|    519|	}
11784|       |	/* Get an mbuf for the header. */
11785|    841|	len = sizeof(struct sctphdr) + sizeof(struct sctp_chunkhdr);
11786|    841|	switch (dst->sa_family) {
11787|      0|#ifdef INET
11788|      0|	case AF_INET:
  ------------------
  |  Branch (11788:2): [True: 0, False: 841]
  ------------------
11789|      0|		len += sizeof(struct ip);
11790|      0|		break;
11791|      0|#endif
11792|      0|#ifdef INET6
11793|      0|	case AF_INET6:
  ------------------
  |  Branch (11793:2): [True: 0, False: 841]
  ------------------
11794|      0|		len += sizeof(struct ip6_hdr);
11795|      0|		break;
11796|      0|#endif
11797|    841|	default:
  ------------------
  |  Branch (11797:2): [True: 841, False: 0]
  ------------------
11798|    841|		break;
11799|    841|	}
11800|    841|#if defined(INET) || defined(INET6)
11801|    841|	if (port) {
  ------------------
  |  Branch (11801:6): [True: 0, False: 841]
  ------------------
11802|      0|		len += sizeof(struct udphdr);
11803|      0|	}
11804|    841|#endif
11805|       |#if defined(__APPLE__) && !defined(__Userspace__)
11806|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD)
11807|       |	mout = sctp_get_mbuf_for_msg(len + max_linkhdr, 1, M_NOWAIT, 1, MT_DATA);
11808|       |#else
11809|       |	mout = sctp_get_mbuf_for_msg(len + SCTP_MAX_LINKHDR, 1, M_NOWAIT, 1, MT_DATA);
11810|       |#endif
11811|       |#else
11812|    841|	mout = sctp_get_mbuf_for_msg(len + max_linkhdr, 1, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|    841|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	mout = sctp_get_mbuf_for_msg(len + max_linkhdr, 1, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|    841|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
11813|    841|#endif
11814|    841|	if (mout == NULL) {
  ------------------
  |  Branch (11814:6): [True: 0, False: 841]
  ------------------
11815|      0|		if (cause) {
  ------------------
  |  Branch (11815:7): [True: 0, False: 0]
  ------------------
11816|      0|			sctp_m_freem(cause);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
11817|      0|		}
11818|      0|		return;
11819|      0|	}
11820|       |#if defined(__APPLE__) && !defined(__Userspace__)
11821|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD)
11822|       |	SCTP_BUF_RESV_UF(mout, max_linkhdr);
11823|       |#else
11824|       |	SCTP_BUF_RESV_UF(mout, SCTP_MAX_LINKHDR);
11825|       |#endif
11826|       |#else
11827|    841|	SCTP_BUF_RESV_UF(mout, max_linkhdr);
  ------------------
  |  |  798|    841|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|    841|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11828|    841|#endif
11829|    841|	SCTP_BUF_LEN(mout) = len;
  ------------------
  |  |  795|    841|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    841|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
11830|    841|	SCTP_BUF_NEXT(mout) = cause;
  ------------------
  |  |  796|    841|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    841|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
11831|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
11832|       |	M_SETFIB(mout, fibnum);
11833|       |	mout->m_pkthdr.flowid = mflowid;
11834|       |	M_HASHTYPE_SET(mout, mflowtype);
11835|       |#endif
11836|    841|#ifdef INET
11837|    841|	ip = NULL;
11838|    841|#endif
11839|    841|#ifdef INET6
11840|    841|	ip6 = NULL;
11841|    841|#endif
11842|    841|	switch (dst->sa_family) {
11843|      0|#ifdef INET
11844|      0|	case AF_INET:
  ------------------
  |  Branch (11844:2): [True: 0, False: 841]
  ------------------
11845|      0|		src_sin = (struct sockaddr_in *)src;
11846|      0|		dst_sin = (struct sockaddr_in *)dst;
11847|      0|		ip = mtod(mout, struct ip *);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11848|      0|		ip->ip_v = IPVERSION;
11849|      0|		ip->ip_hl = (sizeof(struct ip) >> 2);
11850|      0|		ip->ip_tos = 0;
11851|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
11852|       |		ip->ip_off = htons(IP_DF);
11853|       |#elif defined(WITH_CONVERT_IP_OFF) || defined(__APPLE__)
11854|       |		ip->ip_off = IP_DF;
11855|       |#else
11856|      0|		ip->ip_off = htons(IP_DF);
11857|      0|#endif
11858|      0|#if defined(__Userspace__)
11859|      0|		ip->ip_id = htons(ip_id++);
11860|       |#elif defined(__FreeBSD__)
11861|       |		ip_fillid(ip);
11862|       |#elif defined(__APPLE__)
11863|       |#if RANDOM_IP_ID
11864|       |		ip->ip_id = ip_randomid();
11865|       |#else
11866|       |		ip->ip_id = htons(ip_id++);
11867|       |#endif
11868|       |#else
11869|       |		ip->ip_id = ip_id++;
11870|       |#endif
11871|      0|		ip->ip_ttl = MODULE_GLOBAL(ip_defttl);
  ------------------
  |  |   65|      0|#define MODULE_GLOBAL(_B) (_B)
  ------------------
11872|      0|		if (port) {
  ------------------
  |  Branch (11872:7): [True: 0, False: 0]
  ------------------
11873|      0|			ip->ip_p = IPPROTO_UDP;
11874|      0|		} else {
11875|      0|			ip->ip_p = IPPROTO_SCTP;
11876|      0|		}
11877|      0|		ip->ip_src.s_addr = dst_sin->sin_addr.s_addr;
11878|      0|		ip->ip_dst.s_addr = src_sin->sin_addr.s_addr;
11879|      0|		ip->ip_sum = 0;
11880|      0|		len = sizeof(struct ip);
11881|      0|		shout = (struct sctphdr *)((caddr_t)ip + len);
11882|      0|		break;
11883|      0|#endif
11884|      0|#ifdef INET6
11885|      0|	case AF_INET6:
  ------------------
  |  Branch (11885:2): [True: 0, False: 841]
  ------------------
11886|      0|		src_sin6 = (struct sockaddr_in6 *)src;
11887|      0|		dst_sin6 = (struct sockaddr_in6 *)dst;
11888|      0|		ip6 = mtod(mout, struct ip6_hdr *);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11889|      0|		ip6->ip6_flow = htonl(0x60000000);
11890|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
11891|       |		if (V_ip6_auto_flowlabel) {
11892|       |			ip6->ip6_flow |= (htonl(ip6_randomflowlabel()) & IPV6_FLOWLABEL_MASK);
11893|       |		}
11894|       |#endif
11895|      0|#if defined(__Userspace__)
11896|      0|		ip6->ip6_hlim = IPv6_HOP_LIMIT;
  ------------------
  |  |  945|      0|#define IPv6_HOP_LIMIT 128
  ------------------
11897|       |#else
11898|       |		ip6->ip6_hlim = MODULE_GLOBAL(ip6_defhlim);
11899|       |#endif
11900|      0|		if (port) {
  ------------------
  |  Branch (11900:7): [True: 0, False: 0]
  ------------------
11901|      0|			ip6->ip6_nxt = IPPROTO_UDP;
11902|      0|		} else {
11903|      0|			ip6->ip6_nxt = IPPROTO_SCTP;
11904|      0|		}
11905|      0|		ip6->ip6_src = dst_sin6->sin6_addr;
11906|      0|		ip6->ip6_dst = src_sin6->sin6_addr;
11907|      0|		len = sizeof(struct ip6_hdr);
11908|      0|		shout = (struct sctphdr *)((caddr_t)ip6 + len);
11909|      0|		break;
11910|      0|#endif
11911|    841|	default:
  ------------------
  |  Branch (11911:2): [True: 841, False: 0]
  ------------------
11912|    841|		len = 0;
11913|    841|		shout = mtod(mout, struct sctphdr *);
  ------------------
  |  |   96|    841|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    841|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
11914|    841|		break;
11915|    841|	}
11916|    841|#if defined(INET) || defined(INET6)
11917|    841|	if (port) {
  ------------------
  |  Branch (11917:6): [True: 0, False: 841]
  ------------------
11918|      0|		if (htons(SCTP_BASE_SYSCTL(sctp_udp_tunneling_port)) == 0) {
  ------------------
  |  Branch (11918:7): [True: 0, False: 0]
  ------------------
11919|      0|			sctp_m_freem(mout);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
11920|      0|			return;
11921|      0|		}
11922|      0|		udp = (struct udphdr *)shout;
11923|      0|		udp->uh_sport = htons(SCTP_BASE_SYSCTL(sctp_udp_tunneling_port));
11924|      0|		udp->uh_dport = port;
11925|      0|		udp->uh_sum = 0;
11926|      0|		udp->uh_ulen = htons((uint16_t)(sizeof(struct udphdr) +
11927|      0|		                                sizeof(struct sctphdr) +
11928|      0|		                                sizeof(struct sctp_chunkhdr) +
11929|      0|		                                cause_len + padding_len));
11930|      0|		len += sizeof(struct udphdr);
11931|      0|		shout = (struct sctphdr *)((caddr_t)shout + sizeof(struct udphdr));
11932|    841|	} else {
11933|    841|		udp = NULL;
11934|    841|	}
11935|    841|#endif
11936|    841|	shout->src_port = sh->dest_port;
11937|    841|	shout->dest_port = sh->src_port;
11938|    841|	shout->checksum = 0;
11939|    841|	if (vtag) {
  ------------------
  |  Branch (11939:6): [True: 627, False: 214]
  ------------------
11940|    627|		shout->v_tag = htonl(vtag);
11941|    627|	} else {
11942|    214|		shout->v_tag = sh->v_tag;
11943|    214|	}
11944|    841|	len += sizeof(struct sctphdr);
11945|    841|	ch = (struct sctp_chunkhdr *)((caddr_t)shout + sizeof(struct sctphdr));
11946|    841|	ch->chunk_type = type;
11947|    841|	if (vtag) {
  ------------------
  |  Branch (11947:6): [True: 627, False: 214]
  ------------------
11948|    627|		ch->chunk_flags = 0;
11949|    627|	} else {
11950|    214|		ch->chunk_flags = SCTP_HAD_NO_TCB;
  ------------------
  |  |  496|    214|#define SCTP_HAD_NO_TCB		0x01
  ------------------
11951|    214|	}
11952|    841|	ch->chunk_length = htons((uint16_t)(sizeof(struct sctp_chunkhdr) + cause_len));
11953|    841|	len += sizeof(struct sctp_chunkhdr);
11954|    841|	len += cause_len + padding_len;
11955|       |
11956|    841|	if (SCTP_GET_HEADER_FOR_OUTPUT(o_pak)) {
  ------------------
  |  |  916|    841|#define SCTP_GET_HEADER_FOR_OUTPUT(o_pak) 0
  |  |  ------------------
  |  |  |  Branch (916:43): [Folded - Ignored]
  |  |  ------------------
  ------------------
11957|      0|		sctp_m_freem(mout);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
11958|      0|		return;
11959|      0|	}
11960|    841|	SCTP_ATTACH_CHAIN(o_pak, mout, len);
  ------------------
  |  |  925|    841|#define SCTP_ATTACH_CHAIN(pak, m, packet_length) do { \
  |  |  926|    841|                                                  pak = m; \
  |  |  927|    841|                                                  pak->m_pkthdr.len = packet_length; \
  |  |  ------------------
  |  |  |  |  224|    841|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  |  |  ------------------
  |  |  928|    841|                          } while(0)
  |  |  ------------------
  |  |  |  Branch (928:35): [Folded - Ignored]
  |  |  ------------------
  ------------------
11961|    841|	switch (dst->sa_family) {
11962|      0|#ifdef INET
11963|      0|	case AF_INET:
  ------------------
  |  Branch (11963:2): [True: 0, False: 841]
  ------------------
11964|       |#if defined(__APPLE__) && !defined(__Userspace__)
11965|       |		/* zap the stack pointer to the route */
11966|       |		memset(&ro, 0, sizeof(sctp_route_t));
11967|       |#endif
11968|      0|		if (port) {
  ------------------
  |  Branch (11968:7): [True: 0, False: 0]
  ------------------
11969|       |#if !defined(_WIN32) && !defined(__Userspace__)
11970|       |#if defined(__FreeBSD__)
11971|       |			if (V_udp_cksum) {
11972|       |				udp->uh_sum = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr, udp->uh_ulen + htons(IPPROTO_UDP));
11973|       |			} else {
11974|       |				udp->uh_sum = 0;
11975|       |			}
11976|       |#else
11977|       |			udp->uh_sum = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr, udp->uh_ulen + htons(IPPROTO_UDP));
11978|       |#endif
11979|       |#else
11980|      0|			udp->uh_sum = 0;
11981|      0|#endif
11982|      0|		}
11983|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
11984|       |		ip->ip_len = htons(len);
11985|       |#elif defined(__APPLE__) || defined(__Userspace__)
11986|       |		ip->ip_len = len;
11987|       |#else
11988|       |		ip->ip_len = htons(len);
11989|       |#endif
11990|      0|		if (port) {
  ------------------
  |  Branch (11990:7): [True: 0, False: 0]
  ------------------
11991|      0|			shout->checksum = sctp_calculate_cksum(mout, sizeof(struct ip) + sizeof(struct udphdr));
11992|      0|			SCTP_STAT_INCR(sctps_sendswcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
11993|       |#if !defined(_WIN32) && !defined(__Userspace__)
11994|       |#if defined(__FreeBSD__)
11995|       |			if (V_udp_cksum) {
11996|       |				SCTP_ENABLE_UDP_CSUM(o_pak);
11997|       |			}
11998|       |#else
11999|       |			SCTP_ENABLE_UDP_CSUM(o_pak);
12000|       |#endif
12001|       |#endif
12002|      0|		} else {
12003|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
12004|       |			mout->m_pkthdr.csum_flags = CSUM_SCTP;
12005|       |			mout->m_pkthdr.csum_data = offsetof(struct sctphdr, checksum);
12006|       |			SCTP_STAT_INCR(sctps_sendhwcrc);
12007|       |#else
12008|      0|			shout->checksum = sctp_calculate_cksum(mout, sizeof(struct ip));
12009|      0|			SCTP_STAT_INCR(sctps_sendswcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12010|      0|#endif
12011|      0|		}
12012|       |#ifdef SCTP_PACKET_LOGGING
12013|       |		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LAST_PACKET_TRACING) {
12014|       |			sctp_packet_log(o_pak);
12015|       |		}
12016|       |#endif
12017|       |#if defined(__APPLE__) && !defined(__Userspace__)
12018|       |		SCTP_IP_OUTPUT(ret, o_pak, &ro, NULL, vrf_id);
12019|       |		/* Free the route if we got one back */
12020|       |		if (ro.ro_rt) {
12021|       |			RTFREE(ro.ro_rt);
12022|       |			ro.ro_rt = NULL;
12023|       |		}
12024|       |#else
12025|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
12026|       |		SCTP_PROBE5(send, NULL, NULL, ip, NULL, shout);
12027|       |#endif
12028|      0|		SCTP_IP_OUTPUT(ret, o_pak, NULL, NULL, vrf_id);
  ------------------
  |  | 1050|      0|#define SCTP_IP_OUTPUT(result, o_pak, ro, inp, vrf_id) sctp_userspace_ip_output(&result, o_pak, ro, inp, vrf_id);
  ------------------
12029|      0|#endif
12030|      0|		break;
12031|      0|#endif
12032|      0|#ifdef INET6
12033|      0|	case AF_INET6:
  ------------------
  |  Branch (12033:2): [True: 0, False: 841]
  ------------------
12034|      0|		ip6->ip6_plen = htons((uint16_t)(len - sizeof(struct ip6_hdr)));
12035|      0|		if (port) {
  ------------------
  |  Branch (12035:7): [True: 0, False: 0]
  ------------------
12036|      0|			shout->checksum = sctp_calculate_cksum(mout, sizeof(struct ip6_hdr) + sizeof(struct udphdr));
12037|      0|			SCTP_STAT_INCR(sctps_sendswcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12038|       |#if !defined(__Userspace__)
12039|       |#if defined(_WIN32)
12040|       |			udp->uh_sum = 0;
12041|       |#else
12042|       |			if ((udp->uh_sum = in6_cksum(o_pak, IPPROTO_UDP, sizeof(struct ip6_hdr), len - sizeof(struct ip6_hdr))) == 0) {
12043|       |				udp->uh_sum = 0xffff;
12044|       |			}
12045|       |#endif
12046|       |#endif
12047|      0|		} else {
12048|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
12049|       |			mout->m_pkthdr.csum_flags = CSUM_SCTP_IPV6;
12050|       |			mout->m_pkthdr.csum_data = offsetof(struct sctphdr, checksum);
12051|       |			SCTP_STAT_INCR(sctps_sendhwcrc);
12052|       |#else
12053|      0|			shout->checksum = sctp_calculate_cksum(mout, sizeof(struct ip6_hdr));
12054|      0|			SCTP_STAT_INCR(sctps_sendswcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12055|      0|#endif
12056|      0|		}
12057|       |#ifdef SCTP_PACKET_LOGGING
12058|       |		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LAST_PACKET_TRACING) {
12059|       |			sctp_packet_log(o_pak);
12060|       |		}
12061|       |#endif
12062|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
12063|       |		SCTP_PROBE5(send, NULL, NULL, ip6, NULL, shout);
12064|       |#endif
12065|      0|		SCTP_IP6_OUTPUT(ret, o_pak, NULL, NULL, NULL, vrf_id);
  ------------------
  |  | 1056|      0|#define SCTP_IP6_OUTPUT(result, o_pak, ro, ifp, inp, vrf_id) sctp_userspace_ip6_output(&result, o_pak, ro, inp, vrf_id);
  ------------------
12066|      0|		break;
12067|      0|#endif
12068|      0|#if defined(__Userspace__)
12069|    841|	case AF_CONN:
  ------------------
  |  | 1008|    841|#define AF_CONN 123
  ------------------
  |  Branch (12069:2): [True: 841, False: 0]
  ------------------
12070|    841|	{
12071|    841|		char *buffer;
12072|    841|		struct sockaddr_conn *sconn;
12073|       |
12074|    841|		sconn = (struct sockaddr_conn *)src;
12075|    841|		if (SCTP_BASE_VAR(crc32c_offloaded) == 0) {
  ------------------
  |  |  585|    841|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (12075:7): [True: 0, False: 841]
  ------------------
12076|      0|			shout->checksum = sctp_calculate_cksum(o_pak, 0);
12077|      0|			SCTP_STAT_INCR(sctps_sendswcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12078|    841|		} else {
12079|    841|			SCTP_STAT_INCR(sctps_sendhwcrc);
  ------------------
  |  | 1112|    841|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    841|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    841|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12080|    841|		}
12081|       |#ifdef SCTP_PACKET_LOGGING
12082|       |		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_LAST_PACKET_TRACING) {
12083|       |			sctp_packet_log(mout);
12084|       |		}
12085|       |#endif
12086|       |		/* Don't alloc/free for each packet */
12087|    841|		if ((buffer = malloc(len)) != NULL) {
  ------------------
  |  Branch (12087:7): [True: 841, False: 0]
  ------------------
12088|    841|			m_copydata(o_pak, 0, len, buffer);
12089|    841|			ret = SCTP_BASE_VAR(conn_output)(sconn->sconn_addr, buffer, len, 0, 0);
  ------------------
  |  |  585|    841|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
12090|    841|			free(buffer);
12091|    841|		} else {
12092|      0|			ret = ENOMEM;
12093|      0|		}
12094|    841|		sctp_m_freem(o_pak);
  ------------------
  |  |   52|    841|#define sctp_m_freem m_freem
  ------------------
12095|    841|		break;
12096|      0|	}
12097|      0|#endif
12098|      0|	default:
  ------------------
  |  Branch (12098:2): [True: 0, False: 841]
  ------------------
12099|      0|		SCTPDBG(SCTP_DEBUG_OUTPUT1, "Unknown protocol (TSNH) type %d\n",
12100|      0|		        dst->sa_family);
12101|      0|		sctp_m_freem(mout);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
12102|      0|		SCTP_LTRACE_ERR_RET_PKT(mout, NULL, NULL, NULL, SCTP_FROM_SCTP_OUTPUT, EFAULT);
12103|      0|		return;
12104|    841|	}
12105|    841|	SCTPDBG(SCTP_DEBUG_OUTPUT3, "return from send is %d\n", ret);
12106|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
12107|       |	if (port) {
12108|       |		UDPSTAT_INC(udps_opackets);
12109|       |	}
12110|       |#endif
12111|    841|	SCTP_STAT_INCR(sctps_sendpackets);
  ------------------
  |  | 1112|    841|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|    841|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    841|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12112|    841|	SCTP_STAT_INCR_COUNTER64(sctps_outpackets);
  ------------------
  |  | 1128|    841|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|    841|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|    841|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|    841|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12113|    841|	SCTP_STAT_INCR_COUNTER64(sctps_outcontrolchunks);
  ------------------
  |  | 1128|    841|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|    841|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|    841|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|    841|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12114|    841|	if (ret) {
  ------------------
  |  Branch (12114:6): [True: 0, False: 841]
  ------------------
12115|      0|		SCTP_STAT_INCR(sctps_senderrors);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
12116|      0|	}
12117|    841|	return;
12118|    841|}
sctp_output.c:sctp_add_stream_reset_out:
12547|  6.67k|{
12548|  6.67k|	uint16_t len, old_len, i;
12549|  6.67k|	struct sctp_stream_reset_out_request *req_out;
12550|  6.67k|	struct sctp_chunkhdr *ch;
12551|  6.67k|	int at;
12552|  6.67k|	int number_entries=0;
12553|       |
12554|  6.67k|	ch = mtod(chk->data, struct sctp_chunkhdr *);
  ------------------
  |  |   96|  6.67k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  6.67k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12555|  6.67k|	old_len = len = SCTP_SIZE32(ntohs(ch->chunk_length));
  ------------------
  |  |  383|  6.67k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12556|       |	/* get to new offset for the param. */
12557|  6.67k|	req_out = (struct sctp_stream_reset_out_request *)((caddr_t)ch + len);
12558|       |	/* now how long will this param be? */
12559|  1.72M|	for (i = 0; i < stcb->asoc.streamoutcnt; i++) {
  ------------------
  |  Branch (12559:14): [True: 1.71M, False: 6.67k]
  ------------------
12560|  1.71M|		if ((stcb->asoc.strmout[i].state == SCTP_STREAM_RESET_PENDING) &&
  ------------------
  |  |  671|  1.71M|#define SCTP_STREAM_RESET_PENDING    0x03
  ------------------
  |  Branch (12560:7): [True: 692k, False: 1.02M]
  ------------------
12561|  1.71M|		    (stcb->asoc.strmout[i].chunks_on_queues == 0) &&
  ------------------
  |  Branch (12561:7): [True: 689k, False: 2.40k]
  ------------------
12562|  1.71M|		    TAILQ_EMPTY(&stcb->asoc.strmout[i].outqueue)) {
12563|   689k|			number_entries++;
12564|   689k|		}
12565|  1.71M|	}
12566|  6.67k|	if (number_entries == 0) {
  ------------------
  |  Branch (12566:6): [True: 3.89k, False: 2.78k]
  ------------------
12567|  3.89k|		return (0);
12568|  3.89k|	}
12569|  2.78k|	if (number_entries == stcb->asoc.streamoutcnt) {
  ------------------
  |  Branch (12569:6): [True: 1.05k, False: 1.73k]
  ------------------
12570|  1.05k|		number_entries = 0;
12571|  1.05k|	}
12572|  2.78k|	if (number_entries > SCTP_MAX_STREAMS_AT_ONCE_RESET) {
  ------------------
  |  |  697|  2.78k|#define SCTP_MAX_STREAMS_AT_ONCE_RESET 200
  ------------------
  |  Branch (12572:6): [True: 1.63k, False: 1.15k]
  ------------------
12573|  1.63k|		number_entries = SCTP_MAX_STREAMS_AT_ONCE_RESET;
  ------------------
  |  |  697|  1.63k|#define SCTP_MAX_STREAMS_AT_ONCE_RESET 200
  ------------------
12574|  1.63k|	}
12575|  2.78k|	len = (uint16_t)(sizeof(struct sctp_stream_reset_out_request) + (sizeof(uint16_t) * number_entries));
12576|  2.78k|	req_out->ph.param_type = htons(SCTP_STR_RESET_OUT_REQUEST);
12577|  2.78k|	req_out->ph.param_length = htons(len);
12578|  2.78k|	req_out->request_seq = htonl(seq);
12579|  2.78k|	req_out->response_seq = htonl(resp_seq);
12580|  2.78k|	req_out->send_reset_at_tsn = htonl(last_sent);
12581|  2.78k|	at = 0;
12582|  2.78k|	if (number_entries) {
  ------------------
  |  Branch (12582:6): [True: 1.73k, False: 1.05k]
  ------------------
12583|   341k|		for (i = 0; i < stcb->asoc.streamoutcnt; i++) {
  ------------------
  |  Branch (12583:15): [True: 341k, False: 0]
  ------------------
12584|   341k|			if ((stcb->asoc.strmout[i].state == SCTP_STREAM_RESET_PENDING) &&
  ------------------
  |  |  671|   341k|#define SCTP_STREAM_RESET_PENDING    0x03
  ------------------
  |  Branch (12584:8): [True: 328k, False: 13.1k]
  ------------------
12585|   341k|			    (stcb->asoc.strmout[i].chunks_on_queues == 0) &&
  ------------------
  |  Branch (12585:8): [True: 326k, False: 1.59k]
  ------------------
12586|   341k|			    TAILQ_EMPTY(&stcb->asoc.strmout[i].outqueue)) {
12587|   326k|				req_out->list_of_streams[at] = htons(i);
12588|   326k|				at++;
12589|   326k|				stcb->asoc.strmout[i].state = SCTP_STREAM_RESET_IN_FLIGHT;
  ------------------
  |  |  672|   326k|#define SCTP_STREAM_RESET_IN_FLIGHT  0x04
  ------------------
12590|   326k|				if (at >= number_entries) {
  ------------------
  |  Branch (12590:9): [True: 1.73k, False: 325k]
  ------------------
12591|  1.73k|					break;
12592|  1.73k|				}
12593|   326k|			}
12594|   341k|		}
12595|  1.73k|	} else {
12596|   272k|		for (i = 0; i < stcb->asoc.streamoutcnt; i++) {
  ------------------
  |  Branch (12596:15): [True: 271k, False: 1.05k]
  ------------------
12597|   271k|			stcb->asoc.strmout[i].state = SCTP_STREAM_RESET_IN_FLIGHT;
  ------------------
  |  |  672|   271k|#define SCTP_STREAM_RESET_IN_FLIGHT  0x04
  ------------------
12598|   271k|		}
12599|  1.05k|	}
12600|  2.78k|	if (SCTP_SIZE32(len) > len) {
  ------------------
  |  |  383|  2.78k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  |  Branch (12600:6): [True: 31, False: 2.75k]
  ------------------
12601|       |		/*-
12602|       |		 * Need to worry about the pad we may end up adding to the
12603|       |		 * end. This is easy since the struct is either aligned to 4
12604|       |		 * bytes or 2 bytes off.
12605|       |		 */
12606|     31|		req_out->list_of_streams[number_entries] = 0;
12607|     31|	}
12608|       |	/* now fix the chunk length */
12609|  2.78k|	ch->chunk_length = htons(len + old_len);
12610|  2.78k|	chk->book_size = len + old_len;
12611|  2.78k|	chk->book_size_scale = 0;
12612|  2.78k|	chk->send_size = SCTP_SIZE32(chk->book_size);
  ------------------
  |  |  383|  2.78k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12613|  2.78k|	SCTP_BUF_LEN(chk->data) = chk->send_size;
  ------------------
  |  |  795|  2.78k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.78k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
12614|  2.78k|	return (1);
12615|  6.67k|}
sctp_output.c:sctp_add_an_out_stream:
12813|     62|{
12814|     62|	uint16_t len, old_len;
12815|     62|	struct sctp_chunkhdr *ch;
12816|     62|	struct sctp_stream_reset_add_strm *addstr;
12817|       |
12818|     62|	ch = mtod(chk->data, struct sctp_chunkhdr *);
  ------------------
  |  |   96|     62|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|     62|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12819|     62|	old_len = len = SCTP_SIZE32(ntohs(ch->chunk_length));
  ------------------
  |  |  383|     62|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12820|       |
12821|       |	/* get to new offset for the param. */
12822|     62|	addstr = (struct sctp_stream_reset_add_strm *)((caddr_t)ch + len);
12823|       |	/* now how long will this param be? */
12824|     62|	len = sizeof(struct sctp_stream_reset_add_strm);
12825|       |
12826|       |	/* Fill it out. */
12827|     62|	addstr->ph.param_type = htons(SCTP_STR_RESET_ADD_OUT_STREAMS);
12828|     62|	addstr->ph.param_length = htons(len);
12829|     62|	addstr->request_seq = htonl(seq);
12830|     62|	addstr->number_of_streams = htons(adding);
12831|     62|	addstr->reserved = 0;
12832|       |
12833|       |	/* now fix the chunk length */
12834|     62|	ch->chunk_length = htons(len + old_len);
12835|     62|	chk->send_size = len + old_len;
12836|     62|	chk->book_size = SCTP_SIZE32(chk->send_size);
  ------------------
  |  |  383|     62|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12837|     62|	chk->book_size_scale = 0;
12838|     62|	SCTP_BUF_LEN(chk->data) = SCTP_SIZE32(chk->send_size);
  ------------------
  |  |  795|     62|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     62|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
              	SCTP_BUF_LEN(chk->data) = SCTP_SIZE32(chk->send_size);
  ------------------
  |  |  383|     62|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12839|     62|	return;
12840|     62|}
sctp_output.c:sctp_add_stream_reset_in:
12621|  2.63k|{
12622|  2.63k|	uint16_t len, old_len, i;
12623|  2.63k|	struct sctp_stream_reset_in_request *req_in;
12624|  2.63k|	struct sctp_chunkhdr *ch;
12625|       |
12626|  2.63k|	ch = mtod(chk->data, struct sctp_chunkhdr *);
  ------------------
  |  |   96|  2.63k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  2.63k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
12627|  2.63k|	old_len = len = SCTP_SIZE32(ntohs(ch->chunk_length));
  ------------------
  |  |  383|  2.63k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12628|       |
12629|       |	/* get to new offset for the param. */
12630|  2.63k|	req_in = (struct sctp_stream_reset_in_request *)((caddr_t)ch + len);
12631|       |	/* now how long will this param be? */
12632|  2.63k|	len = (uint16_t)(sizeof(struct sctp_stream_reset_in_request) + (sizeof(uint16_t) * number_entries));
12633|  2.63k|	req_in->ph.param_type = htons(SCTP_STR_RESET_IN_REQUEST);
12634|  2.63k|	req_in->ph.param_length = htons(len);
12635|  2.63k|	req_in->request_seq = htonl(seq);
12636|  2.63k|	if (number_entries) {
  ------------------
  |  Branch (12636:6): [True: 0, False: 2.63k]
  ------------------
12637|      0|		for (i = 0; i < number_entries; i++) {
  ------------------
  |  Branch (12637:15): [True: 0, False: 0]
  ------------------
12638|      0|			req_in->list_of_streams[i] = htons(list[i]);
12639|      0|		}
12640|      0|	}
12641|  2.63k|	if (SCTP_SIZE32(len) > len) {
  ------------------
  |  |  383|  2.63k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
  |  Branch (12641:6): [True: 0, False: 2.63k]
  ------------------
12642|       |		/*-
12643|       |		 * Need to worry about the pad we may end up adding to the
12644|       |		 * end. This is easy since the struct is either aligned to 4
12645|       |		 * bytes or 2 bytes off.
12646|       |		 */
12647|      0|		req_in->list_of_streams[number_entries] = 0;
12648|      0|	}
12649|       |	/* now fix the chunk length */
12650|  2.63k|	ch->chunk_length = htons(len + old_len);
12651|  2.63k|	chk->book_size = len + old_len;
12652|  2.63k|	chk->book_size_scale = 0;
12653|  2.63k|	chk->send_size = SCTP_SIZE32(chk->book_size);
  ------------------
  |  |  383|  2.63k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
12654|  2.63k|	SCTP_BUF_LEN(chk->data) = chk->send_size;
  ------------------
  |  |  795|  2.63k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.63k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
12655|  2.63k|	return;
12656|  2.63k|}
sctp_output.c:sctp_copy_it_in:
13355|  6.20k|{
13356|       |	/*-
13357|       |	 * This routine must be very careful in its work. Protocol
13358|       |	 * processing is up and running so care must be taken to spl...()
13359|       |	 * when you need to do something that may effect the stcb/asoc. The
13360|       |	 * sb is locked however. When data is copied the protocol processing
13361|       |	 * should be enabled since this is a slower operation...
13362|       |	 */
13363|  6.20k|	struct sctp_stream_queue_pending *sp;
13364|  6.20k|	int resv_in_first;
13365|       |
13366|  6.20k|	*error = 0;
13367|  6.20k|	sctp_alloc_a_strmoq(stcb, sp);
  ------------------
  |  |  134|  6.20k|#define sctp_alloc_a_strmoq(_stcb, _strmoq) { \
  |  |  135|  6.20k|	(_strmoq) = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_strmoq), struct sctp_stream_queue_pending); \
  |  |  ------------------
  |  |  |  |  697|  6.20k|        (type *)malloc(zone);
  |  |  ------------------
  |  |  136|  6.20k|	if ((_strmoq)) { \
  |  |  ------------------
  |  |  |  Branch (136:6): [True: 6.20k, False: 0]
  |  |  ------------------
  |  |  137|  6.20k|		memset(_strmoq, 0, sizeof(struct sctp_stream_queue_pending)); \
  |  |  138|  6.20k|		SCTP_INCR_STRMOQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  688|  6.20k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_strmoq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  6.20k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  139|  6.20k|		(_strmoq)->holds_key_ref = 0; \
  |  |  140|  6.20k|	} \
  |  |  141|  6.20k|}
  ------------------
13368|  6.20k|	if (sp == NULL) {
  ------------------
  |  Branch (13368:6): [True: 0, False: 6.20k]
  ------------------
13369|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, net, SCTP_FROM_SCTP_OUTPUT, ENOMEM);
13370|      0|		*error = ENOMEM;
13371|      0|		goto out_now;
13372|      0|	}
13373|  6.20k|	sp->act_flags = 0;
13374|  6.20k|	sp->sender_all_done = 0;
13375|  6.20k|	sp->sinfo_flags = srcv->sinfo_flags;
13376|  6.20k|	sp->timetolive = srcv->sinfo_timetolive;
13377|  6.20k|	sp->ppid = srcv->sinfo_ppid;
13378|  6.20k|	sp->context = srcv->sinfo_context;
13379|  6.20k|	sp->fsn = 0;
13380|  6.20k|	(void)SCTP_GETTIME_TIMEVAL(&sp->ts);
  ------------------
  |  |  991|  6.20k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
13381|  6.20k|	sp->sid = srcv->sinfo_stream;
13382|       |#if defined(__APPLE__) && !defined(__Userspace__)
13383|       |#if defined(APPLE_LEOPARD)
13384|       |	sp->length = (uint32_t)min(uio->uio_resid, max_send_len);
13385|       |#else
13386|       |	sp->length = (uint32_t)min(uio_resid(uio), max_send_len);
13387|       |#endif
13388|       |#else
13389|  6.20k|	sp->length = (uint32_t)min(uio->uio_resid, max_send_len);
  ------------------
  |  |   66|  6.20k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 6.20k]
  |  |  ------------------
  ------------------
13390|  6.20k|#endif
13391|       |#if defined(__APPLE__) && !defined(__Userspace__)
13392|       |#if defined(APPLE_LEOPARD)
13393|       |	if ((sp->length == (uint32_t)uio->uio_resid) &&
13394|       |#else
13395|       |	if ((sp->length == (uint32_t)uio_resid(uio)) &&
13396|       |#endif
13397|       |#else
13398|  6.20k|	if ((sp->length == (uint32_t)uio->uio_resid) &&
  ------------------
  |  Branch (13398:6): [True: 6.20k, False: 0]
  ------------------
13399|  6.20k|#endif
13400|  6.20k|	    ((user_marks_eor == 0) ||
  ------------------
  |  Branch (13400:7): [True: 6.20k, False: 0]
  ------------------
13401|  6.20k|	     (srcv->sinfo_flags & SCTP_EOF) ||
  ------------------
  |  |  257|      0|#define SCTP_EOF              0x0100 /* Start shutdown procedures */
  ------------------
  |  Branch (13401:7): [True: 0, False: 0]
  ------------------
13402|  6.20k|	     (user_marks_eor && (srcv->sinfo_flags & SCTP_EOR)))) {
  ------------------
  |  |  262|      0|#define SCTP_EOR              0x2000 /* end of message signal */
  ------------------
  |  Branch (13402:8): [True: 0, False: 0]
  |  Branch (13402:26): [True: 0, False: 0]
  ------------------
13403|  6.20k|		sp->msg_is_complete = 1;
13404|  6.20k|	} else {
13405|      0|		sp->msg_is_complete = 0;
13406|      0|	}
13407|  6.20k|	sp->sender_all_done = 0;
13408|  6.20k|	sp->some_taken = 0;
13409|  6.20k|	sp->put_last_out = 0;
13410|  6.20k|	resv_in_first = SCTP_DATA_CHUNK_OVERHEAD(stcb);
  ------------------
  |  |  134|  6.20k|#define SCTP_DATA_CHUNK_OVERHEAD(stcb) ((stcb)->asoc.idata_supported ? \
  |  |  ------------------
  |  |  |  Branch (134:41): [True: 5.07k, False: 1.12k]
  |  |  ------------------
  |  |  135|  6.20k|                                        sizeof(struct sctp_idata_chunk) : \
  |  |  136|  6.20k|                                        sizeof(struct sctp_data_chunk))
  ------------------
13411|  6.20k|	sp->data = sp->tail_mbuf = NULL;
13412|  6.20k|	if (sp->length == 0) {
  ------------------
  |  Branch (13412:6): [True: 0, False: 6.20k]
  ------------------
13413|      0|		goto skip_copy;
13414|      0|	}
13415|  6.20k|	if (srcv->sinfo_keynumber_valid) {
  ------------------
  |  Branch (13415:6): [True: 0, False: 6.20k]
  ------------------
13416|      0|		sp->auth_keyid = srcv->sinfo_keynumber;
13417|  6.20k|	} else {
13418|  6.20k|		sp->auth_keyid = stcb->asoc.authinfo.active_keyid;
13419|  6.20k|	}
13420|  6.20k|	if (sctp_auth_is_required_chunk(SCTP_DATA, stcb->asoc.peer_auth_chunks)) {
  ------------------
  |  |  100|  6.20k|#define sctp_auth_is_required_chunk(chunk, list) ((list == NULL) ? (0) : (list->chunks[chunk] != 0))
  |  |  ------------------
  |  |  |  Branch (100:50): [True: 0, False: 6.20k]
  |  |  |  Branch (100:51): [True: 1.47k, False: 4.73k]
  |  |  ------------------
  ------------------
13421|      0|		sctp_auth_key_acquire(stcb, sp->auth_keyid);
13422|      0|		sp->holds_key_ref = 1;
13423|      0|	}
13424|       |#if defined(__APPLE__) && !defined(__Userspace__)
13425|       |	SCTP_SOCKET_UNLOCK(SCTP_INP_SO(stcb->sctp_ep), 0);
13426|       |#endif
13427|  6.20k|	*error = sctp_copy_one(sp, uio, resv_in_first);
13428|       |#if defined(__APPLE__) && !defined(__Userspace__)
13429|       |	SCTP_SOCKET_LOCK(SCTP_INP_SO(stcb->sctp_ep), 0);
13430|       |#endif
13431|  6.20k| skip_copy:
13432|  6.20k|	if (*error) {
  ------------------
  |  Branch (13432:6): [True: 0, False: 6.20k]
  ------------------
13433|      0|#if defined(__Userspace__)
13434|      0|		SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13435|      0|#endif
13436|      0|		sctp_free_a_strmoq(stcb, sp, SCTP_SO_LOCKED);
  ------------------
  |  |  125|      0|#define sctp_free_a_strmoq(_stcb, _strmoq, _so_locked) { \
  |  |  126|      0|	if ((_strmoq)->holds_key_ref) { \
  |  |  ------------------
  |  |  |  Branch (126:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  127|      0|		sctp_auth_key_release(stcb, sp->auth_keyid, _so_locked); \
  |  |  128|      0|		(_strmoq)->holds_key_ref = 0; \
  |  |  129|      0|	} \
  |  |  130|      0|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_strmoq), (_strmoq)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  131|      0|	SCTP_DECR_STRMOQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  691|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_strmoq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  132|      0|}
  ------------------
13437|      0|#if defined(__Userspace__)
13438|      0|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
13439|      0|#endif
13440|      0|		sp = NULL;
13441|  6.20k|	} else {
13442|  6.20k|		if (sp->sinfo_flags & SCTP_ADDR_OVER) {
  ------------------
  |  |  260|  6.20k|#define SCTP_ADDR_OVER        0x0800 /* Override the primary-address */
  ------------------
  |  Branch (13442:7): [True: 0, False: 6.20k]
  ------------------
13443|      0|			sp->net = net;
13444|      0|			atomic_add_int(&sp->net->ref_count, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
13445|  6.20k|		} else {
13446|  6.20k|			sp->net = NULL;
13447|  6.20k|		}
13448|  6.20k|		sctp_set_prsctp_policy(sp);
13449|  6.20k|	}
13450|  6.20k|out_now:
13451|  6.20k|	return (sp);
13452|  6.20k|}
sctp_output.c:sctp_copy_one:
13280|  6.20k|{
13281|  6.20k|#if defined(__FreeBSD__) || defined(__Userspace__)
13282|  6.20k|	sp->data = m_uiotombuf(uio, M_WAITOK, sp->length, resv_upfront, 0);
  ------------------
  |  |   61|  6.20k|#define	M_WAITOK	0x0002		/* ok to block */
  ------------------
13283|  6.20k|	if (sp->data == NULL) {
  ------------------
  |  Branch (13283:6): [True: 0, False: 6.20k]
  ------------------
13284|       |		/* The only possible error is EFAULT. */
13285|      0|		SCTP_LTRACE_ERR_RET(NULL, NULL, NULL, SCTP_FROM_SCTP_OUTPUT, EFAULT);
13286|      0|		return (EFAULT);
13287|      0|	}
13288|  6.20k|	sp->tail_mbuf = m_last(sp->data);
13289|  6.20k|	return (0);
13290|       |#else
13291|       |	int left;
13292|       |	int cancpy, willcpy, error;
13293|       |	struct mbuf *m, *head;
13294|       |	int cpsz = 0;
13295|       |
13296|       |	/* First one gets a header */
13297|       |	left = sp->length;
13298|       |	head = m = sctp_get_mbuf_for_msg((left + resv_upfront), 0, M_WAITOK, 0, MT_DATA);
13299|       |	if (m == NULL) {
13300|       |		SCTP_LTRACE_ERR_RET(NULL, NULL, NULL, SCTP_FROM_SCTP_OUTPUT, ENOBUFS);
13301|       |		return (ENOBUFS);
13302|       |	}
13303|       |	/*-
13304|       |	 * Add this one for m in now, that way if the alloc fails we won't
13305|       |	 * have a bad cnt.
13306|       |	 */
13307|       |	SCTP_BUF_RESV_UF(m, resv_upfront);
13308|       |	cancpy = (int)M_TRAILINGSPACE(m);
13309|       |	willcpy = min(cancpy, left);
13310|       |	while (left > 0) {
13311|       |		/* move in user data */
13312|       |		error = uiomove(mtod(m, caddr_t), willcpy, uio);
13313|       |		if (error) {
13314|       |			sctp_m_freem(head);
13315|       |			return (error);
13316|       |		}
13317|       |		SCTP_BUF_LEN(m) = willcpy;
13318|       |		left -= willcpy;
13319|       |		cpsz += willcpy;
13320|       |		if (left > 0) {
13321|       |			SCTP_BUF_NEXT(m) = sctp_get_mbuf_for_msg(left, 0, M_WAITOK, 0, MT_DATA);
13322|       |			if (SCTP_BUF_NEXT(m) == NULL) {
13323|       |				/*
13324|       |				 * the head goes back to caller, he can free
13325|       |				 * the rest
13326|       |				 */
13327|       |				sctp_m_freem(head);
13328|       |				SCTP_LTRACE_ERR_RET(NULL, NULL, NULL, SCTP_FROM_SCTP_OUTPUT, ENOBUFS);
13329|       |				return (ENOBUFS);
13330|       |			}
13331|       |			m = SCTP_BUF_NEXT(m);
13332|       |			cancpy = (int)M_TRAILINGSPACE(m);
13333|       |			willcpy = min(cancpy, left);
13334|       |		} else {
13335|       |			sp->tail_mbuf = m;
13336|       |			SCTP_BUF_NEXT(m) = NULL;
13337|       |		}
13338|       |	}
13339|       |	sp->data = head;
13340|       |	sp->length = cpsz;
13341|       |	return (0);
13342|       |#endif
13343|  6.20k|}
sctp_output.c:sctp_set_prsctp_policy:
 6912|  6.20k|{
 6913|       |	/*
 6914|       |	 * We assume that the user wants PR_SCTP_TTL if the user
 6915|       |	 * provides a positive lifetime but does not specify any
 6916|       |	 * PR_SCTP policy.
 6917|       |	 */
 6918|  6.20k|	if (PR_SCTP_ENABLED(sp->sinfo_flags)) {
  ------------------
  |  |  281|  6.20k|#define PR_SCTP_ENABLED(x)        ((PR_SCTP_POLICY(x) != SCTP_PR_SCTP_NONE) && \
  |  |  ------------------
  |  |  |  |  280|  6.20k|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  |  |  ------------------
  |  |               #define PR_SCTP_ENABLED(x)        ((PR_SCTP_POLICY(x) != SCTP_PR_SCTP_NONE) && \
  |  |  ------------------
  |  |  |  |  272|  6.20k|#define SCTP_PR_SCTP_NONE 0x0000 /* Reliable transfer */
  |  |  ------------------
  |  |  |  Branch (281:36): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  282|  6.20k|                                   (PR_SCTP_POLICY(x) != SCTP_PR_SCTP_ALL))
  |  |  ------------------
  |  |  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  |  |  ------------------
  |  |                                                  (PR_SCTP_POLICY(x) != SCTP_PR_SCTP_ALL))
  |  |  ------------------
  |  |  |  |  278|      0|#define SCTP_PR_SCTP_ALL  0x000f /* Used for aggregated stats */
  |  |  ------------------
  |  |  |  Branch (282:36): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 6919|      0|		sp->act_flags |= PR_SCTP_POLICY(sp->sinfo_flags);
  ------------------
  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  ------------------
 6920|  6.20k|	} else if (sp->timetolive > 0) {
  ------------------
  |  Branch (6920:13): [True: 0, False: 6.20k]
  ------------------
 6921|      0|		sp->sinfo_flags |= SCTP_PR_SCTP_TTL;
  ------------------
  |  |  273|      0|#define SCTP_PR_SCTP_TTL  0x0001 /* Time based PR-SCTP */
  ------------------
 6922|      0|		sp->act_flags |= PR_SCTP_POLICY(sp->sinfo_flags);
  ------------------
  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  ------------------
 6923|  6.20k|	} else {
 6924|  6.20k|		return;
 6925|  6.20k|	}
 6926|      0|	switch (PR_SCTP_POLICY(sp->sinfo_flags)) {
  ------------------
  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  ------------------
 6927|      0|	case CHUNK_FLAGS_PR_SCTP_BUF:
  ------------------
  |  |  477|      0|#define CHUNK_FLAGS_PR_SCTP_BUF	        SCTP_PR_SCTP_BUF
  |  |  ------------------
  |  |  |  |  275|      0|#define SCTP_PR_SCTP_BUF  SCTP_PR_SCTP_PRIO /* For backwards compatibility */
  |  |  |  |  ------------------
  |  |  |  |  |  |  274|      0|#define SCTP_PR_SCTP_PRIO 0x0002 /* Buffer based PR-SCTP */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (6927:2): [True: 0, False: 0]
  ------------------
 6928|       |		/*
 6929|       |		 * Time to live is a priority stored in tv_sec when
 6930|       |		 * doing the buffer drop thing.
 6931|       |		 */
 6932|      0|		sp->ts.tv_sec = sp->timetolive;
 6933|      0|		sp->ts.tv_usec = 0;
 6934|      0|		break;
 6935|      0|	case CHUNK_FLAGS_PR_SCTP_TTL:
  ------------------
  |  |  476|      0|#define CHUNK_FLAGS_PR_SCTP_TTL	        SCTP_PR_SCTP_TTL
  |  |  ------------------
  |  |  |  |  273|      0|#define SCTP_PR_SCTP_TTL  0x0001 /* Time based PR-SCTP */
  |  |  ------------------
  ------------------
  |  Branch (6935:2): [True: 0, False: 0]
  ------------------
 6936|      0|	{
 6937|      0|		struct timeval tv;
 6938|      0|		(void)SCTP_GETTIME_TIMEVAL(&sp->ts);
  ------------------
  |  |  991|      0|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 6939|      0|		tv.tv_sec = sp->timetolive / 1000;
 6940|      0|		tv.tv_usec = (sp->timetolive * 1000) % 1000000;
 6941|       |		/* TODO sctp_constants.h needs alternative time macros when
 6942|       |		 *  _KERNEL is undefined.
 6943|       |		 */
 6944|      0|#if !(defined(__FreeBSD__) && !defined(__Userspace__))
 6945|      0|		timeradd(&sp->ts, &tv, &sp->ts);
 6946|       |#else
 6947|       |		timevaladd(&sp->ts, &tv);
 6948|       |#endif
 6949|      0|	}
 6950|      0|		break;
 6951|      0|	case CHUNK_FLAGS_PR_SCTP_RTX:
  ------------------
  |  |  478|      0|#define CHUNK_FLAGS_PR_SCTP_RTX         SCTP_PR_SCTP_RTX
  |  |  ------------------
  |  |  |  |  276|      0|#define SCTP_PR_SCTP_RTX  0x0003 /* Number of retransmissions based PR-SCTP */
  |  |  ------------------
  ------------------
  |  Branch (6951:2): [True: 0, False: 0]
  ------------------
 6952|       |		/*
 6953|       |		 * Time to live is a the number or retransmissions
 6954|       |		 * stored in tv_sec.
 6955|       |		 */
 6956|      0|		sp->ts.tv_sec = sp->timetolive;
 6957|      0|		sp->ts.tv_usec = 0;
 6958|      0|		break;
 6959|      0|	default:
  ------------------
  |  Branch (6959:2): [True: 0, False: 0]
  ------------------
 6960|      0|		SCTPDBG(SCTP_DEBUG_USRREQ1,
 6961|      0|			"Unknown PR_SCTP policy %u.\n",
 6962|      0|			PR_SCTP_POLICY(sp->sinfo_flags));
 6963|      0|		break;
 6964|      0|	}
 6965|      0|}
sctp_output.c:sctp_copy_mbufchain:
 7082|   236k|{
 7083|   236k|	struct mbuf *m;
 7084|   236k|	struct mbuf *appendchain;
 7085|   236k|	caddr_t cp;
 7086|   236k|	int len;
 7087|       |
 7088|   236k|	if (endofchain == NULL) {
  ------------------
  |  Branch (7088:6): [True: 0, False: 236k]
  ------------------
 7089|       |		/* error */
 7090|      0|	error_out:
 7091|      0|		if (outchain)
  ------------------
  |  Branch (7091:7): [True: 0, False: 0]
  ------------------
 7092|      0|			sctp_m_freem(outchain);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 7093|      0|		return (NULL);
 7094|      0|	}
 7095|   236k|	if (can_take_mbuf) {
  ------------------
  |  Branch (7095:6): [True: 73.6k, False: 163k]
  ------------------
 7096|  73.6k|		appendchain = clonechain;
 7097|   163k|	} else {
 7098|   163k|		if (!copy_by_ref &&
  ------------------
  |  Branch (7098:7): [True: 163k, False: 0]
  ------------------
 7099|   163k|		    (sizeofcpy <= (int)((((SCTP_BASE_SYSCTL(sctp_mbuf_threshold_count) - 1) * MLEN) + MHLEN)))) {
  ------------------
  |  |  584|   163k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		    (sizeofcpy <= (int)((((SCTP_BASE_SYSCTL(sctp_mbuf_threshold_count) - 1) * MLEN) + MHLEN)))) {
  ------------------
  |  |  138|   163k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  ------------------
  |  |  |  |   47|   163k|#define MSIZE 256
  |  |  ------------------
  ------------------
              		    (sizeofcpy <= (int)((((SCTP_BASE_SYSCTL(sctp_mbuf_threshold_count) - 1) * MLEN) + MHLEN)))) {
  ------------------
  |  |  139|   163k|#define	MHLEN		((int)(MLEN - sizeof(struct pkthdr)))	/* data len w/pkthdr */
  |  |  ------------------
  |  |  |  |  138|   163k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   163k|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (7099:7): [True: 163k, False: 48]
  ------------------
 7100|       |			/* Its not in a cluster */
 7101|   163k|			if (*endofchain == NULL) {
  ------------------
  |  Branch (7101:8): [True: 18.5k, False: 144k]
  ------------------
 7102|       |				/* lets get a mbuf cluster */
 7103|  18.5k|				if (outchain == NULL) {
  ------------------
  |  Branch (7103:9): [True: 18.5k, False: 0]
  ------------------
 7104|       |					/* This is the general case */
 7105|  18.5k|				new_mbuf:
 7106|  18.5k|					outchain = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   51|  18.5k|#define MCLBYTES 2048
  ------------------
              					outchain = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   60|  18.5k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              					outchain = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |  288|  18.5k|#define	MT_HEADER	MT_DATA	/* packet header, use M_PKTHDR instead */
  |  |  ------------------
  |  |  |  |  287|  18.5k|#define	MT_DATA		1	/* dynamic (data) allocation */
  |  |  ------------------
  ------------------
 7107|  18.5k|					if (outchain == NULL) {
  ------------------
  |  Branch (7107:10): [True: 0, False: 18.5k]
  ------------------
 7108|      0|						goto error_out;
 7109|      0|					}
 7110|  18.5k|					SCTP_BUF_LEN(outchain) = 0;
  ------------------
  |  |  795|  18.5k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  18.5k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 7111|  18.5k|					*endofchain = outchain;
 7112|       |					/* get the prepend space */
 7113|  18.5k|					SCTP_BUF_RESV_UF(outchain, (SCTP_FIRST_MBUF_RESV+4));
  ------------------
  |  |  798|  18.5k|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|  18.5k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 7114|  18.5k|				} else {
 7115|       |					/* We really should not get a NULL in endofchain */
 7116|       |					/* find end */
 7117|      0|					m = outchain;
 7118|      0|					while (m) {
  ------------------
  |  Branch (7118:13): [True: 0, False: 0]
  ------------------
 7119|      0|						if (SCTP_BUF_NEXT(m) == NULL) {
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (7119:11): [True: 0, False: 0]
  ------------------
 7120|      0|							*endofchain = m;
 7121|      0|							break;
 7122|      0|						}
 7123|      0|						m = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 7124|      0|					}
 7125|       |					/* sanity */
 7126|      0|					if (*endofchain == NULL) {
  ------------------
  |  Branch (7126:10): [True: 0, False: 0]
  ------------------
 7127|       |						/* huh, TSNH XXX maybe we should panic */
 7128|      0|						sctp_m_freem(outchain);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 7129|      0|						goto new_mbuf;
 7130|      0|					}
 7131|      0|				}
 7132|       |				/* get the new end of length */
 7133|  18.5k|				len = (int)M_TRAILINGSPACE(*endofchain);
  ------------------
  |  |  355|  18.5k|	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  221|  18.5k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  233|  18.5k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (355:3): [True: 18.5k, False: 0]
  |  |  ------------------
  |  |  356|  18.5k|	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  326|  18.5k|#define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|  18.5k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               #define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  236|  18.5k|#define	M_RDONLY	0x0008	/* associated data is marked read-only */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (326:24): [True: 18.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  327|  18.5k|			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|  18.5k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  233|  18.5k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (327:6): [True: 0, False: 18.5k]
  |  |  |  |  ------------------
  |  |  |  |  328|  18.5k|			 (*((m)->m_ext.ref_cnt) == 1)) )		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  225|  18.5k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (328:5): [True: 18.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|  18.5k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|  18.5k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |  357|  18.5k|		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  219|  18.5k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  218|  18.5k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  |  |  358|  18.5k|	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  227|      0|#define	m_dat		M_dat.M_databuf
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  138|      0|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|      0|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 7134|   144k|			} else {
 7135|       |				/* how much is left at the end? */
 7136|   144k|				len = (int)M_TRAILINGSPACE(*endofchain);
  ------------------
  |  |  355|   144k|	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  221|   144k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  233|   144k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (355:3): [True: 132k, False: 12.1k]
  |  |  ------------------
  |  |  356|   144k|	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  326|   132k|#define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|   132k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               #define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  236|   132k|#define	M_RDONLY	0x0008	/* associated data is marked read-only */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (326:24): [True: 132k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  327|   132k|			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|   132k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  233|   132k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (327:6): [True: 0, False: 132k]
  |  |  |  |  ------------------
  |  |  |  |  328|   132k|			 (*((m)->m_ext.ref_cnt) == 1)) )		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  225|   132k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (328:5): [True: 130k, False: 2.33k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|   130k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|   130k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |  357|   130k|		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  219|   130k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  218|   130k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  |  |  358|   144k|	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  227|  12.1k|#define	m_dat		M_dat.M_databuf
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  138|  12.1k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  12.1k|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  219|  12.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  218|  12.1k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 7137|   144k|			}
 7138|       |			/* Find the end of the data, for appending */
 7139|   163k|			cp = (mtod((*endofchain), caddr_t) + SCTP_BUF_LEN((*endofchain)));
  ------------------
  |  |   96|   163k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|   163k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
              			cp = (mtod((*endofchain), caddr_t) + SCTP_BUF_LEN((*endofchain)));
  ------------------
  |  |  795|   163k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   163k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 7140|       |
 7141|       |			/* Now lets copy it out */
 7142|   163k|			if (len >= sizeofcpy) {
  ------------------
  |  Branch (7142:8): [True: 160k, False: 2.97k]
  ------------------
 7143|       |				/* It all fits, copy it in */
 7144|   160k|				m_copydata(clonechain, 0, sizeofcpy, cp);
 7145|   160k|				SCTP_BUF_LEN((*endofchain)) += sizeofcpy;
  ------------------
  |  |  795|   160k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   160k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 7146|   160k|			} else {
 7147|       |				/* fill up the end of the chain */
 7148|  2.97k|				if (len > 0) {
  ------------------
  |  Branch (7148:9): [True: 609, False: 2.36k]
  ------------------
 7149|    609|					m_copydata(clonechain, 0, len, cp);
 7150|    609|					SCTP_BUF_LEN((*endofchain)) += len;
  ------------------
  |  |  795|    609|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    609|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 7151|       |					/* now we need another one */
 7152|    609|					sizeofcpy -= len;
 7153|    609|				}
 7154|  2.97k|				m = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   51|  2.97k|#define MCLBYTES 2048
  ------------------
              				m = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |   60|  2.97k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              				m = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_HEADER);
  ------------------
  |  |  288|  2.97k|#define	MT_HEADER	MT_DATA	/* packet header, use M_PKTHDR instead */
  |  |  ------------------
  |  |  |  |  287|  2.97k|#define	MT_DATA		1	/* dynamic (data) allocation */
  |  |  ------------------
  ------------------
 7155|  2.97k|				if (m == NULL) {
  ------------------
  |  Branch (7155:9): [True: 0, False: 2.97k]
  ------------------
 7156|       |					/* We failed */
 7157|      0|					goto error_out;
 7158|      0|				}
 7159|  2.97k|				SCTP_BUF_NEXT((*endofchain)) = m;
  ------------------
  |  |  796|  2.97k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  2.97k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 7160|  2.97k|				*endofchain = m;
 7161|  2.97k|				cp = mtod((*endofchain), caddr_t);
  ------------------
  |  |   96|  2.97k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  2.97k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 7162|  2.97k|				m_copydata(clonechain, len, sizeofcpy, cp);
 7163|  2.97k|				SCTP_BUF_LEN((*endofchain)) += sizeofcpy;
  ------------------
  |  |  795|  2.97k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.97k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 7164|  2.97k|			}
 7165|   163k|			return (outchain);
 7166|   163k|		} else {
 7167|       |			/* copy the old fashion way */
 7168|     48|			appendchain = SCTP_M_COPYM(clonechain, 0, M_COPYALL, M_NOWAIT);
  ------------------
  |  |  764|     48|#define SCTP_M_COPYM	m_copym
  ------------------
              			appendchain = SCTP_M_COPYM(clonechain, 0, M_COPYALL, M_NOWAIT);
  ------------------
  |  |   75|     48|#define	M_COPYALL	1000000000
  ------------------
              			appendchain = SCTP_M_COPYM(clonechain, 0, M_COPYALL, M_NOWAIT);
  ------------------
  |  |   60|     48|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 7169|       |#ifdef SCTP_MBUF_LOGGING
 7170|       |			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MBUF_LOGGING_ENABLE) {
 7171|       |				sctp_log_mbc(appendchain, SCTP_MBUF_ICOPY);
 7172|       |			}
 7173|       |#endif
 7174|     48|		}
 7175|   163k|	}
 7176|  73.7k|	if (appendchain == NULL) {
  ------------------
  |  Branch (7176:6): [True: 0, False: 73.7k]
  ------------------
 7177|       |		/* error */
 7178|      0|		if (outchain)
  ------------------
  |  Branch (7178:7): [True: 0, False: 0]
  ------------------
 7179|      0|			sctp_m_freem(outchain);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 7180|      0|		return (NULL);
 7181|      0|	}
 7182|  73.7k|	if (outchain) {
  ------------------
  |  Branch (7182:6): [True: 62.8k, False: 10.8k]
  ------------------
 7183|       |		/* tack on to the end */
 7184|  62.8k|		if (*endofchain != NULL) {
  ------------------
  |  Branch (7184:7): [True: 62.8k, False: 0]
  ------------------
 7185|  62.8k|			SCTP_BUF_NEXT(((*endofchain))) = appendchain;
  ------------------
  |  |  796|  62.8k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  62.8k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 7186|  62.8k|		} else {
 7187|      0|			m = outchain;
 7188|      0|			while (m) {
  ------------------
  |  Branch (7188:11): [True: 0, False: 0]
  ------------------
 7189|      0|				if (SCTP_BUF_NEXT(m) == NULL) {
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (7189:9): [True: 0, False: 0]
  ------------------
 7190|      0|					SCTP_BUF_NEXT(m) = appendchain;
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 7191|      0|					break;
 7192|      0|				}
 7193|      0|				m = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 7194|      0|			}
 7195|      0|		}
 7196|       |		/*
 7197|       |		 * save off the end and update the end-chain
 7198|       |		 * position
 7199|       |		 */
 7200|  62.8k|		m = appendchain;
 7201|  80.4k|		while (m) {
  ------------------
  |  Branch (7201:10): [True: 80.4k, False: 0]
  ------------------
 7202|  80.4k|			if (SCTP_BUF_NEXT(m) == NULL) {
  ------------------
  |  |  796|  80.4k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  80.4k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (7202:8): [True: 62.8k, False: 17.6k]
  ------------------
 7203|  62.8k|				*endofchain = m;
 7204|  62.8k|				break;
 7205|  62.8k|			}
 7206|  17.6k|			m = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|  17.6k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  17.6k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 7207|  17.6k|		}
 7208|  62.8k|		return (outchain);
 7209|  62.8k|	} else {
 7210|       |		/* save off the end and update the end-chain position */
 7211|  10.8k|		m = appendchain;
 7212|  11.1k|		while (m) {
  ------------------
  |  Branch (7212:10): [True: 11.1k, False: 0]
  ------------------
 7213|  11.1k|			if (SCTP_BUF_NEXT(m) == NULL) {
  ------------------
  |  |  796|  11.1k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  11.1k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (7213:8): [True: 10.8k, False: 236]
  ------------------
 7214|  10.8k|				*endofchain = m;
 7215|  10.8k|				break;
 7216|  10.8k|			}
 7217|    236|			m = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|    236|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    236|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 7218|    236|		}
 7219|  10.8k|		return (appendchain);
 7220|  10.8k|	}
 7221|  73.7k|}

SCTP6_ARE_ADDR_EQUAL:
   83|  41.6k|{
   84|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
   85|       |#if defined(__APPLE__) && !defined(__Userspace__)
   86|       |	struct in6_addr tmp_a, tmp_b;
   87|       |
   88|       |	tmp_a = a->sin6_addr;
   89|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD)
   90|       |	if (in6_embedscope(&tmp_a, a, NULL, NULL) != 0) {
   91|       |#else
   92|       |	if (in6_embedscope(&tmp_a, a, NULL, NULL, NULL) != 0) {
   93|       |#endif
   94|       |		return (0);
   95|       |	}
   96|       |	tmp_b = b->sin6_addr;
   97|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD)
   98|       |	if (in6_embedscope(&tmp_b, b, NULL, NULL) != 0) {
   99|       |#else
  100|       |	if (in6_embedscope(&tmp_b, b, NULL, NULL, NULL) != 0) {
  101|       |#endif
  102|       |		return (0);
  103|       |	}
  104|       |	return (IN6_ARE_ADDR_EQUAL(&tmp_a, &tmp_b));
  105|       |#elif defined(SCTP_KAME)
  106|       |	struct sockaddr_in6 tmp_a, tmp_b;
  107|       |
  108|       |	memcpy(&tmp_a, a, sizeof(struct sockaddr_in6));
  109|       |	if (sa6_embedscope(&tmp_a, MODULE_GLOBAL(ip6_use_defzone)) != 0) {
  110|       |		return (0);
  111|       |	}
  112|       |	memcpy(&tmp_b, b, sizeof(struct sockaddr_in6));
  113|       |	if (sa6_embedscope(&tmp_b, MODULE_GLOBAL(ip6_use_defzone)) != 0) {
  114|       |		return (0);
  115|       |	}
  116|       |	return (IN6_ARE_ADDR_EQUAL(&tmp_a.sin6_addr, &tmp_b.sin6_addr));
  117|       |#else
  118|       |	struct in6_addr tmp_a, tmp_b;
  119|       |
  120|       |	tmp_a = a->sin6_addr;
  121|       |	if (in6_embedscope(&tmp_a, a) != 0) {
  122|       |		return (0);
  123|       |	}
  124|       |	tmp_b = b->sin6_addr;
  125|       |	if (in6_embedscope(&tmp_b, b) != 0) {
  126|       |		return (0);
  127|       |	}
  128|       |	return (IN6_ARE_ADDR_EQUAL(&tmp_a, &tmp_b));
  129|       |#endif
  130|       |#else
  131|  41.6k|	return (IN6_ARE_ADDR_EQUAL(&(a->sin6_addr), &(b->sin6_addr)));
  132|  41.6k|#endif /* SCTP_EMBEDDED_V6_SCOPE */
  133|  41.6k|}
sctp_allocate_vrf:
  202|      1|{
  203|      1|	struct sctp_vrf *vrf = NULL;
  204|      1|	struct sctp_vrflist *bucket;
  205|       |
  206|       |	/* First allocate the VRF structure */
  207|      1|	vrf = sctp_find_vrf(vrf_id);
  208|      1|	if (vrf) {
  ------------------
  |  Branch (208:6): [True: 0, False: 1]
  ------------------
  209|       |		/* Already allocated */
  210|      0|		return (vrf);
  211|      0|	}
  212|      1|	SCTP_MALLOC(vrf, struct sctp_vrf *, sizeof(struct sctp_vrf),
  ------------------
  |  |  669|      1|	do {								\
  |  |  670|      1|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|      1|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|      1|    do {								\
  |  |  |  |  198|      1|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      2|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|      1|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|      1|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  213|      1|		    SCTP_M_VRF);
  214|      1|	if (vrf == NULL) {
  ------------------
  |  Branch (214:6): [True: 0, False: 1]
  ------------------
  215|       |		/* No memory */
  216|      0|#ifdef INVARIANTS
  217|      0|		panic("No memory for VRF:%d", vrf_id);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  218|      0|#endif
  219|      0|		return (NULL);
  220|      0|	}
  221|       |	/* setup the VRF */
  222|      1|	memset(vrf, 0, sizeof(struct sctp_vrf));
  223|      1|	vrf->vrf_id = vrf_id;
  224|      1|	LIST_INIT(&vrf->ifnlist);
  225|      1|	vrf->total_ifa_count = 0;
  226|      1|	vrf->refcount = 0;
  227|       |	/* now also setup table ids */
  228|      1|	SCTP_INIT_VRF_TABLEID(vrf);
  229|       |	/* Init the HASH of addresses */
  230|      1|	vrf->vrf_addr_hash = SCTP_HASH_INIT(SCTP_VRF_ADDR_HASH_SIZE,
  ------------------
  |  |  759|      1|#define SCTP_HASH_INIT(size, hashmark) sctp_hashinit_flags(size, M_PCB, hashmark, HASH_NOWAIT)
  |  |  ------------------
  |  |  |  |  755|      1|#define HASH_NOWAIT 0x00000001
  |  |  ------------------
  ------------------
  231|      1|					    &vrf->vrf_addr_hashmark);
  232|      1|	if (vrf->vrf_addr_hash == NULL) {
  ------------------
  |  Branch (232:6): [True: 0, False: 1]
  ------------------
  233|       |		/* No memory */
  234|      0|#ifdef INVARIANTS
  235|      0|		panic("No memory for VRF:%d", vrf_id);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  236|      0|#endif
  237|      0|		SCTP_FREE(vrf, SCTP_M_VRF);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  238|      0|		return (NULL);
  239|      0|	}
  240|       |
  241|       |	/* Add it to the hash table */
  242|      1|	bucket = &SCTP_BASE_INFO(sctp_vrfhash)[(vrf_id & SCTP_BASE_INFO(hashvrfmark))];
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	bucket = &SCTP_BASE_INFO(sctp_vrfhash)[(vrf_id & SCTP_BASE_INFO(hashvrfmark))];
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
  243|      1|	LIST_INSERT_HEAD(bucket, vrf, next_vrf);
  244|      1|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_vrfs), 1);
  ------------------
  |  |   94|      1|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  245|      1|	return (vrf);
  246|      1|}
sctp_find_ifn:
  250|  3.14k|{
  251|  3.14k|	struct sctp_ifn *sctp_ifnp;
  252|  3.14k|	struct sctp_ifnlist *hash_ifn_head;
  253|       |
  254|       |	/* We assume the lock is held for the addresses
  255|       |	 * if that's wrong problems could occur :-)
  256|       |	 */
  257|  3.14k|	SCTP_IPI_ADDR_LOCK_ASSERT();
  258|  3.14k|	hash_ifn_head = &SCTP_BASE_INFO(vrf_ifn_hash)[(ifn_index & SCTP_BASE_INFO(vrf_ifn_hashmark))];
  ------------------
  |  |  581|  3.14k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	hash_ifn_head = &SCTP_BASE_INFO(vrf_ifn_hash)[(ifn_index & SCTP_BASE_INFO(vrf_ifn_hashmark))];
  ------------------
  |  |  581|  3.14k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
  259|  9.42k|	LIST_FOREACH(sctp_ifnp, hash_ifn_head, next_bucket) {
  260|  9.42k|		if (sctp_ifnp->ifn_index == ifn_index) {
  ------------------
  |  Branch (260:7): [True: 3.14k, False: 6.28k]
  ------------------
  261|  3.14k|			return (sctp_ifnp);
  262|  3.14k|		}
  263|  6.28k|		if (sctp_ifnp->ifn_p && ifn && (sctp_ifnp->ifn_p == ifn)) {
  ------------------
  |  Branch (263:7): [True: 0, False: 6.28k]
  |  Branch (263:27): [True: 0, False: 0]
  |  Branch (263:34): [True: 0, False: 0]
  ------------------
  264|      0|			return (sctp_ifnp);
  265|      0|		}
  266|  6.28k|	}
  267|      3|	return (NULL);
  268|  3.14k|}
sctp_find_vrf:
  272|   144k|{
  273|   144k|	struct sctp_vrflist *bucket;
  274|   144k|	struct sctp_vrf *liste;
  275|       |
  276|   144k|	bucket = &SCTP_BASE_INFO(sctp_vrfhash)[(vrf_id & SCTP_BASE_INFO(hashvrfmark))];
  ------------------
  |  |  581|   144k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	bucket = &SCTP_BASE_INFO(sctp_vrfhash)[(vrf_id & SCTP_BASE_INFO(hashvrfmark))];
  ------------------
  |  |  581|   144k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
  277|   144k|	LIST_FOREACH(liste, bucket, next_vrf) {
  278|   144k|		if (vrf_id == liste->vrf_id) {
  ------------------
  |  Branch (278:7): [True: 144k, False: 0]
  ------------------
  279|   144k|			return (liste);
  280|   144k|		}
  281|   144k|	}
  282|      1|	return (NULL);
  283|   144k|}
sctp_free_ifa:
  326|  11.5k|{
  327|  11.5k|	if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&sctp_ifap->refcount)) {
  ------------------
  |  |  115|  11.5k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  ------------------
  |  |  |  |  103|  11.5k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  ------------------
  |  |  |  Branch (115:49): [True: 0, False: 11.5k]
  |  |  ------------------
  ------------------
  328|       |		/* We zero'd the count */
  329|      0|		if (sctp_ifap->ifn_p) {
  ------------------
  |  Branch (329:7): [True: 0, False: 0]
  ------------------
  330|      0|			sctp_free_ifn(sctp_ifap->ifn_p);
  331|      0|		}
  332|      0|		SCTP_FREE(sctp_ifap, SCTP_M_IFA);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  333|      0|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_ifas), 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
  334|      0|	}
  335|  11.5k|}
sctp_add_addr_to_vrf:
  533|      3|{
  534|      3|	struct sctp_vrf *vrf;
  535|      3|	struct sctp_ifn *sctp_ifnp, *new_sctp_ifnp;
  536|      3|	struct sctp_ifa *sctp_ifap, *new_sctp_ifap;
  537|      3|	struct sctp_ifalist *hash_addr_head;
  538|      3|	struct sctp_ifnlist *hash_ifn_head;
  539|      3|	uint32_t hash_of_addr;
  540|      3|	int new_ifn_af = 0;
  541|       |
  542|       |#ifdef SCTP_DEBUG
  543|       |	SCTPDBG(SCTP_DEBUG_PCB4, "vrf_id 0x%x: adding address: ", vrf_id);
  544|       |	SCTPDBG_ADDR(SCTP_DEBUG_PCB4, addr);
  545|       |#endif
  546|      3|	SCTP_MALLOC(new_sctp_ifnp, struct sctp_ifn *,
  ------------------
  |  |  669|      3|	do {								\
  |  |  670|      3|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|      3|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|      3|    do {								\
  |  |  |  |  198|      3|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      6|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|      3|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|      3|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  547|      3|	            sizeof(struct sctp_ifn), SCTP_M_IFN);
  548|      3|	if (new_sctp_ifnp == NULL) {
  ------------------
  |  Branch (548:6): [True: 0, False: 3]
  ------------------
  549|      0|#ifdef INVARIANTS
  550|      0|		panic("No memory for IFN");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  551|      0|#endif
  552|      0|		return (NULL);
  553|      0|	}
  554|      3|	SCTP_MALLOC(new_sctp_ifap, struct sctp_ifa *, sizeof(struct sctp_ifa), SCTP_M_IFA);
  ------------------
  |  |  669|      3|	do {								\
  |  |  670|      3|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|      3|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|      3|    do {								\
  |  |  |  |  198|      3|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|      6|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|      3|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|      3|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  555|      3|	if (new_sctp_ifap == NULL) {
  ------------------
  |  Branch (555:6): [True: 0, False: 3]
  ------------------
  556|      0|#ifdef INVARIANTS
  557|      0|		panic("No memory for IFA");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  558|      0|#endif
  559|      0|		SCTP_FREE(new_sctp_ifnp, SCTP_M_IFN);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  560|      0|		return (NULL);
  561|      0|	}
  562|       |
  563|      3|	SCTP_IPI_ADDR_WLOCK();
  ------------------
  |  |  601|      3|	KASSERT(pthread_rwlock_wrlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      3|	do {                         \
  |  |  |  |  113|      3|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      3|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  564|      3|	sctp_ifnp = sctp_find_ifn(ifn, ifn_index);
  565|      3|	if (sctp_ifnp) {
  ------------------
  |  Branch (565:6): [True: 0, False: 3]
  ------------------
  566|      0|		vrf = sctp_ifnp->vrf;
  567|      3|	} else {
  568|      3|		vrf = sctp_find_vrf(vrf_id);
  569|      3|		if (vrf == NULL) {
  ------------------
  |  Branch (569:7): [True: 0, False: 3]
  ------------------
  570|      0|			vrf = sctp_allocate_vrf(vrf_id);
  571|      0|			if (vrf == NULL) {
  ------------------
  |  Branch (571:8): [True: 0, False: 0]
  ------------------
  572|      0|				SCTP_IPI_ADDR_WUNLOCK();
  ------------------
  |  |  603|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  573|      0|				SCTP_FREE(new_sctp_ifnp, SCTP_M_IFN);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  574|      0|				SCTP_FREE(new_sctp_ifap, SCTP_M_IFA);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  575|      0|				return (NULL);
  576|      0|			}
  577|      0|		}
  578|      3|	}
  579|      3|	if (sctp_ifnp == NULL) {
  ------------------
  |  Branch (579:6): [True: 3, False: 0]
  ------------------
  580|       |		/* build one and add it, can't hold lock
  581|       |		 * until after malloc done though.
  582|       |		 */
  583|      3|		sctp_ifnp = new_sctp_ifnp;
  584|      3|		new_sctp_ifnp = NULL;
  585|      3|		memset(sctp_ifnp, 0, sizeof(struct sctp_ifn));
  586|      3|		sctp_ifnp->ifn_index = ifn_index;
  587|      3|		sctp_ifnp->ifn_p = ifn;
  588|      3|		sctp_ifnp->ifn_type = ifn_type;
  589|      3|		sctp_ifnp->refcount = 0;
  590|      3|		sctp_ifnp->vrf = vrf;
  591|      3|		atomic_add_int(&vrf->refcount, 1);
  ------------------
  |  |   94|      3|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  592|      3|		sctp_ifnp->ifn_mtu = SCTP_GATHER_MTU_FROM_IFN_INFO(ifn, ifn_index);
  ------------------
  |  |  886|      3|#define SCTP_GATHER_MTU_FROM_IFN_INFO(ifn, ifn_index) sctp_userspace_get_mtu_from_ifn(ifn_index)
  ------------------
  593|      3|		if (if_name != NULL) {
  ------------------
  |  Branch (593:7): [True: 3, False: 0]
  ------------------
  594|      3|			SCTP_SNPRINTF(sctp_ifnp->ifn_name, SCTP_IFNAMSIZ, "%s", if_name);
  ------------------
  |  |  814|      3|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 3]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
  595|      3|		} else {
  596|      0|			SCTP_SNPRINTF(sctp_ifnp->ifn_name, SCTP_IFNAMSIZ, "%s", "unknown");
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
  597|      0|		}
  598|      3|		hash_ifn_head = &SCTP_BASE_INFO(vrf_ifn_hash)[(ifn_index & SCTP_BASE_INFO(vrf_ifn_hashmark))];
  ------------------
  |  |  581|      3|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              		hash_ifn_head = &SCTP_BASE_INFO(vrf_ifn_hash)[(ifn_index & SCTP_BASE_INFO(vrf_ifn_hashmark))];
  ------------------
  |  |  581|      3|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
  599|      3|		LIST_INIT(&sctp_ifnp->ifalist);
  600|      3|		LIST_INSERT_HEAD(hash_ifn_head, sctp_ifnp, next_bucket);
  601|      3|		LIST_INSERT_HEAD(&vrf->ifnlist, sctp_ifnp, next_ifn);
  602|      3|		atomic_add_int(&SCTP_BASE_INFO(ipi_count_ifns), 1);
  ------------------
  |  |   94|      3|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  603|      3|		new_ifn_af = 1;
  604|      3|	}
  605|      3|	sctp_ifap = sctp_find_ifa_by_addr(addr, vrf->vrf_id, SCTP_ADDR_LOCKED);
  ------------------
  |  |  965|      3|#define SCTP_ADDR_LOCKED 1
  ------------------
  606|      3|	if (sctp_ifap) {
  ------------------
  |  Branch (606:6): [True: 0, False: 3]
  ------------------
  607|       |		/* Hmm, it already exists? */
  608|      0|		if ((sctp_ifap->ifn_p) &&
  ------------------
  |  Branch (608:7): [True: 0, False: 0]
  ------------------
  609|      0|		    (sctp_ifap->ifn_p->ifn_index == ifn_index)) {
  ------------------
  |  Branch (609:7): [True: 0, False: 0]
  ------------------
  610|      0|			SCTPDBG(SCTP_DEBUG_PCB4, "Using existing ifn %s (0x%x) for ifa %p\n",
  611|      0|				sctp_ifap->ifn_p->ifn_name, ifn_index,
  612|      0|				(void *)sctp_ifap);
  613|      0|			if (new_ifn_af) {
  ------------------
  |  Branch (613:8): [True: 0, False: 0]
  ------------------
  614|       |				/* Remove the created one that we don't want */
  615|      0|				sctp_delete_ifn(sctp_ifnp, SCTP_ADDR_LOCKED);
  ------------------
  |  |  965|      0|#define SCTP_ADDR_LOCKED 1
  ------------------
  616|      0|			}
  617|      0|			if (sctp_ifap->localifa_flags & SCTP_BEING_DELETED) {
  ------------------
  |  |   90|      0|#define SCTP_BEING_DELETED      0x00000002	/* being deleted,
  ------------------
  |  Branch (617:8): [True: 0, False: 0]
  ------------------
  618|       |				/* easy to solve, just switch back to active */
  619|      0|				SCTPDBG(SCTP_DEBUG_PCB4, "Clearing deleted ifa flag\n");
  620|      0|				sctp_ifap->localifa_flags = SCTP_ADDR_VALID;
  ------------------
  |  |   89|      0|#define SCTP_ADDR_VALID         0x00000001	/* its up and active */
  ------------------
  621|      0|				sctp_ifap->ifn_p = sctp_ifnp;
  622|      0|				atomic_add_int(&sctp_ifap->ifn_p->refcount, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  623|      0|			}
  624|      0|		exit_stage_left:
  625|      0|			SCTP_IPI_ADDR_WUNLOCK();
  ------------------
  |  |  603|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  626|      0|			if (new_sctp_ifnp != NULL) {
  ------------------
  |  Branch (626:8): [True: 0, False: 0]
  ------------------
  627|      0|				SCTP_FREE(new_sctp_ifnp, SCTP_M_IFN);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  628|      0|			}
  629|      0|			SCTP_FREE(new_sctp_ifap, SCTP_M_IFA);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  630|      0|			return (sctp_ifap);
  631|      0|		} else {
  632|      0|			if (sctp_ifap->ifn_p) {
  ------------------
  |  Branch (632:8): [True: 0, False: 0]
  ------------------
  633|       |				/*
  634|       |				 * The last IFN gets the address, remove the
  635|       |				 * old one
  636|       |				 */
  637|      0|				SCTPDBG(SCTP_DEBUG_PCB4, "Moving ifa %p from %s (0x%x) to %s (0x%x)\n",
  638|      0|					(void *)sctp_ifap, sctp_ifap->ifn_p->ifn_name,
  639|      0|					sctp_ifap->ifn_p->ifn_index, if_name,
  640|      0|					ifn_index);
  641|       |				/* remove the address from the old ifn */
  642|      0|				sctp_remove_ifa_from_ifn(sctp_ifap);
  643|       |				/* move the address over to the new ifn */
  644|      0|				sctp_add_ifa_to_ifn(sctp_ifnp, sctp_ifap);
  645|      0|				goto exit_stage_left;
  646|      0|			} else {
  647|       |				/* repair ifnp which was NULL ? */
  648|      0|				sctp_ifap->localifa_flags = SCTP_ADDR_VALID;
  ------------------
  |  |   89|      0|#define SCTP_ADDR_VALID         0x00000001	/* its up and active */
  ------------------
  649|      0|				SCTPDBG(SCTP_DEBUG_PCB4, "Repairing ifn %p for ifa %p\n",
  650|      0|					(void *)sctp_ifnp, (void *)sctp_ifap);
  651|      0|				sctp_add_ifa_to_ifn(sctp_ifnp, sctp_ifap);
  652|      0|			}
  653|      0|			goto exit_stage_left;
  654|      0|		}
  655|      0|	}
  656|      3|	sctp_ifap = new_sctp_ifap;
  657|      3|	memset(sctp_ifap, 0, sizeof(struct sctp_ifa));
  658|      3|	sctp_ifap->ifn_p = sctp_ifnp;
  659|      3|	atomic_add_int(&sctp_ifnp->refcount, 1);
  ------------------
  |  |   94|      3|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  660|      3|	sctp_ifap->vrf_id = vrf_id;
  661|      3|	sctp_ifap->ifa = ifa;
  662|       |#ifdef HAVE_SA_LEN
  663|       |	memcpy(&sctp_ifap->address, addr, addr->sa_len);
  664|       |#else
  665|      3|	switch (addr->sa_family) {
  666|      0|#ifdef INET
  667|      2|	case AF_INET:
  ------------------
  |  Branch (667:2): [True: 2, False: 1]
  ------------------
  668|      2|		memcpy(&sctp_ifap->address, addr, sizeof(struct sockaddr_in));
  669|      2|		break;
  670|      0|#endif
  671|      0|#ifdef INET6
  672|      0|	case AF_INET6:
  ------------------
  |  Branch (672:2): [True: 0, False: 3]
  ------------------
  673|      0|		memcpy(&sctp_ifap->address, addr, sizeof(struct sockaddr_in6));
  674|      0|		break;
  675|      0|#endif
  676|      0|#if defined(__Userspace__)
  677|      1|	case AF_CONN:
  ------------------
  |  | 1008|      1|#define AF_CONN 123
  ------------------
  |  Branch (677:2): [True: 1, False: 2]
  ------------------
  678|      1|		memcpy(&sctp_ifap->address, addr, sizeof(struct sockaddr_conn));
  679|      1|		break;
  680|      0|#endif
  681|      0|	default:
  ------------------
  |  Branch (681:2): [True: 0, False: 3]
  ------------------
  682|       |		/* TSNH */
  683|      0|		break;
  684|      3|	}
  685|      3|#endif
  686|      3|	sctp_ifap->localifa_flags = SCTP_ADDR_VALID | SCTP_ADDR_DEFER_USE;
  ------------------
  |  |   89|      3|#define SCTP_ADDR_VALID         0x00000001	/* its up and active */
  ------------------
              	sctp_ifap->localifa_flags = SCTP_ADDR_VALID | SCTP_ADDR_DEFER_USE;
  ------------------
  |  |   97|      3|#define SCTP_ADDR_DEFER_USE     0x00000004	/* Hold off using this one */
  ------------------
  687|      3|	sctp_ifap->flags = ifa_flags;
  688|       |	/* Set scope */
  689|      3|	switch (sctp_ifap->address.sa.sa_family) {
  690|      0|#ifdef INET
  691|      2|	case AF_INET:
  ------------------
  |  Branch (691:2): [True: 2, False: 1]
  ------------------
  692|      2|	{
  693|      2|		struct sockaddr_in *sin;
  694|       |
  695|      2|		sin = &sctp_ifap->address.sin;
  696|      2|		if (SCTP_IFN_IS_IFT_LOOP(sctp_ifap->ifn_p) ||
  ------------------
  |  |  650|      4|#define SCTP_IFN_IS_IFT_LOOP(ifn) (strncmp((ifn)->ifn_name, "lo", 2) == 0)
  |  |  ------------------
  |  |  |  Branch (650:35): [True: 1, False: 1]
  |  |  ------------------
  ------------------
  697|      2|		    (IN4_ISLOOPBACK_ADDRESS(&sin->sin_addr))) {
  ------------------
  |  |  977|      1|    (((uint8_t *)&(a)->s_addr)[0] == 127)
  ------------------
  |  Branch (697:7): [True: 0, False: 1]
  ------------------
  698|      1|			sctp_ifap->src_is_loop = 1;
  699|      1|		}
  700|      2|		if ((IN4_ISPRIVATE_ADDRESS(&sin->sin_addr))) {
  ------------------
  |  |  969|      2|   ((((uint8_t *)&(a)->s_addr)[0] == 10) || \
  |  |  ------------------
  |  |  |  Branch (969:5): [True: 0, False: 2]
  |  |  ------------------
  |  |  970|      2|    ((((uint8_t *)&(a)->s_addr)[0] == 172) && \
  |  |  ------------------
  |  |  |  Branch (970:6): [True: 0, False: 2]
  |  |  ------------------
  |  |  971|      2|     (((uint8_t *)&(a)->s_addr)[1] >= 16) && \
  |  |  ------------------
  |  |  |  Branch (971:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  972|      2|     (((uint8_t *)&(a)->s_addr)[1] <= 32)) || \
  |  |  ------------------
  |  |  |  Branch (972:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  973|      2|    ((((uint8_t *)&(a)->s_addr)[0] == 192) && \
  |  |  ------------------
  |  |  |  Branch (973:6): [True: 1, False: 1]
  |  |  ------------------
  |  |  974|      2|     (((uint8_t *)&(a)->s_addr)[1] == 168)))
  |  |  ------------------
  |  |  |  Branch (974:6): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  701|      1|			sctp_ifap->src_is_priv = 1;
  702|      1|		}
  703|      2|		sctp_ifnp->num_v4++;
  704|      2|		if (new_ifn_af)
  ------------------
  |  Branch (704:7): [True: 2, False: 0]
  ------------------
  705|      2|		    new_ifn_af = AF_INET;
  706|      2|		break;
  707|      0|	}
  708|      0|#endif
  709|      0|#ifdef INET6
  710|      0|	case AF_INET6:
  ------------------
  |  Branch (710:2): [True: 0, False: 3]
  ------------------
  711|      0|	{
  712|       |		/* ok to use deprecated addresses? */
  713|      0|		struct sockaddr_in6 *sin6;
  714|       |
  715|      0|		sin6 = &sctp_ifap->address.sin6;
  716|      0|		if (SCTP_IFN_IS_IFT_LOOP(sctp_ifap->ifn_p) ||
  ------------------
  |  |  650|      0|#define SCTP_IFN_IS_IFT_LOOP(ifn) (strncmp((ifn)->ifn_name, "lo", 2) == 0)
  |  |  ------------------
  |  |  |  Branch (650:35): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  717|      0|		    (IN6_IS_ADDR_LOOPBACK(&sin6->sin6_addr))) {
  ------------------
  |  Branch (717:7): [True: 0, False: 0]
  ------------------
  718|      0|			sctp_ifap->src_is_loop = 1;
  719|      0|		}
  720|      0|		if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
  721|      0|			sctp_ifap->src_is_priv = 1;
  722|      0|		}
  723|      0|		sctp_ifnp->num_v6++;
  724|      0|		if (new_ifn_af)
  ------------------
  |  Branch (724:7): [True: 0, False: 0]
  ------------------
  725|      0|			new_ifn_af = AF_INET6;
  726|      0|		break;
  727|      0|	}
  728|      0|#endif
  729|      0|#if defined(__Userspace__)
  730|      1|	case AF_CONN:
  ------------------
  |  | 1008|      1|#define AF_CONN 123
  ------------------
  |  Branch (730:2): [True: 1, False: 2]
  ------------------
  731|      1|		if (new_ifn_af)
  ------------------
  |  Branch (731:7): [True: 1, False: 0]
  ------------------
  732|      1|			new_ifn_af = AF_CONN;
  ------------------
  |  | 1008|      1|#define AF_CONN 123
  ------------------
  733|      1|		break;
  734|      0|#endif
  735|      0|	default:
  ------------------
  |  Branch (735:2): [True: 0, False: 3]
  ------------------
  736|      0|		new_ifn_af = 0;
  737|      0|		break;
  738|      3|	}
  739|      3|	hash_of_addr = sctp_get_ifa_hash_val(&sctp_ifap->address.sa);
  740|       |
  741|      3|	if ((sctp_ifap->src_is_priv == 0) &&
  ------------------
  |  Branch (741:6): [True: 2, False: 1]
  ------------------
  742|      3|	    (sctp_ifap->src_is_loop == 0)) {
  ------------------
  |  Branch (742:6): [True: 1, False: 1]
  ------------------
  743|      1|		sctp_ifap->src_is_glob = 1;
  744|      1|	}
  745|      3|	hash_addr_head = &vrf->vrf_addr_hash[(hash_of_addr & vrf->vrf_addr_hashmark)];
  746|      3|	LIST_INSERT_HEAD(hash_addr_head, sctp_ifap, next_bucket);
  747|      3|	sctp_ifap->refcount = 1;
  748|      3|	LIST_INSERT_HEAD(&sctp_ifnp->ifalist, sctp_ifap, next_ifa);
  749|      3|	sctp_ifnp->ifa_count++;
  750|      3|	vrf->total_ifa_count++;
  751|      3|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_ifas), 1);
  ------------------
  |  |   94|      3|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  752|      3|	if (new_ifn_af) {
  ------------------
  |  Branch (752:6): [True: 3, False: 0]
  ------------------
  753|      3|		sctp_ifnp->registered_af = new_ifn_af;
  754|      3|	}
  755|      3|	SCTP_IPI_ADDR_WUNLOCK();
  ------------------
  |  |  603|      3|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      3|	do {                         \
  |  |  |  |  113|      3|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      3|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  756|      3|	if (new_sctp_ifnp != NULL) {
  ------------------
  |  Branch (756:6): [True: 0, False: 3]
  ------------------
  757|      0|		SCTP_FREE(new_sctp_ifnp, SCTP_M_IFN);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
  758|      0|	}
  759|       |
  760|      3|	if (dynamic_add) {
  ------------------
  |  Branch (760:6): [True: 0, False: 3]
  ------------------
  761|       |		/* Bump up the refcount so that when the timer
  762|       |		 * completes it will drop back down.
  763|       |		 */
  764|      0|		struct sctp_laddr *wi;
  765|       |
  766|      0|		atomic_add_int(&sctp_ifap->refcount, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
  767|      0|		wi = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_laddr), struct sctp_laddr);
  ------------------
  |  |  697|      0|        (type *)malloc(zone);
  ------------------
  768|      0|		if (wi == NULL) {
  ------------------
  |  Branch (768:7): [True: 0, False: 0]
  ------------------
  769|       |			/*
  770|       |			 * Gak, what can we do? We have lost an address
  771|       |			 * change can you say HOSED?
  772|       |			 */
  773|      0|			SCTPDBG(SCTP_DEBUG_PCB4, "Lost an address change?\n");
  774|       |			/* Opps, must decrement the count */
  775|      0|			sctp_del_addr_from_vrf(vrf_id, addr, ifn_index,
  776|      0|					       if_name);
  777|      0|			return (NULL);
  778|      0|		}
  779|      0|		SCTP_INCR_LADDR_COUNT();
  ------------------
  |  |  664|      0|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_laddr), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
  780|      0|		memset(wi, 0, sizeof(*wi));
  781|      0|		(void)SCTP_GETTIME_TIMEVAL(&wi->start_time);
  ------------------
  |  |  991|      0|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
  782|      0|		wi->ifa = sctp_ifap;
  783|      0|		wi->action = SCTP_ADD_IP_ADDRESS;
  ------------------
  |  |  430|      0|#define SCTP_ADD_IP_ADDRESS		0xc001
  ------------------
  784|       |
  785|      0|		SCTP_WQ_ADDR_LOCK();
  ------------------
  |  |  277|      0|	KASSERT(pthread_mutex_lock(&SCTP_BASE_INFO(wq_addr_mtx)) == 0, ("%s:%d: wq_addr_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  786|      0|		LIST_INSERT_HEAD(&SCTP_BASE_INFO(addr_wq), wi, sctp_nxt_addr);
  787|      0|		sctp_timer_start(SCTP_TIMER_TYPE_ADDR_WQ,
  ------------------
  |  |  547|      0|#define SCTP_TIMER_TYPE_ADDR_WQ		16
  ------------------
  788|      0|				 (struct sctp_inpcb *)NULL,
  789|      0|				 (struct sctp_tcb *)NULL,
  790|      0|				 (struct sctp_nets *)NULL);
  791|      0|		SCTP_WQ_ADDR_UNLOCK();
  ------------------
  |  |  279|      0|	KASSERT(pthread_mutex_unlock(&SCTP_BASE_INFO(wq_addr_mtx)) == 0, ("%s:%d: wq_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  792|      3|	} else {
  793|       |		/* it's ready for use */
  794|      3|		sctp_ifap->localifa_flags &= ~SCTP_ADDR_DEFER_USE;
  ------------------
  |  |   97|      3|#define SCTP_ADDR_DEFER_USE     0x00000004	/* Hold off using this one */
  ------------------
  795|      3|	}
  796|      3|	return (sctp_ifap);
  797|      3|}
sctp_findassociation_ep_addr:
 1443|  20.8k|{
 1444|  20.8k|	struct sctpasochead *head;
 1445|  20.8k|	struct sctp_inpcb *inp;
 1446|  20.8k|	struct sctp_tcb *stcb = NULL;
 1447|  20.8k|	struct sctp_nets *net;
 1448|  20.8k|	uint16_t rport;
 1449|       |
 1450|  20.8k|	inp = *inp_p;
 1451|  20.8k|	switch (remote->sa_family) {
 1452|      0|#ifdef INET
 1453|      0|	case AF_INET:
  ------------------
  |  Branch (1453:2): [True: 0, False: 20.8k]
  ------------------
 1454|      0|		rport = (((struct sockaddr_in *)remote)->sin_port);
 1455|      0|		break;
 1456|      0|#endif
 1457|      0|#ifdef INET6
 1458|      0|	case AF_INET6:
  ------------------
  |  Branch (1458:2): [True: 0, False: 20.8k]
  ------------------
 1459|      0|		rport = (((struct sockaddr_in6 *)remote)->sin6_port);
 1460|      0|		break;
 1461|      0|#endif
 1462|      0|#if defined(__Userspace__)
 1463|  20.8k|	case AF_CONN:
  ------------------
  |  | 1008|  20.8k|#define AF_CONN 123
  ------------------
  |  Branch (1463:2): [True: 20.8k, False: 0]
  ------------------
 1464|  20.8k|		rport = (((struct sockaddr_conn *)remote)->sconn_port);
 1465|  20.8k|		break;
 1466|      0|#endif
 1467|      0|	default:
  ------------------
  |  Branch (1467:2): [True: 0, False: 20.8k]
  ------------------
 1468|      0|		return (NULL);
 1469|  20.8k|	}
 1470|  20.8k|	if (locked_tcb) {
  ------------------
  |  Branch (1470:6): [True: 9.29k, False: 11.5k]
  ------------------
 1471|       |		/*
 1472|       |		 * UN-lock so we can do proper locking here this occurs when
 1473|       |		 * called from load_addresses_from_init.
 1474|       |		 */
 1475|  9.29k|		atomic_add_int(&locked_tcb->asoc.refcnt, 1);
  ------------------
  |  |   94|  9.29k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 1476|  9.29k|		SCTP_TCB_UNLOCK(locked_tcb);
  ------------------
  |  |  469|  9.29k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  9.29k|	do {                         \
  |  |  |  |  113|  9.29k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 9.29k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  9.29k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1477|  9.29k|	}
 1478|  20.8k|	SCTP_INP_INFO_RLOCK();
  ------------------
  |  |  295|  20.8k|	KASSERT(pthread_rwlock_rdlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s%d: ipi_ep_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  20.8k|	do {                         \
  |  |  |  |  113|  20.8k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 20.8k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  20.8k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1479|  20.8k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|  20.8k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (1479:6): [True: 20.8k, False: 0]
  ------------------
 1480|  20.8k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) {
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (1480:6): [True: 0, False: 0]
  ------------------
 1481|       |		/*-
 1482|       |		 * Now either this guy is our listener or it's the
 1483|       |		 * connector. If it is the one that issued the connect, then
 1484|       |		 * it's only chance is to be the first TCB in the list. If
 1485|       |		 * it is the acceptor, then do the special_lookup to hash
 1486|       |		 * and find the real inp.
 1487|       |		 */
 1488|  20.8k|		if ((inp->sctp_socket) && SCTP_IS_LISTENING(inp)) {
  ------------------
  |  | 1146|  20.8k|#define SCTP_IS_LISTENING(inp) ((inp->sctp_flags & SCTP_PCB_FLAGS_ACCEPTING) != 0)
  |  |  ------------------
  |  |  |  |  534|  20.8k|#define SCTP_PCB_FLAGS_ACCEPTING	0x00000008
  |  |  ------------------
  |  |  |  Branch (1146:32): [True: 0, False: 20.8k]
  |  |  ------------------
  ------------------
  |  Branch (1488:7): [True: 20.8k, False: 0]
  ------------------
 1489|       |			/* to is peer addr, from is my addr */
 1490|      0|#ifndef SCTP_MVRF
 1491|      0|			stcb = sctp_tcb_special_locate(inp_p, remote, local,
 1492|      0|			    netp, inp->def_vrf_id);
 1493|      0|			if ((stcb != NULL) && (locked_tcb == NULL)) {
  ------------------
  |  Branch (1493:8): [True: 0, False: 0]
  |  Branch (1493:26): [True: 0, False: 0]
  ------------------
 1494|       |				/* we have a locked tcb, lower refcount */
 1495|      0|				SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 1496|      0|			}
 1497|      0|			if ((locked_tcb != NULL) && (locked_tcb != stcb)) {
  ------------------
  |  Branch (1497:8): [True: 0, False: 0]
  |  Branch (1497:32): [True: 0, False: 0]
  ------------------
 1498|      0|				SCTP_INP_RLOCK(locked_tcb->sctp_ep);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1499|      0|				SCTP_TCB_LOCK(locked_tcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1500|      0|				atomic_subtract_int(&locked_tcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 1501|      0|				SCTP_INP_RUNLOCK(locked_tcb->sctp_ep);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1502|      0|			}
 1503|       |#else
 1504|       |			/*-
 1505|       |			 * MVRF is tricky, we must look in every VRF
 1506|       |			 * the endpoint has.
 1507|       |			 */
 1508|       |			int i;
 1509|       |
 1510|       |			for (i = 0; i < inp->num_vrfs; i++) {
 1511|       |				stcb = sctp_tcb_special_locate(inp_p, remote, local,
 1512|       |				                               netp, inp->m_vrf_ids[i]);
 1513|       |				if ((stcb != NULL) && (locked_tcb == NULL)) {
 1514|       |					/* we have a locked tcb, lower refcount */
 1515|       |					SCTP_INP_DECR_REF(inp);
 1516|       |					break;
 1517|       |				}
 1518|       |				if ((locked_tcb != NULL) && (locked_tcb != stcb)) {
 1519|       |					SCTP_INP_RLOCK(locked_tcb->sctp_ep);
 1520|       |					SCTP_TCB_LOCK(locked_tcb);
 1521|       |					atomic_subtract_int(&locked_tcb->asoc.refcnt, 1);
 1522|       |					SCTP_INP_RUNLOCK(locked_tcb->sctp_ep);
 1523|       |					break;
 1524|       |				}
 1525|       |			}
 1526|       |#endif
 1527|      0|			SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1528|      0|			return (stcb);
 1529|  20.8k|		} else {
 1530|  20.8k|			SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  20.8k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  20.8k|	do {                         \
  |  |  |  |  113|  20.8k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 20.8k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  20.8k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1531|  20.8k|			if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) {
  ------------------
  |  |  550|  20.8k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (1531:8): [True: 0, False: 20.8k]
  ------------------
 1532|      0|				goto null_return;
 1533|      0|			}
 1534|  20.8k|			stcb = LIST_FIRST(&inp->sctp_asoc_list);
 1535|  20.8k|			if (stcb == NULL) {
  ------------------
  |  Branch (1535:8): [True: 11.5k, False: 9.29k]
  ------------------
 1536|  11.5k|				goto null_return;
 1537|  11.5k|			}
 1538|  9.29k|			SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|  9.29k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  9.29k|	do {                         \
  |  |  |  |  113|  9.29k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 9.29k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  9.29k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1539|       |
 1540|  9.29k|			if (stcb->rport != rport) {
  ------------------
  |  Branch (1540:8): [True: 0, False: 9.29k]
  ------------------
 1541|       |				/* remote port does not match. */
 1542|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1543|      0|				goto null_return;
 1544|      0|			}
 1545|  9.29k|			if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|  9.29k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (1545:8): [True: 0, False: 9.29k]
  ------------------
 1546|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1547|      0|				goto null_return;
 1548|      0|			}
 1549|  9.29k|			if (local && !sctp_does_stcb_own_this_addr(stcb, local)) {
  ------------------
  |  Branch (1549:8): [True: 9.29k, False: 0]
  |  Branch (1549:17): [True: 0, False: 9.29k]
  ------------------
 1550|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1551|      0|				goto null_return;
 1552|      0|			}
 1553|       |			/* now look at the list of remote addresses */
 1554|  9.29k|			TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 1555|  9.29k|#ifdef INVARIANTS
 1556|  9.29k|				if (net == (TAILQ_NEXT(net, sctp_next))) {
  ------------------
  |  Branch (1556:9): [True: 0, False: 9.29k]
  ------------------
 1557|      0|					panic("Corrupt net list");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1558|      0|				}
 1559|  9.29k|#endif
 1560|  9.29k|				if (net->ro._l_addr.sa.sa_family !=
  ------------------
  |  Branch (1560:9): [True: 0, False: 9.29k]
  ------------------
 1561|  9.29k|				    remote->sa_family) {
 1562|       |					/* not the same family */
 1563|      0|					continue;
 1564|      0|				}
 1565|  9.29k|				switch (remote->sa_family) {
 1566|      0|#ifdef INET
 1567|      0|				case AF_INET:
  ------------------
  |  Branch (1567:5): [True: 0, False: 9.29k]
  ------------------
 1568|      0|				{
 1569|      0|					struct sockaddr_in *sin, *rsin;
 1570|       |
 1571|      0|					sin = (struct sockaddr_in *)
 1572|      0|					    &net->ro._l_addr;
 1573|      0|					rsin = (struct sockaddr_in *)remote;
 1574|      0|					if (sin->sin_addr.s_addr ==
  ------------------
  |  Branch (1574:10): [True: 0, False: 0]
  ------------------
 1575|      0|					    rsin->sin_addr.s_addr) {
 1576|       |						/* found it */
 1577|      0|						if (netp != NULL) {
  ------------------
  |  Branch (1577:11): [True: 0, False: 0]
  ------------------
 1578|      0|							*netp = net;
 1579|      0|						}
 1580|      0|						if (locked_tcb == NULL) {
  ------------------
  |  Branch (1580:11): [True: 0, False: 0]
  ------------------
 1581|      0|							SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 1582|      0|						} else if (locked_tcb != stcb) {
  ------------------
  |  Branch (1582:18): [True: 0, False: 0]
  ------------------
 1583|      0|							SCTP_TCB_LOCK(locked_tcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1584|      0|						}
 1585|      0|						if (locked_tcb) {
  ------------------
  |  Branch (1585:11): [True: 0, False: 0]
  ------------------
 1586|      0|							atomic_subtract_int(&locked_tcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 1587|      0|						}
 1588|       |
 1589|      0|						SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1590|      0|						SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1591|      0|						return (stcb);
 1592|      0|					}
 1593|      0|					break;
 1594|      0|				}
 1595|      0|#endif
 1596|      0|#ifdef INET6
 1597|      0|				case AF_INET6:
  ------------------
  |  Branch (1597:5): [True: 0, False: 9.29k]
  ------------------
 1598|      0|				{
 1599|      0|					struct sockaddr_in6 *sin6, *rsin6;
 1600|       |
 1601|      0|					sin6 = (struct sockaddr_in6 *)&net->ro._l_addr;
 1602|      0|					rsin6 = (struct sockaddr_in6 *)remote;
 1603|      0|					if (SCTP6_ARE_ADDR_EQUAL(sin6,
  ------------------
  |  Branch (1603:10): [True: 0, False: 0]
  ------------------
 1604|      0|					    rsin6)) {
 1605|       |						/* found it */
 1606|      0|						if (netp != NULL) {
  ------------------
  |  Branch (1606:11): [True: 0, False: 0]
  ------------------
 1607|      0|							*netp = net;
 1608|      0|						}
 1609|      0|						if (locked_tcb == NULL) {
  ------------------
  |  Branch (1609:11): [True: 0, False: 0]
  ------------------
 1610|      0|							SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 1611|      0|						} else if (locked_tcb != stcb) {
  ------------------
  |  Branch (1611:18): [True: 0, False: 0]
  ------------------
 1612|      0|							SCTP_TCB_LOCK(locked_tcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1613|      0|						}
 1614|      0|						if (locked_tcb) {
  ------------------
  |  Branch (1614:11): [True: 0, False: 0]
  ------------------
 1615|      0|							atomic_subtract_int(&locked_tcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 1616|      0|						}
 1617|      0|						SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1618|      0|						SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1619|      0|						return (stcb);
 1620|      0|					}
 1621|      0|					break;
 1622|      0|				}
 1623|      0|#endif
 1624|      0|#if defined(__Userspace__)
 1625|  9.29k|				case AF_CONN:
  ------------------
  |  | 1008|  9.29k|#define AF_CONN 123
  ------------------
  |  Branch (1625:5): [True: 9.29k, False: 0]
  ------------------
 1626|  9.29k|				{
 1627|  9.29k|					struct sockaddr_conn *sconn, *rsconn;
 1628|       |
 1629|  9.29k|					sconn = (struct sockaddr_conn *)&net->ro._l_addr;
 1630|  9.29k|					rsconn = (struct sockaddr_conn *)remote;
 1631|  9.29k|					if (sconn->sconn_addr == rsconn->sconn_addr) {
  ------------------
  |  Branch (1631:10): [True: 9.29k, False: 0]
  ------------------
 1632|       |						/* found it */
 1633|  9.29k|						if (netp != NULL) {
  ------------------
  |  Branch (1633:11): [True: 9.29k, False: 0]
  ------------------
 1634|  9.29k|							*netp = net;
 1635|  9.29k|						}
 1636|  9.29k|						if (locked_tcb == NULL) {
  ------------------
  |  Branch (1636:11): [True: 0, False: 9.29k]
  ------------------
 1637|      0|							SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 1638|  9.29k|						} else if (locked_tcb != stcb) {
  ------------------
  |  Branch (1638:18): [True: 0, False: 9.29k]
  ------------------
 1639|      0|							SCTP_TCB_LOCK(locked_tcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1640|      0|						}
 1641|  9.29k|						if (locked_tcb) {
  ------------------
  |  Branch (1641:11): [True: 9.29k, False: 0]
  ------------------
 1642|  9.29k|							atomic_subtract_int(&locked_tcb->asoc.refcnt, 1);
  ------------------
  |  |   97|  9.29k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 1643|  9.29k|						}
 1644|  9.29k|						SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  9.29k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  9.29k|	do {                         \
  |  |  |  |  113|  9.29k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 9.29k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  9.29k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1645|  9.29k|						SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|  9.29k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  9.29k|	do {                         \
  |  |  |  |  113|  9.29k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 9.29k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  9.29k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1646|  9.29k|						return (stcb);
 1647|  9.29k|					}
 1648|      0|					break;
 1649|  9.29k|				}
 1650|      0|#endif
 1651|      0|				default:
  ------------------
  |  Branch (1651:5): [True: 0, False: 9.29k]
  ------------------
 1652|       |					/* TSNH */
 1653|      0|					break;
 1654|  9.29k|				}
 1655|  9.29k|			}
 1656|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1657|      0|		}
 1658|  20.8k|	} else {
 1659|      0|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1660|      0|		if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) {
  ------------------
  |  |  550|      0|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (1660:7): [True: 0, False: 0]
  ------------------
 1661|      0|			goto null_return;
 1662|      0|		}
 1663|      0|		head = &inp->sctp_tcbhash[SCTP_PCBHASH_ALLADDR(rport,
  ------------------
  |  |   56|      0|#define SCTP_PCBHASH_ALLADDR(port, mask) (port & mask)
  ------------------
 1664|      0|		                                               inp->sctp_hashmark)];
 1665|      0|		LIST_FOREACH(stcb, head, sctp_tcbhash) {
 1666|      0|			if (stcb->rport != rport) {
  ------------------
  |  Branch (1666:8): [True: 0, False: 0]
  ------------------
 1667|       |				/* remote port does not match */
 1668|      0|				continue;
 1669|      0|			}
 1670|      0|			SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1671|      0|			if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|      0|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (1671:8): [True: 0, False: 0]
  ------------------
 1672|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1673|      0|				continue;
 1674|      0|			}
 1675|      0|			if (local && !sctp_does_stcb_own_this_addr(stcb, local)) {
  ------------------
  |  Branch (1675:8): [True: 0, False: 0]
  |  Branch (1675:17): [True: 0, False: 0]
  ------------------
 1676|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1677|      0|				continue;
 1678|      0|			}
 1679|       |			/* now look at the list of remote addresses */
 1680|      0|			TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 1681|      0|#ifdef INVARIANTS
 1682|      0|				if (net == (TAILQ_NEXT(net, sctp_next))) {
  ------------------
  |  Branch (1682:9): [True: 0, False: 0]
  ------------------
 1683|      0|					panic("Corrupt net list");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1684|      0|				}
 1685|      0|#endif
 1686|      0|				if (net->ro._l_addr.sa.sa_family !=
  ------------------
  |  Branch (1686:9): [True: 0, False: 0]
  ------------------
 1687|      0|				    remote->sa_family) {
 1688|       |					/* not the same family */
 1689|      0|					continue;
 1690|      0|				}
 1691|      0|				switch (remote->sa_family) {
 1692|      0|#ifdef INET
 1693|      0|				case AF_INET:
  ------------------
  |  Branch (1693:5): [True: 0, False: 0]
  ------------------
 1694|      0|				{
 1695|      0|					struct sockaddr_in *sin, *rsin;
 1696|       |
 1697|      0|					sin = (struct sockaddr_in *)
 1698|      0|					    &net->ro._l_addr;
 1699|      0|					rsin = (struct sockaddr_in *)remote;
 1700|      0|					if (sin->sin_addr.s_addr ==
  ------------------
  |  Branch (1700:10): [True: 0, False: 0]
  ------------------
 1701|      0|					    rsin->sin_addr.s_addr) {
 1702|       |						/* found it */
 1703|      0|						if (netp != NULL) {
  ------------------
  |  Branch (1703:11): [True: 0, False: 0]
  ------------------
 1704|      0|							*netp = net;
 1705|      0|						}
 1706|      0|						if (locked_tcb == NULL) {
  ------------------
  |  Branch (1706:11): [True: 0, False: 0]
  ------------------
 1707|      0|							SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 1708|      0|						} else if (locked_tcb != stcb) {
  ------------------
  |  Branch (1708:18): [True: 0, False: 0]
  ------------------
 1709|      0|							SCTP_TCB_LOCK(locked_tcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1710|      0|						}
 1711|      0|						if (locked_tcb) {
  ------------------
  |  Branch (1711:11): [True: 0, False: 0]
  ------------------
 1712|      0|							atomic_subtract_int(&locked_tcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 1713|      0|						}
 1714|      0|						SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1715|      0|						SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1716|      0|						return (stcb);
 1717|      0|					}
 1718|      0|					break;
 1719|      0|				}
 1720|      0|#endif
 1721|      0|#ifdef INET6
 1722|      0|				case AF_INET6:
  ------------------
  |  Branch (1722:5): [True: 0, False: 0]
  ------------------
 1723|      0|				{
 1724|      0|					struct sockaddr_in6 *sin6, *rsin6;
 1725|       |
 1726|      0|					sin6 = (struct sockaddr_in6 *)
 1727|      0|					    &net->ro._l_addr;
 1728|      0|					rsin6 = (struct sockaddr_in6 *)remote;
 1729|      0|					if (SCTP6_ARE_ADDR_EQUAL(sin6,
  ------------------
  |  Branch (1729:10): [True: 0, False: 0]
  ------------------
 1730|      0|					    rsin6)) {
 1731|       |						/* found it */
 1732|      0|						if (netp != NULL) {
  ------------------
  |  Branch (1732:11): [True: 0, False: 0]
  ------------------
 1733|      0|							*netp = net;
 1734|      0|						}
 1735|      0|						if (locked_tcb == NULL) {
  ------------------
  |  Branch (1735:11): [True: 0, False: 0]
  ------------------
 1736|      0|							SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 1737|      0|						} else if (locked_tcb != stcb) {
  ------------------
  |  Branch (1737:18): [True: 0, False: 0]
  ------------------
 1738|      0|							SCTP_TCB_LOCK(locked_tcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1739|      0|						}
 1740|      0|						if (locked_tcb) {
  ------------------
  |  Branch (1740:11): [True: 0, False: 0]
  ------------------
 1741|      0|							atomic_subtract_int(&locked_tcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 1742|      0|						}
 1743|      0|						SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1744|      0|						SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1745|      0|						return (stcb);
 1746|      0|					}
 1747|      0|					break;
 1748|      0|				}
 1749|      0|#endif
 1750|      0|#if defined(__Userspace__)
 1751|      0|				case AF_CONN:
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (1751:5): [True: 0, False: 0]
  ------------------
 1752|      0|				{
 1753|      0|					struct sockaddr_conn *sconn, *rsconn;
 1754|       |
 1755|      0|					sconn = (struct sockaddr_conn *)&net->ro._l_addr;
 1756|      0|					rsconn = (struct sockaddr_conn *)remote;
 1757|      0|					if (sconn->sconn_addr == rsconn->sconn_addr) {
  ------------------
  |  Branch (1757:10): [True: 0, False: 0]
  ------------------
 1758|       |						/* found it */
 1759|      0|						if (netp != NULL) {
  ------------------
  |  Branch (1759:11): [True: 0, False: 0]
  ------------------
 1760|      0|							*netp = net;
 1761|      0|						}
 1762|      0|						if (locked_tcb == NULL) {
  ------------------
  |  Branch (1762:11): [True: 0, False: 0]
  ------------------
 1763|      0|							SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 1764|      0|						} else if (locked_tcb != stcb) {
  ------------------
  |  Branch (1764:18): [True: 0, False: 0]
  ------------------
 1765|      0|							SCTP_TCB_LOCK(locked_tcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1766|      0|						}
 1767|      0|						if (locked_tcb) {
  ------------------
  |  Branch (1767:11): [True: 0, False: 0]
  ------------------
 1768|      0|							atomic_subtract_int(&locked_tcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 1769|      0|						}
 1770|      0|						SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1771|      0|						SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1772|      0|						return (stcb);
 1773|      0|					}
 1774|      0|					break;
 1775|      0|				}
 1776|      0|#endif
 1777|      0|				default:
  ------------------
  |  Branch (1777:5): [True: 0, False: 0]
  ------------------
 1778|       |					/* TSNH */
 1779|      0|					break;
 1780|      0|				}
 1781|      0|			}
 1782|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1783|      0|		}
 1784|      0|	}
 1785|  11.5k|null_return:
 1786|       |	/* clean up for returning null */
 1787|  11.5k|	if (locked_tcb) {
  ------------------
  |  Branch (1787:6): [True: 0, False: 11.5k]
  ------------------
 1788|      0|		SCTP_TCB_LOCK(locked_tcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1789|      0|		atomic_subtract_int(&locked_tcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 1790|      0|	}
 1791|  11.5k|	SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1792|  11.5k|	SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|  11.5k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1793|       |	/* not found */
 1794|  11.5k|	return (NULL);
 1795|  11.5k|}
sctp_findasoc_ep_asocid_locked:
 1803|  11.5k|{
 1804|       |	/*
 1805|       |	 * Use my the assoc_id to find a endpoint
 1806|       |	 */
 1807|  11.5k|	struct sctpasochead *head;
 1808|  11.5k|	struct sctp_tcb *stcb;
 1809|  11.5k|	uint32_t id;
 1810|       |
 1811|  11.5k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) {
  ------------------
  |  |  550|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (1811:6): [True: 0, False: 11.5k]
  ------------------
 1812|      0|		SCTP_PRINTF("TSNH ep_associd0\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 1813|      0|		return (NULL);
 1814|      0|	}
 1815|  11.5k|	id = (uint32_t)asoc_id;
 1816|  11.5k|	head = &inp->sctp_asocidhash[SCTP_PCBHASH_ASOC(id, inp->hashasocidmark)];
  ------------------
  |  |   57|  11.5k|#define SCTP_PCBHASH_ASOC(tag, mask) (tag & mask)
  ------------------
 1817|  11.5k|	if (head == NULL) {
  ------------------
  |  Branch (1817:6): [True: 0, False: 11.5k]
  ------------------
 1818|       |		/* invalid id TSNH */
 1819|      0|		SCTP_PRINTF("TSNH ep_associd1\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 1820|      0|		return (NULL);
 1821|      0|	}
 1822|  11.5k|	LIST_FOREACH(stcb, head, sctp_tcbasocidhash) {
 1823|      0|		if (stcb->asoc.assoc_id == id) {
  ------------------
  |  Branch (1823:7): [True: 0, False: 0]
  ------------------
 1824|      0|			if (inp != stcb->sctp_ep) {
  ------------------
  |  Branch (1824:8): [True: 0, False: 0]
  ------------------
 1825|       |				/*
 1826|       |				 * some other guy has the same id active (id
 1827|       |				 * collision ??).
 1828|       |				 */
 1829|      0|				SCTP_PRINTF("TSNH ep_associd2\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 1830|      0|				continue;
 1831|      0|			}
 1832|      0|			if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|      0|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (1832:8): [True: 0, False: 0]
  ------------------
 1833|      0|				continue;
 1834|      0|			}
 1835|      0|			if (want_lock) {
  ------------------
  |  Branch (1835:8): [True: 0, False: 0]
  ------------------
 1836|      0|				SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1837|      0|			}
 1838|      0|			return (stcb);
 1839|      0|		}
 1840|      0|	}
 1841|  11.5k|	return (NULL);
 1842|  11.5k|}
sctp_pcb_findep:
 2215|  11.5k|{
 2216|       |	/*
 2217|       |	 * First we check the hash table to see if someone has this port
 2218|       |	 * bound with just the port.
 2219|       |	 */
 2220|  11.5k|	struct sctp_inpcb *inp;
 2221|  11.5k|	struct sctppcbhead *head;
 2222|  11.5k|	int lport;
 2223|  11.5k|	unsigned int i;
 2224|  11.5k|#ifdef INET
 2225|  11.5k|	struct sockaddr_in *sin;
 2226|  11.5k|#endif
 2227|  11.5k|#ifdef INET6
 2228|  11.5k|	struct sockaddr_in6 *sin6;
 2229|  11.5k|#endif
 2230|  11.5k|#if defined(__Userspace__)
 2231|  11.5k|	struct sockaddr_conn *sconn;
 2232|  11.5k|#endif
 2233|       |
 2234|  11.5k|	switch (nam->sa_family) {
 2235|      0|#ifdef INET
 2236|      0|	case AF_INET:
  ------------------
  |  Branch (2236:2): [True: 0, False: 11.5k]
  ------------------
 2237|      0|		sin = (struct sockaddr_in *)nam;
 2238|      0|		lport = sin->sin_port;
 2239|      0|		break;
 2240|      0|#endif
 2241|      0|#ifdef INET6
 2242|      0|	case AF_INET6:
  ------------------
  |  Branch (2242:2): [True: 0, False: 11.5k]
  ------------------
 2243|      0|		sin6 = (struct sockaddr_in6 *)nam;
 2244|      0|		lport = sin6->sin6_port;
 2245|      0|		break;
 2246|      0|#endif
 2247|      0|#if defined(__Userspace__)
 2248|  11.5k|	case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (2248:2): [True: 11.5k, False: 0]
  ------------------
 2249|  11.5k|		sconn = (struct sockaddr_conn *)nam;
 2250|  11.5k|		lport = sconn->sconn_port;
 2251|  11.5k|		break;
 2252|      0|#endif
 2253|      0|	default:
  ------------------
  |  Branch (2253:2): [True: 0, False: 11.5k]
  ------------------
 2254|      0|		return (NULL);
 2255|  11.5k|	}
 2256|       |	/*
 2257|       |	 * I could cheat here and just cast to one of the types but we will
 2258|       |	 * do it right. It also provides the check against an Unsupported
 2259|       |	 * type too.
 2260|       |	 */
 2261|       |	/* Find the head of the ALLADDR chain */
 2262|  11.5k|	if (have_lock == 0) {
  ------------------
  |  Branch (2262:6): [True: 0, False: 11.5k]
  ------------------
 2263|      0|		SCTP_INP_INFO_RLOCK();
  ------------------
  |  |  295|      0|	KASSERT(pthread_rwlock_rdlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s%d: ipi_ep_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2264|      0|	}
 2265|  11.5k|	head = &SCTP_BASE_INFO(sctp_ephash)[SCTP_PCBHASH_ALLADDR(lport,
  ------------------
  |  |  581|  11.5k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	head = &SCTP_BASE_INFO(sctp_ephash)[SCTP_PCBHASH_ALLADDR(lport,
  ------------------
  |  |   56|  11.5k|#define SCTP_PCBHASH_ALLADDR(port, mask) (port & mask)
  ------------------
 2266|  11.5k|	    SCTP_BASE_INFO(hashmark))];
 2267|  11.5k|	inp = sctp_endpoint_probe(nam, head, lport, vrf_id);
 2268|       |
 2269|       |	/*
 2270|       |	 * If the TCP model exists it could be that the main listening
 2271|       |	 * endpoint is gone but there still exists a connected socket for this
 2272|       |	 * guy. If so we can return the first one that we find. This may NOT
 2273|       |	 * be the correct one so the caller should be wary on the returned INP.
 2274|       |	 * Currently the only caller that sets find_tcp_pool is in bindx where
 2275|       |	 * we are verifying that a user CAN bind the address. He either
 2276|       |	 * has bound it already, or someone else has, or its open to bind,
 2277|       |	 * so this is good enough.
 2278|       |	 */
 2279|  11.5k|	if (inp == NULL && find_tcp_pool) {
  ------------------
  |  Branch (2279:6): [True: 11.5k, False: 0]
  |  Branch (2279:21): [True: 0, False: 11.5k]
  ------------------
 2280|      0|		for (i = 0; i < SCTP_BASE_INFO(hashtcpmark) + 1; i++) {
  ------------------
  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
  |  Branch (2280:15): [True: 0, False: 0]
  ------------------
 2281|      0|			head = &SCTP_BASE_INFO(sctp_tcpephash)[i];
  ------------------
  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 2282|      0|			inp = sctp_endpoint_probe(nam, head, lport, vrf_id);
 2283|      0|			if (inp) {
  ------------------
  |  Branch (2283:8): [True: 0, False: 0]
  ------------------
 2284|      0|				break;
 2285|      0|			}
 2286|      0|		}
 2287|      0|	}
 2288|  11.5k|	if (inp) {
  ------------------
  |  Branch (2288:6): [True: 0, False: 11.5k]
  ------------------
 2289|      0|		SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 2290|      0|	}
 2291|  11.5k|	if (have_lock == 0) {
  ------------------
  |  Branch (2291:6): [True: 0, False: 11.5k]
  ------------------
 2292|      0|		SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2293|      0|	}
 2294|  11.5k|	return (inp);
 2295|  11.5k|}
sctp_findassociation_addr:
 2565|  28.1k|{
 2566|  28.1k|	struct sctp_tcb *stcb;
 2567|  28.1k|	struct sctp_inpcb *inp;
 2568|       |
 2569|  28.1k|	if (sh->v_tag) {
  ------------------
  |  Branch (2569:6): [True: 28.1k, False: 0]
  ------------------
 2570|       |		/* we only go down this path if vtag is non-zero */
 2571|  28.1k|		stcb = sctp_findassoc_by_vtag(src, dst, ntohl(sh->v_tag),
 2572|  28.1k|		                              inp_p, netp, sh->src_port, sh->dest_port, 0, vrf_id, 0);
 2573|  28.1k|		if (stcb) {
  ------------------
  |  Branch (2573:7): [True: 28.1k, False: 0]
  ------------------
 2574|  28.1k|			return (stcb);
 2575|  28.1k|		}
 2576|  28.1k|	}
 2577|       |
 2578|      0|	if (inp_p) {
  ------------------
  |  Branch (2578:6): [True: 0, False: 0]
  ------------------
 2579|      0|		stcb = sctp_findassociation_addr_sa(src, dst, inp_p, netp,
 2580|      0|		                                    1, vrf_id);
 2581|      0|		inp = *inp_p;
 2582|      0|	} else {
 2583|      0|		stcb = sctp_findassociation_addr_sa(src, dst, &inp, netp,
 2584|      0|		                                    1, vrf_id);
 2585|      0|	}
 2586|      0|	SCTPDBG(SCTP_DEBUG_PCB1, "stcb:%p inp:%p\n", (void *)stcb, (void *)inp);
 2587|      0|	if (stcb == NULL && inp) {
  ------------------
  |  Branch (2587:6): [True: 0, False: 0]
  |  Branch (2587:22): [True: 0, False: 0]
  ------------------
 2588|       |		/* Found a EP but not this address */
 2589|      0|		if ((ch->chunk_type == SCTP_INITIATION) ||
  ------------------
  |  |  458|      0|#define SCTP_INITIATION		0x01
  ------------------
  |  Branch (2589:7): [True: 0, False: 0]
  ------------------
 2590|      0|		    (ch->chunk_type == SCTP_INITIATION_ACK)) {
  ------------------
  |  |  459|      0|#define SCTP_INITIATION_ACK	0x02
  ------------------
  |  Branch (2590:7): [True: 0, False: 0]
  ------------------
 2591|       |			/*-
 2592|       |			 * special hook, we do NOT return linp or an
 2593|       |			 * association that is linked to an existing
 2594|       |			 * association that is under the TCP pool (i.e. no
 2595|       |			 * listener exists). The endpoint finding routine
 2596|       |			 * will always find a listener before examining the
 2597|       |			 * TCP pool.
 2598|       |			 */
 2599|      0|			if (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) {
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (2599:8): [True: 0, False: 0]
  ------------------
 2600|      0|				if (inp_p) {
  ------------------
  |  Branch (2600:9): [True: 0, False: 0]
  ------------------
 2601|      0|					*inp_p = NULL;
 2602|      0|				}
 2603|      0|				return (NULL);
 2604|      0|			}
 2605|      0|			stcb = sctp_findassociation_special_addr(m,
 2606|      0|			    offset, sh, &inp, netp, dst);
 2607|      0|			if (inp_p != NULL) {
  ------------------
  |  Branch (2607:8): [True: 0, False: 0]
  ------------------
 2608|      0|				*inp_p = inp;
 2609|      0|			}
 2610|      0|		}
 2611|      0|	}
 2612|      0|	SCTPDBG(SCTP_DEBUG_PCB1, "stcb is %p\n", (void *)stcb);
 2613|      0|	return (stcb);
 2614|      0|}
sctp_inpcb_alloc:
 2732|  11.5k|{
 2733|       |	/*
 2734|       |	 * we get called when a new endpoint starts up. We need to allocate
 2735|       |	 * the sctp_inpcb structure from the zone and init it. Mark it as
 2736|       |	 * unbound and find a port that we can use as an ephemeral with
 2737|       |	 * INADDR_ANY. If the user binds later no problem we can then add in
 2738|       |	 * the specific addresses. And setup the default parameters for the
 2739|       |	 * EP.
 2740|       |	 */
 2741|  11.5k|	int i, error;
 2742|  11.5k|	struct sctp_inpcb *inp;
 2743|  11.5k|	struct sctp_pcb *m;
 2744|  11.5k|	struct timeval time;
 2745|  11.5k|	sctp_sharedkey_t *null_key;
 2746|       |
 2747|  11.5k|	error = 0;
 2748|       |
 2749|  11.5k|	SCTP_INP_INFO_WLOCK();
  ------------------
  |  |  297|  11.5k|	KASSERT(pthread_rwlock_wrlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2750|  11.5k|	inp = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_ep), struct sctp_inpcb);
  ------------------
  |  |  697|  11.5k|        (type *)malloc(zone);
  ------------------
 2751|  11.5k|	if (inp == NULL) {
  ------------------
  |  Branch (2751:6): [True: 0, False: 11.5k]
  ------------------
 2752|      0|		SCTP_PRINTF("Out of SCTP-INPCB structures - no resources\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 2753|      0|		SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2754|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, ENOBUFS);
 2755|      0|		return (ENOBUFS);
 2756|      0|	}
 2757|       |	/* zap it */
 2758|  11.5k|	memset(inp, 0, sizeof(*inp));
 2759|       |
 2760|       |	/* bump generations */
 2761|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2762|       |	inp->ip_inp.inp.inp_state = INPCB_STATE_INUSE;
 2763|       |#endif
 2764|       |	/* setup socket pointers */
 2765|  11.5k|	inp->sctp_socket = so;
 2766|  11.5k|	inp->ip_inp.inp.inp_socket = so;
 2767|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2768|       |	inp->ip_inp.inp.inp_cred = crhold(so->so_cred);
 2769|       |#endif
 2770|  11.5k|#ifdef INET6
 2771|       |#if !defined(__Userspace__) && !defined(_WIN32)
 2772|       |	if (INP_SOCKAF(so) == AF_INET6) {
 2773|       |		if (MODULE_GLOBAL(ip6_auto_flowlabel)) {
 2774|       |			inp->ip_inp.inp.inp_flags |= IN6P_AUTOFLOWLABEL;
 2775|       |		}
 2776|       |		if (MODULE_GLOBAL(ip6_v6only)) {
 2777|       |			inp->ip_inp.inp.inp_flags |= IN6P_IPV6_V6ONLY;
 2778|       |		}
 2779|       |	}
 2780|       |#endif
 2781|  11.5k|#endif
 2782|  11.5k|	inp->sctp_associd_counter = 1;
 2783|  11.5k|	inp->partial_delivery_point = SCTP_SB_LIMIT_RCV(so) >> SCTP_PARTIAL_DELIVERY_SHIFT;
  ------------------
  |  |  977|  11.5k|#define SCTP_SB_LIMIT_RCV(so) so->so_rcv.sb_hiwat
  ------------------
              	inp->partial_delivery_point = SCTP_SB_LIMIT_RCV(so) >> SCTP_PARTIAL_DELIVERY_SHIFT;
  ------------------
  |  |  292|  11.5k|#define SCTP_PARTIAL_DELIVERY_SHIFT 1
  ------------------
 2784|  11.5k|	inp->sctp_frag_point = 0;
 2785|  11.5k|	inp->max_cwnd = 0;
 2786|  11.5k|	inp->sctp_cmt_on_off = SCTP_BASE_SYSCTL(sctp_cmt_on_off);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2787|  11.5k|	inp->ecn_supported = (uint8_t)SCTP_BASE_SYSCTL(sctp_ecn_enable);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2788|  11.5k|	inp->prsctp_supported = (uint8_t)SCTP_BASE_SYSCTL(sctp_pr_enable);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2789|  11.5k|	inp->auth_supported = (uint8_t)SCTP_BASE_SYSCTL(sctp_auth_enable);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2790|  11.5k|	inp->asconf_supported = (uint8_t)SCTP_BASE_SYSCTL(sctp_asconf_enable);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2791|  11.5k|	inp->reconfig_supported = (uint8_t)SCTP_BASE_SYSCTL(sctp_reconfig_enable);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2792|  11.5k|	inp->nrsack_supported = (uint8_t)SCTP_BASE_SYSCTL(sctp_nrsack_enable);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2793|  11.5k|	inp->pktdrop_supported = (uint8_t)SCTP_BASE_SYSCTL(sctp_pktdrop_enable);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2794|  11.5k|	inp->idata_supported = 0;
 2795|  11.5k|	inp->rcv_edmid = SCTP_EDMID_NONE;
  ------------------
  |  |  809|  11.5k|#define SCTP_EDMID_NONE             0
  ------------------
 2796|       |
 2797|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2798|       |	inp->fibnum = so->so_fibnum;
 2799|       |#else
 2800|  11.5k|	inp->fibnum = 0;
 2801|  11.5k|#endif
 2802|  11.5k|#if defined(__Userspace__)
 2803|  11.5k|	inp->ulp_info = NULL;
 2804|  11.5k|	inp->recv_callback = NULL;
 2805|  11.5k|	inp->send_callback = NULL;
 2806|  11.5k|	inp->send_sb_threshold = 0;
 2807|  11.5k|#endif
 2808|       |	/* init the small hash table we use to track asocid <-> tcb */
 2809|  11.5k|	inp->sctp_asocidhash = SCTP_HASH_INIT(SCTP_STACK_VTAG_HASH_SIZE, &inp->hashasocidmark);
  ------------------
  |  |  759|  11.5k|#define SCTP_HASH_INIT(size, hashmark) sctp_hashinit_flags(size, M_PCB, hashmark, HASH_NOWAIT)
  |  |  ------------------
  |  |  |  |  755|  11.5k|#define HASH_NOWAIT 0x00000001
  |  |  ------------------
  ------------------
 2810|  11.5k|	if (inp->sctp_asocidhash == NULL) {
  ------------------
  |  Branch (2810:6): [True: 0, False: 11.5k]
  ------------------
 2811|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2812|       |		crfree(inp->ip_inp.inp.inp_cred);
 2813|       |#endif
 2814|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_ep), inp);
  ------------------
  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|      0|	free(element);  \
  |  |  703|      0|}
  ------------------
 2815|      0|		SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2816|      0|		return (ENOBUFS);
 2817|      0|	}
 2818|  11.5k|	SCTP_INCR_EP_COUNT();
  ------------------
  |  |  652|  11.5k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_ep), 1)
  |  |  ------------------
  |  |  |  |   94|  11.5k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 2819|  11.5k|	inp->ip_inp.inp.inp_ip_ttl = MODULE_GLOBAL(ip_defttl);
  ------------------
  |  |   65|  11.5k|#define MODULE_GLOBAL(_B) (_B)
  ------------------
 2820|  11.5k|	SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|  11.5k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2821|       |
 2822|  11.5k|	so->so_pcb = (caddr_t)inp;
 2823|       |
 2824|  11.5k|	if (SCTP_SO_TYPE(so) == SOCK_SEQPACKET) {
  ------------------
  |  |  954|  11.5k|#define SCTP_SO_TYPE(so)	((so)->so_type)
  ------------------
  |  Branch (2824:6): [True: 0, False: 11.5k]
  ------------------
 2825|       |		/* UDP style socket */
 2826|      0|		inp->sctp_flags = (SCTP_PCB_FLAGS_UDPTYPE |
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
 2827|      0|		    SCTP_PCB_FLAGS_UNBOUND);
  ------------------
  |  |  535|      0|#define SCTP_PCB_FLAGS_UNBOUND		0x00000010
  ------------------
 2828|       |		/* Be sure it is NON-BLOCKING IO for UDP */
 2829|       |		/* SCTP_SET_SO_NBIO(so); */
 2830|  11.5k|	} else if (SCTP_SO_TYPE(so) == SOCK_STREAM) {
  ------------------
  |  |  954|  11.5k|#define SCTP_SO_TYPE(so)	((so)->so_type)
  ------------------
  |  Branch (2830:13): [True: 11.5k, False: 0]
  ------------------
 2831|       |		/* TCP style socket */
 2832|  11.5k|		inp->sctp_flags = (SCTP_PCB_FLAGS_TCPTYPE |
  ------------------
  |  |  532|  11.5k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
 2833|  11.5k|		    SCTP_PCB_FLAGS_UNBOUND);
  ------------------
  |  |  535|  11.5k|#define SCTP_PCB_FLAGS_UNBOUND		0x00000010
  ------------------
 2834|       |		/* Be sure we have blocking IO by default */
 2835|  11.5k|		SOCK_LOCK(so);
  ------------------
  |  |  527|  11.5k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|  11.5k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2836|  11.5k|		SCTP_CLEAR_SO_NBIO(so);
  ------------------
  |  |  952|  11.5k|#define SCTP_CLEAR_SO_NBIO(so)	((so)->so_state &= ~SS_NBIO)
  |  |  ------------------
  |  |  |  |  343|  11.5k|#define	SS_NBIO			0x0100	/* non-blocking ops */
  |  |  ------------------
  ------------------
 2837|  11.5k|		SOCK_UNLOCK(so);
  ------------------
  |  |  529|  11.5k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|  11.5k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2838|  11.5k|	} else {
 2839|       |		/*
 2840|       |		 * unsupported socket type (RAW, etc)- in case we missed it
 2841|       |		 * in protosw
 2842|       |		 */
 2843|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, EOPNOTSUPP);
 2844|      0|		so->so_pcb = NULL;
 2845|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2846|       |		crfree(inp->ip_inp.inp.inp_cred);
 2847|       |#endif
 2848|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_ep), inp);
  ------------------
  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|      0|	free(element);  \
  |  |  703|      0|}
  ------------------
 2849|      0|		return (EOPNOTSUPP);
 2850|      0|	}
 2851|  11.5k|	if (SCTP_BASE_SYSCTL(sctp_default_frag_interleave) == SCTP_FRAG_LEVEL_1) {
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_default_frag_interleave) == SCTP_FRAG_LEVEL_1) {
  ------------------
  |  |  348|  11.5k|#define SCTP_FRAG_LEVEL_1    0x00000001
  ------------------
  |  Branch (2851:6): [True: 11.5k, False: 0]
  ------------------
 2852|  11.5k|		sctp_feature_on(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE);
  ------------------
  |  |   50|  11.5k|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 2853|  11.5k|		sctp_feature_off(inp, SCTP_PCB_FLAGS_INTERLEAVE_STRMS);
  ------------------
  |  |   51|  11.5k|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 2854|  11.5k|	} else if (SCTP_BASE_SYSCTL(sctp_default_frag_interleave) == SCTP_FRAG_LEVEL_2) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	} else if (SCTP_BASE_SYSCTL(sctp_default_frag_interleave) == SCTP_FRAG_LEVEL_2) {
  ------------------
  |  |  349|      0|#define SCTP_FRAG_LEVEL_2    0x00000002
  ------------------
  |  Branch (2854:13): [True: 0, False: 0]
  ------------------
 2855|      0|		sctp_feature_on(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 2856|      0|		sctp_feature_on(inp, SCTP_PCB_FLAGS_INTERLEAVE_STRMS);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 2857|      0|	} else if (SCTP_BASE_SYSCTL(sctp_default_frag_interleave) == SCTP_FRAG_LEVEL_0) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	} else if (SCTP_BASE_SYSCTL(sctp_default_frag_interleave) == SCTP_FRAG_LEVEL_0) {
  ------------------
  |  |  347|      0|#define SCTP_FRAG_LEVEL_0    0x00000000
  ------------------
  |  Branch (2857:13): [True: 0, False: 0]
  ------------------
 2858|      0|		sctp_feature_off(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 2859|      0|		sctp_feature_off(inp, SCTP_PCB_FLAGS_INTERLEAVE_STRMS);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 2860|      0|	}
 2861|  11.5k|	inp->sctp_tcbhash = SCTP_HASH_INIT(SCTP_BASE_SYSCTL(sctp_pcbtblsize),
  ------------------
  |  |  759|  11.5k|#define SCTP_HASH_INIT(size, hashmark) sctp_hashinit_flags(size, M_PCB, hashmark, HASH_NOWAIT)
  |  |  ------------------
  |  |  |  |  755|  11.5k|#define HASH_NOWAIT 0x00000001
  |  |  ------------------
  ------------------
 2862|  11.5k|					   &inp->sctp_hashmark);
 2863|  11.5k|	if (inp->sctp_tcbhash == NULL) {
  ------------------
  |  Branch (2863:6): [True: 0, False: 11.5k]
  ------------------
 2864|      0|		SCTP_PRINTF("Out of SCTP-INPCB->hashinit - no resources\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 2865|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, ENOBUFS);
 2866|      0|		so->so_pcb = NULL;
 2867|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2868|       |		crfree(inp->ip_inp.inp.inp_cred);
 2869|       |#endif
 2870|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_ep), inp);
  ------------------
  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|      0|	free(element);  \
  |  |  703|      0|}
  ------------------
 2871|      0|		return (ENOBUFS);
 2872|      0|	}
 2873|       |#ifdef SCTP_MVRF
 2874|       |	inp->vrf_size = SCTP_DEFAULT_VRF_SIZE;
 2875|       |	SCTP_MALLOC(inp->m_vrf_ids, uint32_t *,
 2876|       |		    (sizeof(uint32_t) * inp->vrf_size), SCTP_M_MVRF);
 2877|       |	if (inp->m_vrf_ids == NULL) {
 2878|       |		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, ENOBUFS);
 2879|       |		so->so_pcb = NULL;
 2880|       |		SCTP_HASH_FREE(inp->sctp_tcbhash, inp->sctp_hashmark);
 2881|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2882|       |		crfree(inp->ip_inp.inp.inp_cred);
 2883|       |#endif
 2884|       |		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_ep), inp);
 2885|       |		return (ENOBUFS);
 2886|       |	}
 2887|       |	inp->m_vrf_ids[0] = vrf_id;
 2888|       |	inp->num_vrfs = 1;
 2889|       |#endif
 2890|  11.5k|	inp->def_vrf_id = vrf_id;
 2891|       |
 2892|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2893|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD)
 2894|       |	inp->ip_inp.inp.inpcb_mtx = lck_mtx_alloc_init(SCTP_BASE_INFO(sctbinfo).mtx_grp, SCTP_BASE_INFO(sctbinfo).mtx_attr);
 2895|       |	if (inp->ip_inp.inp.inpcb_mtx == NULL) {
 2896|       |		SCTP_PRINTF("in_pcballoc: can't alloc mutex! so=%p\n", (void *)so);
 2897|       |#ifdef SCTP_MVRF
 2898|       |		SCTP_FREE(inp->m_vrf_ids, SCTP_M_MVRF);
 2899|       |#endif
 2900|       |		SCTP_HASH_FREE(inp->sctp_tcbhash, inp->sctp_hashmark);
 2901|       |		so->so_pcb = NULL;
 2902|       |		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_ep), inp);
 2903|       |		SCTP_UNLOCK_EXC(SCTP_BASE_INFO(sctbinfo).ipi_lock);
 2904|       |		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, ENOMEM);
 2905|       |		return (ENOMEM);
 2906|       |	}
 2907|       |#elif defined(APPLE_LION) || defined(APPLE_MOUNTAINLION)
 2908|       |	lck_mtx_init(&inp->ip_inp.inp.inpcb_mtx, SCTP_BASE_INFO(sctbinfo).mtx_grp, SCTP_BASE_INFO(sctbinfo).mtx_attr);
 2909|       |#else
 2910|       |	lck_mtx_init(&inp->ip_inp.inp.inpcb_mtx, SCTP_BASE_INFO(sctbinfo).ipi_lock_grp, SCTP_BASE_INFO(sctbinfo).ipi_lock_attr);
 2911|       |#endif
 2912|       |#endif
 2913|  11.5k|	SCTP_INP_INFO_WLOCK();
  ------------------
  |  |  297|  11.5k|	KASSERT(pthread_rwlock_wrlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2914|  11.5k|	SCTP_INP_LOCK_INIT(inp);
  ------------------
  |  |  359|  11.5k|	(void)pthread_mutex_init(&(_inp)->inp_mtx, &SCTP_BASE_VAR(mtx_attr))
  |  |  ------------------
  |  |  |  |  585|  11.5k|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  ------------------
 2915|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2916|       |	rw_init_flags(&inp->ip_inp.inp.inp_lock, "sctpinp",
 2917|       |	    RW_RECURSE | RW_DUPOK);
 2918|       |#endif
 2919|  11.5k|	SCTP_INP_READ_LOCK_INIT(inp);
  ------------------
  |  |  341|  11.5k|	(void)pthread_mutex_init(&(_inp)->inp_rdata_mtx, &SCTP_BASE_VAR(mtx_attr))
  |  |  ------------------
  |  |  |  |  585|  11.5k|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  ------------------
 2920|  11.5k|	SCTP_ASOC_CREATE_LOCK_INIT(inp);
  ------------------
  |  |  415|  11.5k|	(void)pthread_mutex_init(&(_inp)->inp_create_mtx, &SCTP_BASE_VAR(mtx_attr))
  |  |  ------------------
  |  |  |  |  585|  11.5k|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  ------------------
 2921|       |	/* lock the new ep */
 2922|  11.5k|	SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2923|       |
 2924|       |	/* add it to the info area */
 2925|  11.5k|	LIST_INSERT_HEAD(&SCTP_BASE_INFO(listhead), inp, sctp_list);
 2926|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2927|       |	inp->ip_inp.inp.inp_pcbinfo = &SCTP_BASE_INFO(sctbinfo);
 2928|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD) || defined(APPLE_LION) || defined(APPLE_MOUNTAINLION)
 2929|       |	LIST_INSERT_HEAD(SCTP_BASE_INFO(sctbinfo).listhead, &inp->ip_inp.inp, inp_list);
 2930|       |#else
 2931|       |	LIST_INSERT_HEAD(SCTP_BASE_INFO(sctbinfo).ipi_listhead, &inp->ip_inp.inp, inp_list);
 2932|       |#endif
 2933|       |#endif
 2934|  11.5k|	SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|  11.5k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2935|       |
 2936|  11.5k|	TAILQ_INIT(&inp->read_queue);
 2937|  11.5k|	LIST_INIT(&inp->sctp_addr_list);
 2938|       |
 2939|  11.5k|	LIST_INIT(&inp->sctp_asoc_list);
 2940|       |
 2941|       |#ifdef SCTP_TRACK_FREED_ASOCS
 2942|       |	/* TEMP CODE */
 2943|       |	LIST_INIT(&inp->sctp_asoc_free_list);
 2944|       |#endif
 2945|       |	/* Init the timer structure for signature change */
 2946|  11.5k|	SCTP_OS_TIMER_INIT(&inp->sctp_ep.signature_change.timer);
  ------------------
  |  |   92|  11.5k|#define SCTP_OS_TIMER_INIT	sctp_os_timer_init
  ------------------
 2947|  11.5k|	inp->sctp_ep.signature_change.type = SCTP_TIMER_TYPE_NEWCOOKIE;
  ------------------
  |  |  538|  11.5k|#define SCTP_TIMER_TYPE_NEWCOOKIE	7
  ------------------
 2948|       |
 2949|       |	/* now init the actual endpoint default data */
 2950|  11.5k|	m = &inp->sctp_ep;
 2951|       |
 2952|       |	/* setup the base timeout information */
 2953|  11.5k|	m->sctp_timeoutticks[SCTP_TIMER_SEND] = sctp_secs_to_ticks(SCTP_SEND_SEC);	/* needed ? */
  ------------------
  |  |  519|  11.5k|#define SCTP_TIMER_SEND 	2
  ------------------
              	m->sctp_timeoutticks[SCTP_TIMER_SEND] = sctp_secs_to_ticks(SCTP_SEND_SEC);	/* needed ? */
  ------------------
  |  |  592|  11.5k|#define SCTP_SEND_SEC	1
  ------------------
 2954|  11.5k|	m->sctp_timeoutticks[SCTP_TIMER_INIT] = sctp_secs_to_ticks(SCTP_INIT_SEC);	/* needed ? */
  ------------------
  |  |  517|  11.5k|#define SCTP_TIMER_INIT 	0
  ------------------
              	m->sctp_timeoutticks[SCTP_TIMER_INIT] = sctp_secs_to_ticks(SCTP_INIT_SEC);	/* needed ? */
  ------------------
  |  |  589|  11.5k|#define SCTP_INIT_SEC	1
  ------------------
 2955|  11.5k|	m->sctp_timeoutticks[SCTP_TIMER_RECV] = sctp_msecs_to_ticks(SCTP_BASE_SYSCTL(sctp_delayed_sack_time_default));
  ------------------
  |  |  518|  11.5k|#define SCTP_TIMER_RECV 	1
  ------------------
              	m->sctp_timeoutticks[SCTP_TIMER_RECV] = sctp_msecs_to_ticks(SCTP_BASE_SYSCTL(sctp_delayed_sack_time_default));
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2956|  11.5k|	m->sctp_timeoutticks[SCTP_TIMER_HEARTBEAT] = sctp_msecs_to_ticks(SCTP_BASE_SYSCTL(sctp_heartbeat_interval_default));
  ------------------
  |  |  520|  11.5k|#define SCTP_TIMER_HEARTBEAT	3
  ------------------
              	m->sctp_timeoutticks[SCTP_TIMER_HEARTBEAT] = sctp_msecs_to_ticks(SCTP_BASE_SYSCTL(sctp_heartbeat_interval_default));
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2957|  11.5k|	m->sctp_timeoutticks[SCTP_TIMER_PMTU] = sctp_secs_to_ticks(SCTP_BASE_SYSCTL(sctp_pmtu_raise_time_default));
  ------------------
  |  |  521|  11.5k|#define SCTP_TIMER_PMTU		4
  ------------------
              	m->sctp_timeoutticks[SCTP_TIMER_PMTU] = sctp_secs_to_ticks(SCTP_BASE_SYSCTL(sctp_pmtu_raise_time_default));
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2958|  11.5k|	m->sctp_timeoutticks[SCTP_TIMER_MAXSHUTDOWN] = sctp_secs_to_ticks(SCTP_BASE_SYSCTL(sctp_shutdown_guard_time_default));
  ------------------
  |  |  522|  11.5k|#define SCTP_TIMER_MAXSHUTDOWN	5
  ------------------
              	m->sctp_timeoutticks[SCTP_TIMER_MAXSHUTDOWN] = sctp_secs_to_ticks(SCTP_BASE_SYSCTL(sctp_shutdown_guard_time_default));
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2959|  11.5k|	m->sctp_timeoutticks[SCTP_TIMER_SIGNATURE] = sctp_secs_to_ticks(SCTP_BASE_SYSCTL(sctp_secret_lifetime_default));
  ------------------
  |  |  523|  11.5k|#define SCTP_TIMER_SIGNATURE	6
  ------------------
              	m->sctp_timeoutticks[SCTP_TIMER_SIGNATURE] = sctp_secs_to_ticks(SCTP_BASE_SYSCTL(sctp_secret_lifetime_default));
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2960|       |	/* all max/min max are in ms */
 2961|  11.5k|	m->sctp_maxrto = SCTP_BASE_SYSCTL(sctp_rto_max_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2962|  11.5k|	m->sctp_minrto = SCTP_BASE_SYSCTL(sctp_rto_min_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2963|  11.5k|	m->initial_rto = SCTP_BASE_SYSCTL(sctp_rto_initial_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2964|  11.5k|	m->initial_init_rto_max = SCTP_BASE_SYSCTL(sctp_init_rto_max_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2965|  11.5k|	m->sctp_sack_freq = SCTP_BASE_SYSCTL(sctp_sack_freq_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2966|  11.5k|	m->max_init_times = SCTP_BASE_SYSCTL(sctp_init_rtx_max_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2967|  11.5k|	m->max_send_times = SCTP_BASE_SYSCTL(sctp_assoc_rtx_max_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2968|  11.5k|	m->def_net_failure = SCTP_BASE_SYSCTL(sctp_path_rtx_max_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2969|  11.5k|	m->def_net_pf_threshold = SCTP_BASE_SYSCTL(sctp_path_pf_threshold);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2970|  11.5k|	m->sctp_sws_sender = SCTP_SWS_SENDER_DEF;
  ------------------
  |  |  674|  11.5k|#define SCTP_SWS_SENDER_DEF	1420
  ------------------
 2971|  11.5k|	m->sctp_sws_receiver = SCTP_SWS_RECEIVER_DEF;
  ------------------
  |  |  681|  11.5k|#define SCTP_SWS_RECEIVER_DEF	3000
  ------------------
 2972|  11.5k|	m->max_burst = SCTP_BASE_SYSCTL(sctp_max_burst_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2973|  11.5k|	m->fr_max_burst = SCTP_BASE_SYSCTL(sctp_fr_max_burst_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2974|       |
 2975|  11.5k|	m->sctp_default_cc_module = SCTP_BASE_SYSCTL(sctp_default_cc_module);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2976|  11.5k|	m->sctp_default_ss_module = SCTP_BASE_SYSCTL(sctp_default_ss_module);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2977|  11.5k|	m->max_open_streams_intome = SCTP_BASE_SYSCTL(sctp_nr_incoming_streams_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2978|       |	/* number of streams to pre-open on a association */
 2979|  11.5k|	m->pre_open_stream_count = SCTP_BASE_SYSCTL(sctp_nr_outgoing_streams_default);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2980|       |
 2981|  11.5k|	m->default_mtu = 0;
 2982|       |	/* Add adaptation cookie */
 2983|  11.5k|	m->adaptation_layer_indicator = 0;
 2984|  11.5k|	m->adaptation_layer_indicator_provided = 0;
 2985|       |
 2986|       |	/* seed random number generator */
 2987|  11.5k|	m->random_counter = 1;
 2988|  11.5k|	m->store_at = SCTP_SIGNATURE_SIZE;
  ------------------
  |  |  300|  11.5k|#define SCTP_SIGNATURE_SIZE	SCTP_AUTH_DIGEST_LEN_SHA1
  |  |  ------------------
  |  |  |  |   41|  11.5k|#define SCTP_AUTH_DIGEST_LEN_SHA1	20
  |  |  ------------------
  ------------------
 2989|  11.5k|	SCTP_READ_RANDOM(m->random_numbers, sizeof(m->random_numbers));
  ------------------
  |  |  980|  11.5k|#define SCTP_READ_RANDOM(buf, len)	read_random(buf, len)
  ------------------
 2990|  11.5k|	sctp_fill_random_store(m);
 2991|       |
 2992|       |	/* Minimum cookie size */
 2993|  11.5k|	m->size_of_a_cookie = (sizeof(struct sctp_init_msg) * 2) +
 2994|  11.5k|	    sizeof(struct sctp_state_cookie);
 2995|  11.5k|	m->size_of_a_cookie += SCTP_SIGNATURE_SIZE;
  ------------------
  |  |  300|  11.5k|#define SCTP_SIGNATURE_SIZE	SCTP_AUTH_DIGEST_LEN_SHA1
  |  |  ------------------
  |  |  |  |   41|  11.5k|#define SCTP_AUTH_DIGEST_LEN_SHA1	20
  |  |  ------------------
  ------------------
 2996|       |
 2997|       |	/* Setup the initial secret */
 2998|  11.5k|	(void)SCTP_GETTIME_TIMEVAL(&time);
  ------------------
  |  |  991|  11.5k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 2999|  11.5k|	m->time_of_secret_change = time.tv_sec;
 3000|       |
 3001|   104k|	for (i = 0; i < SCTP_NUMBER_OF_SECRETS; i++) {
  ------------------
  |  |  697|   104k|#define SCTP_NUMBER_OF_SECRETS	8	/* or 8 * 4 = 32 octets */
  ------------------
  |  Branch (3001:14): [True: 92.4k, False: 11.5k]
  ------------------
 3002|  92.4k|		m->secret_key[0][i] = sctp_select_initial_TSN(m);
 3003|  92.4k|	}
 3004|  11.5k|	sctp_timer_start(SCTP_TIMER_TYPE_NEWCOOKIE, inp, NULL, NULL);
  ------------------
  |  |  538|  11.5k|#define SCTP_TIMER_TYPE_NEWCOOKIE	7
  ------------------
 3005|       |
 3006|       |	/* How long is a cookie good for ? */
 3007|  11.5k|	m->def_cookie_life = sctp_msecs_to_ticks(SCTP_BASE_SYSCTL(sctp_valid_cookie_life_default));
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 3008|       |	/*
 3009|       |	 * Initialize authentication parameters
 3010|       |	 */
 3011|  11.5k|	m->local_hmacs = sctp_default_supported_hmaclist();
 3012|  11.5k|	m->local_auth_chunks = sctp_alloc_chunklist();
 3013|  11.5k|	if (inp->asconf_supported) {
  ------------------
  |  Branch (3013:6): [True: 11.5k, False: 0]
  ------------------
 3014|  11.5k|		sctp_auth_add_chunk(SCTP_ASCONF, m->local_auth_chunks);
  ------------------
  |  |  492|  11.5k|#define SCTP_ASCONF		0xc1
  ------------------
 3015|  11.5k|		sctp_auth_add_chunk(SCTP_ASCONF_ACK, m->local_auth_chunks);
  ------------------
  |  |  480|  11.5k|#define	SCTP_ASCONF_ACK		0x80
  ------------------
 3016|  11.5k|	}
 3017|  11.5k|	m->default_dscp = 0;
 3018|  11.5k|#ifdef INET6
 3019|  11.5k|	m->default_flowlabel = 0;
 3020|  11.5k|#endif
 3021|  11.5k|	m->port = 0; /* encapsulation disabled by default */
 3022|  11.5k|	LIST_INIT(&m->shared_keys);
 3023|       |	/* add default NULL key as key id 0 */
 3024|  11.5k|	null_key = sctp_alloc_sharedkey();
 3025|  11.5k|	sctp_insert_sharedkey(&m->shared_keys, null_key);
 3026|  11.5k|	SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3027|       |#ifdef SCTP_LOG_CLOSING
 3028|       |	sctp_log_closing(inp, NULL, 12);
 3029|       |#endif
 3030|  11.5k|	return (error);
 3031|  11.5k|}
sctp_inpcb_bind_locked:
 3267|  11.5k|{
 3268|       |	/* bind a ep to a socket address */
 3269|  11.5k|	struct sctppcbhead *head;
 3270|  11.5k|	struct sctp_inpcb *inp_tmp;
 3271|       |#if (defined(__FreeBSD__) || defined(__APPLE__)) && !defined(__Userspace__)
 3272|       |	struct inpcb *ip_inp;
 3273|       |#endif
 3274|  11.5k|	int port_reuse_active = 0;
 3275|  11.5k|	int bindall;
 3276|       |#ifdef SCTP_MVRF
 3277|       |	int i;
 3278|       |#endif
 3279|  11.5k|	uint16_t lport;
 3280|  11.5k|	int error;
 3281|  11.5k|	uint32_t vrf_id;
 3282|       |
 3283|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3284|       |	KASSERT(td != NULL, ("%s: null thread", __func__));
 3285|       |
 3286|       |#endif
 3287|  11.5k|	error = 0;
 3288|  11.5k|	lport = 0;
 3289|  11.5k|	bindall = 1;
 3290|       |#if (defined(__FreeBSD__) || defined(__APPLE__)) && !defined(__Userspace__)
 3291|       |	ip_inp = &inp->ip_inp.inp;
 3292|       |#endif
 3293|       |
 3294|  11.5k|	SCTP_INP_INFO_WLOCK_ASSERT();
 3295|  11.5k|	SCTP_INP_WLOCK_ASSERT(inp);
  ------------------
  |  |  410|  11.5k|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_mtx) == EBUSY, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3296|       |
 3297|       |#ifdef SCTP_DEBUG
 3298|       |	if (addr) {
 3299|       |		SCTPDBG(SCTP_DEBUG_PCB1, "Bind called port: %d\n",
 3300|       |			ntohs(((struct sockaddr_in *)addr)->sin_port));
 3301|       |		SCTPDBG(SCTP_DEBUG_PCB1, "Addr: ");
 3302|       |		SCTPDBG_ADDR(SCTP_DEBUG_PCB1, addr);
 3303|       |	}
 3304|       |#endif
 3305|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_UNBOUND) == 0) {
  ------------------
  |  |  535|  11.5k|#define SCTP_PCB_FLAGS_UNBOUND		0x00000010
  ------------------
  |  Branch (3305:6): [True: 0, False: 11.5k]
  ------------------
 3306|      0|		error = EINVAL;
 3307|       |		/* already did a bind, subsequent binds NOT allowed ! */
 3308|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3309|      0|		goto out;
 3310|      0|	}
 3311|  11.5k|	if (addr != NULL) {
  ------------------
  |  Branch (3311:6): [True: 11.5k, False: 0]
  ------------------
 3312|  11.5k|		switch (addr->sa_family) {
 3313|      0|#ifdef INET
 3314|      0|		case AF_INET:
  ------------------
  |  Branch (3314:3): [True: 0, False: 11.5k]
  ------------------
 3315|      0|		{
 3316|      0|			struct sockaddr_in *sin;
 3317|       |
 3318|       |			/* IPV6_V6ONLY socket? */
 3319|      0|			if (SCTP_IPV6_V6ONLY(inp)) {
  ------------------
  |  |  948|      0|#define SCTP_IPV6_V6ONLY(sctp_inpcb)	((sctp_inpcb)->ip_inp.inp.inp_flags & IN6P_IPV6_V6ONLY)
  |  |  ------------------
  |  |  |  |  290|      0|#define IN6P_IPV6_V6ONLY	0x008000 /* restrict AF_INET6 socket for v6 */
  |  |  ------------------
  |  |  |  Branch (948:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3320|      0|				error = EINVAL;
 3321|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3322|      0|				goto out;
 3323|      0|			}
 3324|       |#ifdef HAVE_SA_LEN
 3325|       |			if (addr->sa_len != sizeof(*sin)) {
 3326|       |				error = EINVAL;
 3327|       |				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3328|       |				goto out;
 3329|       |			}
 3330|       |#endif
 3331|       |
 3332|      0|			sin = (struct sockaddr_in *)addr;
 3333|      0|			lport = sin->sin_port;
 3334|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3335|       |			/*
 3336|       |			 * For LOOPBACK the prison_local_ip4() call will transmute the ip address
 3337|       |			 * to the proper value.
 3338|       |			 */
 3339|       |			if ((error = prison_local_ip4(td->td_ucred, &sin->sin_addr)) != 0) {
 3340|       |				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3341|       |				goto out;
 3342|       |			}
 3343|       |#endif
 3344|      0|			if (sin->sin_addr.s_addr != INADDR_ANY) {
  ------------------
  |  Branch (3344:8): [True: 0, False: 0]
  ------------------
 3345|      0|				bindall = 0;
 3346|      0|			}
 3347|      0|			break;
 3348|      0|		}
 3349|      0|#endif
 3350|      0|#ifdef INET6
 3351|      0|		case AF_INET6:
  ------------------
  |  Branch (3351:3): [True: 0, False: 11.5k]
  ------------------
 3352|      0|		{
 3353|       |			/* Only for pure IPv6 Address. (No IPv4 Mapped!) */
 3354|      0|			struct sockaddr_in6 *sin6;
 3355|       |
 3356|      0|			sin6 = (struct sockaddr_in6 *)addr;
 3357|       |#ifdef HAVE_SA_LEN
 3358|       |			if (addr->sa_len != sizeof(*sin6)) {
 3359|       |				error = EINVAL;
 3360|       |				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3361|       |				goto out;
 3362|       |			}
 3363|       |#endif
 3364|      0|			lport = sin6->sin6_port;
 3365|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3366|       |			/*
 3367|       |			 * For LOOPBACK the prison_local_ip6() call will transmute the ipv6 address
 3368|       |			 * to the proper value.
 3369|       |			 */
 3370|       |			if ((error = prison_local_ip6(td->td_ucred, &sin6->sin6_addr,
 3371|       |			    (SCTP_IPV6_V6ONLY(inp) != 0))) != 0) {
 3372|       |				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3373|       |				goto out;
 3374|       |			}
 3375|       |#endif
 3376|      0|			if (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
  ------------------
  |  Branch (3376:8): [True: 0, False: 0]
  ------------------
 3377|      0|				bindall = 0;
 3378|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 3379|       |				/* KAME hack: embed scopeid */
 3380|       |#if defined(SCTP_KAME)
 3381|       |				if (sa6_embedscope(sin6, MODULE_GLOBAL(ip6_use_defzone)) != 0) {
 3382|       |					error = EINVAL;
 3383|       |					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3384|       |					goto out;
 3385|       |				}
 3386|       |#elif defined(__APPLE__) && !defined(__Userspace__)
 3387|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD)
 3388|       |				if (in6_embedscope(&sin6->sin6_addr, sin6, ip_inp, NULL) != 0) {
 3389|       |#else
 3390|       |				if (in6_embedscope(&sin6->sin6_addr, sin6, ip_inp, NULL, NULL) != 0) {
 3391|       |#endif
 3392|       |					error = EINVAL;
 3393|       |					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3394|       |					goto out;
 3395|       |				}
 3396|       |#elif defined(__FreeBSD__) && !defined(__Userspace__)
 3397|       |				error = scope6_check_id(sin6, MODULE_GLOBAL(ip6_use_defzone));
 3398|       |				if (error != 0) {
 3399|       |					error = EINVAL;
 3400|       |					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3401|       |					goto out;
 3402|       |				}
 3403|       |#else
 3404|       |				if (in6_embedscope(&sin6->sin6_addr, sin6) != 0) {
 3405|       |					error = EINVAL;
 3406|       |					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3407|       |					goto out;
 3408|       |				}
 3409|       |#endif
 3410|       |#endif /* SCTP_EMBEDDED_V6_SCOPE */
 3411|      0|			}
 3412|      0|#ifndef SCOPEDROUTING
 3413|       |			/* this must be cleared for ifa_ifwithaddr() */
 3414|      0|			sin6->sin6_scope_id = 0;
 3415|      0|#endif /* SCOPEDROUTING */
 3416|      0|			break;
 3417|      0|		}
 3418|      0|#endif
 3419|      0|#if defined(__Userspace__)
 3420|  11.5k|		case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (3420:3): [True: 11.5k, False: 0]
  ------------------
 3421|  11.5k|		{
 3422|  11.5k|			struct sockaddr_conn *sconn;
 3423|       |
 3424|       |#ifdef HAVE_SA_LEN
 3425|       |			if (addr->sa_len != sizeof(struct sockaddr_conn)) {
 3426|       |				error = EINVAL;
 3427|       |				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3428|       |				goto out;
 3429|       |			}
 3430|       |#endif
 3431|  11.5k|			sconn = (struct sockaddr_conn *)addr;
 3432|  11.5k|			lport = sconn->sconn_port;
 3433|  11.5k|			if (sconn->sconn_addr != NULL) {
  ------------------
  |  Branch (3433:8): [True: 11.5k, False: 0]
  ------------------
 3434|  11.5k|				bindall = 0;
 3435|  11.5k|			}
 3436|  11.5k|			break;
 3437|      0|		}
 3438|      0|#endif
 3439|      0|		default:
  ------------------
  |  Branch (3439:3): [True: 0, False: 11.5k]
  ------------------
 3440|      0|			error = EAFNOSUPPORT;
 3441|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3442|      0|			goto out;
 3443|  11.5k|		}
 3444|  11.5k|	}
 3445|       |	/* Setup a vrf_id to be the default for the non-bind-all case. */
 3446|  11.5k|	vrf_id = inp->def_vrf_id;
 3447|       |
 3448|  11.5k|	if (lport) {
  ------------------
  |  Branch (3448:6): [True: 11.5k, False: 0]
  ------------------
 3449|       |		/*
 3450|       |		 * Did the caller specify a port? if so we must see if an ep
 3451|       |		 * already has this one bound.
 3452|       |		 */
 3453|       |		/* got to be root to get at low ports */
 3454|  11.5k|#if !(defined(_WIN32) && !defined(__Userspace__))
 3455|  11.5k|		if (ntohs(lport) < IPPORT_RESERVED &&
  ------------------
  |  Branch (3455:7): [True: 0, False: 11.5k]
  ------------------
 3456|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3457|       |		    (error = priv_check(td, PRIV_NETINET_RESERVEDPORT)) != 0) {
 3458|       |#elif defined(__APPLE__) && !defined(__Userspace__)
 3459|       |		    (error = suser(p->p_ucred, &p->p_acflag)) != 0) {
 3460|       |#elif defined(__Userspace__)
 3461|       |			/* TODO ensure uid is 0, etc... */
 3462|  11.5k|		    0) {
  ------------------
  |  Branch (3462:7): [Folded - Ignored]
  ------------------
 3463|       |#else
 3464|       |		    (error = suser(p, 0)) != 0) {
 3465|       |#endif
 3466|      0|			goto out;
 3467|      0|		}
 3468|  11.5k|#endif
 3469|  11.5k|		SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|  11.5k|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|  11.5k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 3470|  11.5k|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3471|  11.5k|		if (bindall) {
  ------------------
  |  Branch (3471:7): [True: 0, False: 11.5k]
  ------------------
 3472|       |#ifdef SCTP_MVRF
 3473|       |			for (i = 0; i < inp->num_vrfs; i++) {
 3474|       |				vrf_id = inp->m_vrf_ids[i];
 3475|       |#else
 3476|      0|				vrf_id = inp->def_vrf_id;
 3477|      0|#endif
 3478|      0|				inp_tmp = sctp_pcb_findep(addr, 0, 1, vrf_id);
 3479|      0|				if (inp_tmp != NULL) {
  ------------------
  |  Branch (3479:9): [True: 0, False: 0]
  ------------------
 3480|       |					/*
 3481|       |					 * lock guy returned and lower count
 3482|       |					 * note that we are not bound so
 3483|       |					 * inp_tmp should NEVER be inp. And
 3484|       |					 * it is this inp (inp_tmp) that gets
 3485|       |					 * the reference bump, so we must
 3486|       |					 * lower it.
 3487|       |					 */
 3488|      0|					SCTP_INP_DECR_REF(inp_tmp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 3489|       |					/* unlock info */
 3490|      0|					if ((sctp_is_feature_on(inp, SCTP_PCB_FLAGS_PORTREUSE)) &&
  ------------------
  |  |   52|      0|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (3490:10): [True: 0, False: 0]
  ------------------
 3491|      0|					    (sctp_is_feature_on(inp_tmp, SCTP_PCB_FLAGS_PORTREUSE))) {
  ------------------
  |  |   52|      0|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (3491:10): [True: 0, False: 0]
  ------------------
 3492|       |						/* Ok, must be one-2-one and allowing port re-use */
 3493|      0|						port_reuse_active = 1;
 3494|      0|						goto continue_anyway;
 3495|      0|					}
 3496|      0|					SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3497|      0|					SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 3498|      0|					error = EADDRINUSE;
 3499|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3500|      0|					goto out;
 3501|      0|				}
 3502|       |#ifdef SCTP_MVRF
 3503|       |			}
 3504|       |#endif
 3505|  11.5k|		} else {
 3506|  11.5k|			inp_tmp = sctp_pcb_findep(addr, 0, 1, vrf_id);
 3507|  11.5k|			if (inp_tmp != NULL) {
  ------------------
  |  Branch (3507:8): [True: 0, False: 11.5k]
  ------------------
 3508|       |				/*
 3509|       |				 * lock guy returned and lower count note
 3510|       |				 * that we are not bound so inp_tmp should
 3511|       |				 * NEVER be inp. And it is this inp (inp_tmp)
 3512|       |				 * that gets the reference bump, so we must
 3513|       |				 * lower it.
 3514|       |				 */
 3515|      0|				SCTP_INP_DECR_REF(inp_tmp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 3516|       |				/* unlock info */
 3517|      0|				if ((sctp_is_feature_on(inp, SCTP_PCB_FLAGS_PORTREUSE)) &&
  ------------------
  |  |   52|      0|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (3517:9): [True: 0, False: 0]
  ------------------
 3518|      0|				    (sctp_is_feature_on(inp_tmp, SCTP_PCB_FLAGS_PORTREUSE))) {
  ------------------
  |  |   52|      0|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (3518:9): [True: 0, False: 0]
  ------------------
 3519|       |					/* Ok, must be one-2-one and allowing port re-use */
 3520|      0|					port_reuse_active = 1;
 3521|      0|					goto continue_anyway;
 3522|      0|				}
 3523|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3524|      0|				SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 3525|      0|				error = EADDRINUSE;
 3526|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3527|      0|				goto out;
 3528|      0|			}
 3529|  11.5k|		}
 3530|  11.5k|	continue_anyway:
 3531|  11.5k|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3532|  11.5k|		SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|  11.5k|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|  11.5k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 3533|  11.5k|		if (bindall) {
  ------------------
  |  Branch (3533:7): [True: 0, False: 11.5k]
  ------------------
 3534|       |			/* verify that no lport is not used by a singleton */
 3535|      0|			if ((port_reuse_active == 0) &&
  ------------------
  |  Branch (3535:8): [True: 0, False: 0]
  ------------------
 3536|      0|			    (inp_tmp = sctp_isport_inuse(inp, lport, vrf_id))) {
  ------------------
  |  Branch (3536:8): [True: 0, False: 0]
  ------------------
 3537|       |				/* Sorry someone already has this one bound */
 3538|      0|				if ((sctp_is_feature_on(inp, SCTP_PCB_FLAGS_PORTREUSE)) &&
  ------------------
  |  |   52|      0|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (3538:9): [True: 0, False: 0]
  ------------------
 3539|      0|				    (sctp_is_feature_on(inp_tmp, SCTP_PCB_FLAGS_PORTREUSE))) {
  ------------------
  |  |   52|      0|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (3539:9): [True: 0, False: 0]
  ------------------
 3540|      0|					port_reuse_active = 1;
 3541|      0|				} else {
 3542|      0|					error = EADDRINUSE;
 3543|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3544|      0|					goto out;
 3545|      0|				}
 3546|      0|			}
 3547|      0|		}
 3548|  11.5k|	} else {
 3549|      0|		uint16_t first, last, candidate;
 3550|      0|		uint16_t count;
 3551|       |
 3552|      0|#if defined(__Userspace__)
 3553|      0|		first = MODULE_GLOBAL(ipport_firstauto);
  ------------------
  |  |   65|      0|#define MODULE_GLOBAL(_B) (_B)
  ------------------
 3554|      0|		last = MODULE_GLOBAL(ipport_lastauto);
  ------------------
  |  |   65|      0|#define MODULE_GLOBAL(_B) (_B)
  ------------------
 3555|       |#elif defined(_WIN32)
 3556|       |		first = 1;
 3557|       |		last = 0xffff;
 3558|       |#elif defined(__FreeBSD__) || defined(__APPLE__)
 3559|       |		if (ip_inp->inp_flags & INP_HIGHPORT) {
 3560|       |			first = MODULE_GLOBAL(ipport_hifirstauto);
 3561|       |			last = MODULE_GLOBAL(ipport_hilastauto);
 3562|       |		} else if (ip_inp->inp_flags & INP_LOWPORT) {
 3563|       |#if defined(__FreeBSD__)
 3564|       |			if ((error = priv_check(td, PRIV_NETINET_RESERVEDPORT)) != 0) {
 3565|       |#else
 3566|       |			if ((error = suser(p->p_ucred, &p->p_acflag)) != 0) {
 3567|       |#endif
 3568|       |				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3569|       |				goto out;
 3570|       |			}
 3571|       |			first = MODULE_GLOBAL(ipport_lowfirstauto);
 3572|       |			last = MODULE_GLOBAL(ipport_lowlastauto);
 3573|       |		} else {
 3574|       |			first = MODULE_GLOBAL(ipport_firstauto);
 3575|       |			last = MODULE_GLOBAL(ipport_lastauto);
 3576|       |		}
 3577|       |#endif
 3578|      0|		if (first > last) {
  ------------------
  |  Branch (3578:7): [True: 0, False: 0]
  ------------------
 3579|      0|			uint16_t temp;
 3580|       |
 3581|      0|			temp = first;
 3582|      0|			first = last;
 3583|      0|			last = temp;
 3584|      0|		}
 3585|      0|		count = last - first + 1; /* number of candidates */
 3586|      0|		candidate = first + sctp_select_initial_TSN(&inp->sctp_ep) % (count);
 3587|       |
 3588|      0|		for (;;) {
 3589|       |#ifdef SCTP_MVRF
 3590|       |			for (i = 0; i < inp->num_vrfs; i++) {
 3591|       |				if (sctp_isport_inuse(inp, htons(candidate), inp->m_vrf_ids[i]) != NULL) {
 3592|       |					break;
 3593|       |				}
 3594|       |			}
 3595|       |			if (i == inp->num_vrfs) {
 3596|       |				lport = htons(candidate);
 3597|       |				break;
 3598|       |			}
 3599|       |#else
 3600|      0|			if (sctp_isport_inuse(inp, htons(candidate), inp->def_vrf_id) == NULL) {
  ------------------
  |  Branch (3600:8): [True: 0, False: 0]
  ------------------
 3601|      0|				lport = htons(candidate);
 3602|      0|				break;
 3603|      0|			}
 3604|      0|#endif
 3605|      0|			if (--count == 0) {
  ------------------
  |  Branch (3605:8): [True: 0, False: 0]
  ------------------
 3606|      0|				error = EADDRINUSE;
 3607|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3608|      0|				goto out;
 3609|      0|			}
 3610|      0|			if (candidate == last)
  ------------------
  |  Branch (3610:8): [True: 0, False: 0]
  ------------------
 3611|      0|				candidate = first;
 3612|      0|			else
 3613|      0|				candidate = candidate + 1;
 3614|      0|		}
 3615|      0|	}
 3616|  11.5k|	if (inp->sctp_flags & (SCTP_PCB_FLAGS_SOCKET_GONE |
  ------------------
  |  |  549|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (3616:6): [True: 0, False: 11.5k]
  ------------------
 3617|  11.5k|			       SCTP_PCB_FLAGS_SOCKET_ALLGONE)) {
  ------------------
  |  |  550|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
 3618|       |		/*
 3619|       |		 * this really should not happen. The guy did a non-blocking
 3620|       |		 * bind and then did a close at the same time.
 3621|       |		 */
 3622|      0|		error = EINVAL;
 3623|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3624|      0|		goto out;
 3625|      0|	}
 3626|       |	/* ok we look clear to give out this port, so lets setup the binding */
 3627|  11.5k|	if (bindall) {
  ------------------
  |  Branch (3627:6): [True: 0, False: 11.5k]
  ------------------
 3628|       |		/* binding to all addresses, so just set in the proper flags */
 3629|      0|		inp->sctp_flags |= SCTP_PCB_FLAGS_BOUNDALL;
  ------------------
  |  |  533|      0|#define SCTP_PCB_FLAGS_BOUNDALL		0x00000004
  ------------------
 3630|       |		/* set the automatic addr changes from kernel flag */
 3631|      0|		if (SCTP_BASE_SYSCTL(sctp_auto_asconf) == 0) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (3631:7): [True: 0, False: 0]
  ------------------
 3632|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_DO_ASCONF);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 3633|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_AUTO_ASCONF);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 3634|      0|		} else {
 3635|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_DO_ASCONF);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 3636|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_AUTO_ASCONF);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 3637|      0|		}
 3638|      0|		if (SCTP_BASE_SYSCTL(sctp_multiple_asconfs) == 0) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (3638:7): [True: 0, False: 0]
  ------------------
 3639|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_MULTIPLE_ASCONFS);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 3640|      0|		} else {
 3641|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_MULTIPLE_ASCONFS);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 3642|      0|		}
 3643|       |		/* set the automatic mobility_base from kernel
 3644|       |		   flag (by micchie)
 3645|       |		*/
 3646|      0|		if (SCTP_BASE_SYSCTL(sctp_mobility_base) == 0) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (3646:7): [True: 0, False: 0]
  ------------------
 3647|      0|			sctp_mobility_feature_off(inp, SCTP_MOBILITY_BASE);
  ------------------
  |  |   83|      0|#define sctp_mobility_feature_off(inp, feature) (inp->sctp_mobility_features &= ~feature)
  ------------------
 3648|      0|			sctp_mobility_feature_off(inp, SCTP_MOBILITY_PRIM_DELETED);
  ------------------
  |  |   83|      0|#define sctp_mobility_feature_off(inp, feature) (inp->sctp_mobility_features &= ~feature)
  ------------------
 3649|      0|		} else {
 3650|      0|			sctp_mobility_feature_on(inp, SCTP_MOBILITY_BASE);
  ------------------
  |  |   82|      0|#define sctp_mobility_feature_on(inp, feature)  (inp->sctp_mobility_features |= feature)
  ------------------
 3651|      0|			sctp_mobility_feature_off(inp, SCTP_MOBILITY_PRIM_DELETED);
  ------------------
  |  |   83|      0|#define sctp_mobility_feature_off(inp, feature) (inp->sctp_mobility_features &= ~feature)
  ------------------
 3652|      0|		}
 3653|       |		/* set the automatic mobility_fasthandoff from kernel
 3654|       |		   flag (by micchie)
 3655|       |		*/
 3656|      0|		if (SCTP_BASE_SYSCTL(sctp_mobility_fasthandoff) == 0) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (3656:7): [True: 0, False: 0]
  ------------------
 3657|      0|			sctp_mobility_feature_off(inp, SCTP_MOBILITY_FASTHANDOFF);
  ------------------
  |  |   83|      0|#define sctp_mobility_feature_off(inp, feature) (inp->sctp_mobility_features &= ~feature)
  ------------------
 3658|      0|			sctp_mobility_feature_off(inp, SCTP_MOBILITY_PRIM_DELETED);
  ------------------
  |  |   83|      0|#define sctp_mobility_feature_off(inp, feature) (inp->sctp_mobility_features &= ~feature)
  ------------------
 3659|      0|		} else {
 3660|      0|			sctp_mobility_feature_on(inp, SCTP_MOBILITY_FASTHANDOFF);
  ------------------
  |  |   82|      0|#define sctp_mobility_feature_on(inp, feature)  (inp->sctp_mobility_features |= feature)
  ------------------
 3661|      0|			sctp_mobility_feature_off(inp, SCTP_MOBILITY_PRIM_DELETED);
  ------------------
  |  |   83|      0|#define sctp_mobility_feature_off(inp, feature) (inp->sctp_mobility_features &= ~feature)
  ------------------
 3662|      0|		}
 3663|  11.5k|	} else {
 3664|       |		/*
 3665|       |		 * bind specific, make sure flags is off and add a new
 3666|       |		 * address structure to the sctp_addr_list inside the ep
 3667|       |		 * structure.
 3668|       |		 *
 3669|       |		 * We will need to allocate one and insert it at the head. The
 3670|       |		 * socketopt call can just insert new addresses in there as
 3671|       |		 * well. It will also have to do the embed scope kame hack
 3672|       |		 * too (before adding).
 3673|       |		 */
 3674|  11.5k|		struct sctp_ifa *ifa;
 3675|  11.5k|		union sctp_sockstore store;
 3676|       |
 3677|  11.5k|		memset(&store, 0, sizeof(store));
 3678|  11.5k|		switch (addr->sa_family) {
 3679|      0|#ifdef INET
 3680|      0|		case AF_INET:
  ------------------
  |  Branch (3680:3): [True: 0, False: 11.5k]
  ------------------
 3681|      0|			memcpy(&store.sin, addr, sizeof(struct sockaddr_in));
 3682|      0|			store.sin.sin_port = 0;
 3683|      0|			break;
 3684|      0|#endif
 3685|      0|#ifdef INET6
 3686|      0|		case AF_INET6:
  ------------------
  |  Branch (3686:3): [True: 0, False: 11.5k]
  ------------------
 3687|      0|			memcpy(&store.sin6, addr, sizeof(struct sockaddr_in6));
 3688|      0|			store.sin6.sin6_port = 0;
 3689|      0|			break;
 3690|      0|#endif
 3691|      0|#if defined(__Userspace__)
 3692|  11.5k|		case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (3692:3): [True: 11.5k, False: 0]
  ------------------
 3693|  11.5k|			memcpy(&store.sconn, addr, sizeof(struct sockaddr_conn));
 3694|  11.5k|			store.sconn.sconn_port = 0;
 3695|  11.5k|			break;
 3696|      0|#endif
 3697|      0|		default:
  ------------------
  |  Branch (3697:3): [True: 0, False: 11.5k]
  ------------------
 3698|      0|			break;
 3699|  11.5k|		}
 3700|       |		/*
 3701|       |		 * first find the interface with the bound address need to
 3702|       |		 * zero out the port to find the address! yuck! can't do
 3703|       |		 * this earlier since need port for sctp_pcb_findep()
 3704|       |		 */
 3705|  11.5k|		if (sctp_ifap != NULL) {
  ------------------
  |  Branch (3705:7): [True: 0, False: 11.5k]
  ------------------
 3706|      0|			ifa = sctp_ifap;
 3707|  11.5k|		} else {
 3708|       |			/* Note for BSD we hit here always other
 3709|       |			 * O/S's will pass things in via the
 3710|       |			 * sctp_ifap argument.
 3711|       |			 */
 3712|  11.5k|			ifa = sctp_find_ifa_by_addr(&store.sa,
 3713|  11.5k|						    vrf_id, SCTP_ADDR_NOT_LOCKED);
  ------------------
  |  |  966|  11.5k|#define SCTP_ADDR_NOT_LOCKED 0
  ------------------
 3714|  11.5k|		}
 3715|  11.5k|		if (ifa == NULL) {
  ------------------
  |  Branch (3715:7): [True: 0, False: 11.5k]
  ------------------
 3716|      0|			error = EADDRNOTAVAIL;
 3717|       |			/* Can't find an interface with that address */
 3718|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3719|      0|			goto out;
 3720|      0|		}
 3721|  11.5k|#ifdef INET6
 3722|  11.5k|		if (addr->sa_family == AF_INET6) {
  ------------------
  |  Branch (3722:7): [True: 0, False: 11.5k]
  ------------------
 3723|       |			/* GAK, more FIXME IFA lock? */
 3724|      0|			if (ifa->localifa_flags & SCTP_ADDR_IFA_UNUSEABLE) {
  ------------------
  |  |   98|      0|#define SCTP_ADDR_IFA_UNUSEABLE 0x00000008
  ------------------
  |  Branch (3724:8): [True: 0, False: 0]
  ------------------
 3725|       |				/* Can't bind a non-existent addr. */
 3726|      0|				error = EINVAL;
 3727|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, error);
 3728|      0|				goto out;
 3729|      0|			}
 3730|      0|		}
 3731|  11.5k|#endif
 3732|       |		/* we're not bound all */
 3733|  11.5k|		inp->sctp_flags &= ~SCTP_PCB_FLAGS_BOUNDALL;
  ------------------
  |  |  533|  11.5k|#define SCTP_PCB_FLAGS_BOUNDALL		0x00000004
  ------------------
 3734|       |		/* allow bindx() to send ASCONF's for binding changes */
 3735|  11.5k|		sctp_feature_on(inp, SCTP_PCB_FLAGS_DO_ASCONF);
  ------------------
  |  |   50|  11.5k|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 3736|       |		/* clear automatic addr changes from kernel flag */
 3737|  11.5k|		sctp_feature_off(inp, SCTP_PCB_FLAGS_AUTO_ASCONF);
  ------------------
  |  |   51|  11.5k|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 3738|       |
 3739|       |		/* add this address to the endpoint list */
 3740|  11.5k|		error = sctp_insert_laddr(&inp->sctp_addr_list, ifa, 0);
 3741|  11.5k|		if (error != 0)
  ------------------
  |  Branch (3741:7): [True: 0, False: 11.5k]
  ------------------
 3742|      0|			goto out;
 3743|  11.5k|		inp->laddr_count++;
 3744|  11.5k|	}
 3745|       |	/* find the bucket */
 3746|  11.5k|	if (port_reuse_active) {
  ------------------
  |  Branch (3746:6): [True: 0, False: 11.5k]
  ------------------
 3747|       |		/* Put it into tcp 1-2-1 hash */
 3748|      0|		head = &SCTP_BASE_INFO(sctp_tcpephash)[SCTP_PCBHASH_ALLADDR(lport, SCTP_BASE_INFO(hashtcpmark))];
  ------------------
  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              		head = &SCTP_BASE_INFO(sctp_tcpephash)[SCTP_PCBHASH_ALLADDR(lport, SCTP_BASE_INFO(hashtcpmark))];
  ------------------
  |  |   56|      0|#define SCTP_PCBHASH_ALLADDR(port, mask) (port & mask)
  ------------------
 3749|      0|		inp->sctp_flags |= SCTP_PCB_FLAGS_IN_TCPPOOL;
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
 3750|  11.5k|	} else {
 3751|  11.5k|		head = &SCTP_BASE_INFO(sctp_ephash)[SCTP_PCBHASH_ALLADDR(lport, SCTP_BASE_INFO(hashmark))];
  ------------------
  |  |  581|  11.5k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              		head = &SCTP_BASE_INFO(sctp_ephash)[SCTP_PCBHASH_ALLADDR(lport, SCTP_BASE_INFO(hashmark))];
  ------------------
  |  |   56|  11.5k|#define SCTP_PCBHASH_ALLADDR(port, mask) (port & mask)
  ------------------
 3752|  11.5k|	}
 3753|       |	/* put it in the bucket */
 3754|  11.5k|	LIST_INSERT_HEAD(head, inp, sctp_hash);
 3755|  11.5k|	SCTPDBG(SCTP_DEBUG_PCB1, "Main hash to bind at head:%p, bound port:%d - in tcp_pool=%d\n",
 3756|  11.5k|		(void *)head, ntohs(lport), port_reuse_active);
 3757|       |	/* set in the port */
 3758|  11.5k|	inp->sctp_lport = lport;
  ------------------
  |  |  426|  11.5k|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|  11.5k|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|  11.5k|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3759|       |
 3760|       |	/* turn off just the unbound flag */
 3761|  11.5k|	KASSERT((inp->sctp_flags & SCTP_PCB_FLAGS_UNBOUND) != 0,
  ------------------
  |  |  112|  11.5k|	do {                         \
  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  11.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3762|  11.5k|	    ("%s: inp %p is already bound", __func__, inp));
 3763|  11.5k|	inp->sctp_flags &= ~SCTP_PCB_FLAGS_UNBOUND;
  ------------------
  |  |  535|  11.5k|#define SCTP_PCB_FLAGS_UNBOUND		0x00000010
  ------------------
 3764|  11.5k|out:
 3765|  11.5k|	return (error);
 3766|  11.5k|}
sctp_inpcb_bind:
 3779|  11.5k|{
 3780|  11.5k|	struct sctp_inpcb *inp;
 3781|  11.5k|	int error;
 3782|       |
 3783|  11.5k|	inp = so->so_pcb;
 3784|  11.5k|	SCTP_INP_INFO_WLOCK();
  ------------------
  |  |  297|  11.5k|	KASSERT(pthread_rwlock_wrlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3785|  11.5k|	SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3786|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3787|       |	error = sctp_inpcb_bind_locked(inp, addr, sctp_ifap, td);
 3788|       |#else
 3789|  11.5k|	error = sctp_inpcb_bind_locked(inp, addr, sctp_ifap, p);
 3790|  11.5k|#endif
 3791|  11.5k|	SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3792|  11.5k|	SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|  11.5k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3793|  11.5k|	return (error);
 3794|  11.5k|}
sctp_inpcb_free:
 3868|  11.5k|{
 3869|       |	/*
 3870|       |	 * Here we free a endpoint. We must find it (if it is in the Hash
 3871|       |	 * table) and remove it from there. Then we must also find it in the
 3872|       |	 * overall list and remove it from there. After all removals are
 3873|       |	 * complete then any timer has to be stopped. Then start the actual
 3874|       |	 * freeing. a) Any local lists. b) Any associations. c) The hash of
 3875|       |	 * all associations. d) finally the ep itself.
 3876|       |	 */
 3877|  11.5k|	struct sctp_tcb *stcb, *nstcb;
 3878|  11.5k|	struct sctp_laddr *laddr, *nladdr;
 3879|  11.5k|	struct inpcb *ip_pcb;
 3880|  11.5k|	struct socket *so;
 3881|  11.5k|	int being_refed = 0;
 3882|  11.5k|	struct sctp_queued_to_read *sq, *nsq;
 3883|       |#if !defined(__Userspace__)
 3884|       |#if !defined(__FreeBSD__)
 3885|       |	sctp_rtentry_t *rt;
 3886|       |#endif
 3887|       |#endif
 3888|  11.5k|	int cnt;
 3889|  11.5k|	sctp_sharedkey_t *shared_key, *nshared_key;
 3890|       |
 3891|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3892|       |	sctp_lock_assert(SCTP_INP_SO(inp));
 3893|       |#endif
 3894|       |#ifdef SCTP_LOG_CLOSING
 3895|       |	sctp_log_closing(inp, NULL, 0);
 3896|       |#endif
 3897|  11.5k|	SCTP_ITERATOR_LOCK();
  ------------------
  |  |  624|  11.5k|	KASSERT(pthread_mutex_lock(&sctp_it_ctl.it_mtx) == 0, ("%s:%d: it_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3898|       |	/* mark any iterators on the list or being processed */
 3899|  11.5k|	sctp_iterator_inp_being_freed(inp);
 3900|  11.5k|	SCTP_ITERATOR_UNLOCK();
  ------------------
  |  |  626|  11.5k|	KASSERT(pthread_mutex_unlock(&sctp_it_ctl.it_mtx) == 0, ("%s:%d: it_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3901|       |
 3902|  11.5k|	SCTP_ASOC_CREATE_LOCK(inp);
  ------------------
  |  |  427|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3903|  11.5k|	SCTP_INP_INFO_WLOCK();
  ------------------
  |  |  297|  11.5k|	KASSERT(pthread_rwlock_wrlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3904|  11.5k|	SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3905|  11.5k|	so = inp->sctp_socket;
 3906|  11.5k|	KASSERT((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) != 0,
  ------------------
  |  |  112|  11.5k|	do {                         \
  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  11.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3907|  11.5k|	    ("%s: inp %p still has socket", __func__, inp));
 3908|  11.5k|	KASSERT((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) == 0,
  ------------------
  |  |  112|  11.5k|	do {                         \
  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  11.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3909|  11.5k|	    ("%s: double free of inp %p", __func__, inp));
 3910|  11.5k|	if (from == SCTP_CALLED_AFTER_CMPSET_OFCLOSE) {
  ------------------
  |  |  866|  11.5k|#define SCTP_CALLED_AFTER_CMPSET_OFCLOSE  1
  ------------------
  |  Branch (3910:6): [True: 11.5k, False: 42]
  ------------------
 3911|  11.5k|		inp->sctp_flags &= ~SCTP_PCB_FLAGS_CLOSE_IP;
  ------------------
  |  |  537|  11.5k|#define SCTP_PCB_FLAGS_CLOSE_IP         0x00040000
  ------------------
 3912|       |		/* socket is gone, so no more wakeups allowed */
 3913|  11.5k|		inp->sctp_flags |= SCTP_PCB_FLAGS_DONT_WAKE;
  ------------------
  |  |  544|  11.5k|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  ------------------
 3914|  11.5k|		inp->sctp_flags &= ~SCTP_PCB_FLAGS_WAKEINPUT;
  ------------------
  |  |  546|  11.5k|#define SCTP_PCB_FLAGS_WAKEINPUT	0x02000000
  ------------------
 3915|  11.5k|		inp->sctp_flags &= ~SCTP_PCB_FLAGS_WAKEOUTPUT;
  ------------------
  |  |  545|  11.5k|#define SCTP_PCB_FLAGS_WAKEOUTPUT	0x01000000
  ------------------
 3916|  11.5k|	}
 3917|       |	/* First time through we have the socket lock, after that no more. */
 3918|  11.5k|	sctp_timer_stop(SCTP_TIMER_TYPE_NEWCOOKIE, inp, NULL, NULL,
  ------------------
  |  |  538|  11.5k|#define SCTP_TIMER_TYPE_NEWCOOKIE	7
  ------------------
 3919|  11.5k|	                SCTP_FROM_SCTP_PCB + SCTP_LOC_1);
  ------------------
  |  |  756|  11.5k|#define SCTP_FROM_SCTP_PCB          0x20000000
  ------------------
              	                SCTP_FROM_SCTP_PCB + SCTP_LOC_1);
  ------------------
  |  |  769|  11.5k|#define SCTP_LOC_1  0x00000001
  ------------------
 3920|       |
 3921|  11.5k|	if (inp->control) {
  ------------------
  |  Branch (3921:6): [True: 0, False: 11.5k]
  ------------------
 3922|      0|		sctp_m_freem(inp->control);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 3923|      0|		inp->control = NULL;
 3924|      0|	}
 3925|  11.5k|	if (inp->pkt) {
  ------------------
  |  Branch (3925:6): [True: 0, False: 11.5k]
  ------------------
 3926|      0|		sctp_m_freem(inp->pkt);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 3927|      0|		inp->pkt = NULL;
 3928|      0|	}
 3929|  11.5k|	ip_pcb = &inp->ip_inp.inp;	/* we could just cast the main pointer
 3930|       |					 * here but I will be nice :> (i.e.
 3931|       |					 * ip_pcb = ep;) */
 3932|  11.5k|	if (immediate == SCTP_FREE_SHOULD_USE_GRACEFUL_CLOSE) {
  ------------------
  |  |  870|  11.5k|#define SCTP_FREE_SHOULD_USE_GRACEFUL_CLOSE 0
  ------------------
  |  Branch (3932:6): [True: 21, False: 11.5k]
  ------------------
 3933|     21|		int cnt_in_sd;
 3934|       |
 3935|     21|		cnt_in_sd = 0;
 3936|     21|		LIST_FOREACH_SAFE(stcb, &inp->sctp_asoc_list, sctp_tcblist, nstcb) {
  ------------------
  |  | 1129|     21|         for ((var) = ((head)->lh_first);                      \
  |  | 1130|     21|              (var) && ((tvar) = LIST_NEXT((var), field), 1);  \
  |  |  ------------------
  |  |  |  Branch (1130:15): [True: 0, False: 21]
  |  |  |  Branch (1130:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1131|     21|              (var) = (tvar))
  ------------------
 3937|      0|			SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3938|       |			/* Disconnect the socket please. */
 3939|      0|			stcb->sctp_socket = NULL;
 3940|      0|			SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_CLOSED_SOCKET);
  ------------------
  |  |  478|      0|	sctp_add_substate(_stcb, _substate)
  ------------------
 3941|      0|			if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|      0|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (3941:8): [True: 0, False: 0]
  ------------------
 3942|       |				/* Skip guys being freed */
 3943|      0|				cnt_in_sd++;
 3944|      0|				if (stcb->asoc.state & SCTP_STATE_IN_ACCEPT_QUEUE) {
  ------------------
  |  |  468|      0|#define SCTP_STATE_IN_ACCEPT_QUEUE      0x1000
  ------------------
  |  Branch (3944:9): [True: 0, False: 0]
  ------------------
 3945|       |					/*
 3946|       |					 * Special case - we did not start a kill
 3947|       |					 * timer on the asoc due to it was not
 3948|       |					 * closed. So go ahead and start it now.
 3949|       |					 */
 3950|      0|					SCTP_CLEAR_SUBSTATE(stcb, SCTP_STATE_IN_ACCEPT_QUEUE);
  ------------------
  |  |  476|      0|	(_stcb)->asoc.state &= ~(_substate)
  ------------------
 3951|      0|					sctp_timer_start(SCTP_TIMER_TYPE_ASOCKILL, inp, stcb, NULL);
  ------------------
  |  |  546|      0|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
 3952|      0|				}
 3953|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3954|      0|				continue;
 3955|      0|			}
 3956|      0|			if (((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			if (((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  457|      0|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (3956:9): [True: 0, False: 0]
  ------------------
 3957|      0|			     (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			     (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) &&
  ------------------
  |  |  458|      0|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (3957:9): [True: 0, False: 0]
  ------------------
 3958|      0|			    (stcb->asoc.total_output_queue_size == 0)) {
  ------------------
  |  Branch (3958:8): [True: 0, False: 0]
  ------------------
 3959|       |				/* If we have data in queue, we don't want to just
 3960|       |				 * free since the app may have done, send()/close
 3961|       |				 * or connect/send/close. And it wants the data
 3962|       |				 * to get across first.
 3963|       |				 */
 3964|       |				/* Just abandon things in the front states */
 3965|      0|				if (sctp_free_assoc(inp, stcb, SCTP_PCBFREE_NOFORCE,
  ------------------
  |  |  809|      0|#define SCTP_PCBFREE_NOFORCE  1
  ------------------
  |  Branch (3965:9): [True: 0, False: 0]
  ------------------
 3966|      0|						   SCTP_FROM_SCTP_PCB + SCTP_LOC_2) == 0) {
  ------------------
  |  |  756|      0|#define SCTP_FROM_SCTP_PCB          0x20000000
  ------------------
              						   SCTP_FROM_SCTP_PCB + SCTP_LOC_2) == 0) {
  ------------------
  |  |  770|      0|#define SCTP_LOC_2  0x00000002
  ------------------
 3967|      0|					cnt_in_sd++;
 3968|      0|				}
 3969|      0|				continue;
 3970|      0|			}
 3971|      0|			if ((stcb->asoc.size_on_reasm_queue > 0) ||
  ------------------
  |  Branch (3971:8): [True: 0, False: 0]
  ------------------
 3972|      0|			    (stcb->asoc.size_on_all_streams > 0) ||
  ------------------
  |  Branch (3972:8): [True: 0, False: 0]
  ------------------
 3973|      0|			    ((so != NULL) && (SCTP_SBAVAIL(&so->so_rcv) > 0))) {
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
  |  Branch (3973:9): [True: 0, False: 0]
  |  Branch (3973:25): [True: 0, False: 0]
  ------------------
 3974|       |				/* Left with Data unread */
 3975|      0|				struct mbuf *op_err;
 3976|       |
 3977|      0|				op_err = sctp_generate_cause(SCTP_CAUSE_USER_INITIATED_ABT, "");
  ------------------
  |  |  380|      0|#define SCTP_CAUSE_USER_INITIATED_ABT	0x000c
  ------------------
 3978|      0|				stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_PCB + SCTP_LOC_3;
  ------------------
  |  |  756|      0|#define SCTP_FROM_SCTP_PCB          0x20000000
  ------------------
              				stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_PCB + SCTP_LOC_3;
  ------------------
  |  |  771|      0|#define SCTP_LOC_3  0x00000003
  ------------------
 3979|      0|				sctp_send_abort_tcb(stcb, op_err, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 3980|      0|				SCTP_STAT_INCR_COUNTER32(sctps_aborted);
  ------------------
  |  | 1127|      0|#define SCTP_STAT_INCR_COUNTER32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3981|      0|				if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              				if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  459|      0|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (3981:9): [True: 0, False: 0]
  ------------------
 3982|      0|				    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              				    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (3982:9): [True: 0, False: 0]
  ------------------
 3983|      0|					SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|      0|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|      0|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|      0|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3984|      0|				}
 3985|      0|				if (sctp_free_assoc(inp, stcb,
  ------------------
  |  Branch (3985:9): [True: 0, False: 0]
  ------------------
 3986|      0|						    SCTP_PCBFREE_NOFORCE, SCTP_FROM_SCTP_PCB + SCTP_LOC_4) == 0) {
  ------------------
  |  |  809|      0|#define SCTP_PCBFREE_NOFORCE  1
  ------------------
              						    SCTP_PCBFREE_NOFORCE, SCTP_FROM_SCTP_PCB + SCTP_LOC_4) == 0) {
  ------------------
  |  |  756|      0|#define SCTP_FROM_SCTP_PCB          0x20000000
  ------------------
              						    SCTP_PCBFREE_NOFORCE, SCTP_FROM_SCTP_PCB + SCTP_LOC_4) == 0) {
  ------------------
  |  |  772|      0|#define SCTP_LOC_4  0x00000004
  ------------------
 3987|      0|					cnt_in_sd++;
 3988|      0|				}
 3989|      0|				continue;
 3990|      0|			} else if (TAILQ_EMPTY(&stcb->asoc.send_queue) &&
 3991|      0|			           TAILQ_EMPTY(&stcb->asoc.sent_queue) &&
 3992|      0|			           (stcb->asoc.stream_queue_cnt == 0)) {
  ------------------
  |  Branch (3992:15): [True: 0, False: 0]
  ------------------
 3993|      0|				if ((*stcb->asoc.ss_functions.sctp_ss_is_user_msgs_incomplete)(stcb, &stcb->asoc)) {
  ------------------
  |  Branch (3993:9): [True: 0, False: 0]
  ------------------
 3994|      0|					goto abort_anyway;
 3995|      0|				}
 3996|      0|				if ((SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT) &&
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              				if ((SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_SENT) &&
  ------------------
  |  |  460|      0|#define SCTP_STATE_SHUTDOWN_SENT	0x0010
  ------------------
  |  Branch (3996:9): [True: 0, False: 0]
  ------------------
 3997|      0|				    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT)) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              				    (SCTP_GET_STATE(stcb) != SCTP_STATE_SHUTDOWN_ACK_SENT)) {
  ------------------
  |  |  462|      0|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (3997:9): [True: 0, False: 0]
  ------------------
 3998|      0|					struct sctp_nets *netp;
 3999|       |
 4000|       |					/*
 4001|       |					 * there is nothing queued to send,
 4002|       |					 * so I send shutdown
 4003|       |					 */
 4004|      0|					if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              					if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  459|      0|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (4004:10): [True: 0, False: 0]
  ------------------
 4005|      0|					    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              					    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (4005:10): [True: 0, False: 0]
  ------------------
 4006|      0|						SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|      0|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|      0|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|      0|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4007|      0|					}
 4008|      0|					SCTP_SET_STATE(stcb, SCTP_STATE_SHUTDOWN_SENT);
  ------------------
  |  |  474|      0|	sctp_set_state(_stcb, _state)
  ------------------
 4009|      0|					sctp_stop_timers_for_shutdown(stcb);
 4010|      0|					if (stcb->asoc.alternate) {
  ------------------
  |  Branch (4010:10): [True: 0, False: 0]
  ------------------
 4011|      0|						netp = stcb->asoc.alternate;
 4012|      0|					} else {
 4013|      0|						netp = stcb->asoc.primary_destination;
 4014|      0|					}
 4015|      0|					sctp_send_shutdown(stcb, netp);
 4016|      0|					sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, stcb->sctp_ep, stcb,
  ------------------
  |  |  535|      0|#define SCTP_TIMER_TYPE_SHUTDOWN	4
  ------------------
 4017|      0|					    netp);
 4018|      0|					sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, NULL);
  ------------------
  |  |  542|      0|#define SCTP_TIMER_TYPE_SHUTDOWNGUARD	11
  ------------------
 4019|      0|					sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SHUT_TMR, SCTP_SO_LOCKED);
  ------------------
  |  |  366|      0|#define SCTP_OUTPUT_FROM_SHUT_TMR       5
  ------------------
              					sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SHUT_TMR, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 4020|      0|				}
 4021|      0|			} else {
 4022|       |				/* mark into shutdown pending */
 4023|      0|				SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_SHUTDOWN_PENDING);
  ------------------
  |  |  478|      0|	sctp_add_substate(_stcb, _substate)
  ------------------
 4024|      0|				if ((*stcb->asoc.ss_functions.sctp_ss_is_user_msgs_incomplete)(stcb, &stcb->asoc)) {
  ------------------
  |  Branch (4024:9): [True: 0, False: 0]
  ------------------
 4025|      0|					SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_PARTIAL_MSG_LEFT);
  ------------------
  |  |  478|      0|	sctp_add_substate(_stcb, _substate)
  ------------------
 4026|      0|				}
 4027|      0|				if (TAILQ_EMPTY(&stcb->asoc.send_queue) &&
 4028|      0|				    TAILQ_EMPTY(&stcb->asoc.sent_queue) &&
 4029|      0|				    (stcb->asoc.state & SCTP_STATE_PARTIAL_MSG_LEFT)) {
  ------------------
  |  |  466|      0|#define SCTP_STATE_PARTIAL_MSG_LEFT     0x0400
  ------------------
  |  Branch (4029:9): [True: 0, False: 0]
  ------------------
 4030|      0|					struct mbuf *op_err;
 4031|      0|				abort_anyway:
 4032|      0|					op_err = sctp_generate_cause(SCTP_CAUSE_USER_INITIATED_ABT, "");
  ------------------
  |  |  380|      0|#define SCTP_CAUSE_USER_INITIATED_ABT	0x000c
  ------------------
 4033|      0|					stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_PCB + SCTP_LOC_5;
  ------------------
  |  |  756|      0|#define SCTP_FROM_SCTP_PCB          0x20000000
  ------------------
              					stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_PCB + SCTP_LOC_5;
  ------------------
  |  |  773|      0|#define SCTP_LOC_5  0x00000005
  ------------------
 4034|      0|					sctp_send_abort_tcb(stcb, op_err, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 4035|      0|					SCTP_STAT_INCR_COUNTER32(sctps_aborted);
  ------------------
  |  | 1127|      0|#define SCTP_STAT_INCR_COUNTER32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4036|      0|					if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              					if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  459|      0|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (4036:10): [True: 0, False: 0]
  ------------------
 4037|      0|					    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              					    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  461|      0|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (4037:10): [True: 0, False: 0]
  ------------------
 4038|      0|						SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|      0|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|      0|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|      0|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4039|      0|					}
 4040|      0|					if (sctp_free_assoc(inp, stcb,
  ------------------
  |  Branch (4040:10): [True: 0, False: 0]
  ------------------
 4041|      0|							    SCTP_PCBFREE_NOFORCE,
  ------------------
  |  |  809|      0|#define SCTP_PCBFREE_NOFORCE  1
  ------------------
 4042|      0|							    SCTP_FROM_SCTP_PCB + SCTP_LOC_6) == 0) {
  ------------------
  |  |  756|      0|#define SCTP_FROM_SCTP_PCB          0x20000000
  ------------------
              							    SCTP_FROM_SCTP_PCB + SCTP_LOC_6) == 0) {
  ------------------
  |  |  774|      0|#define SCTP_LOC_6  0x00000006
  ------------------
 4043|      0|						cnt_in_sd++;
 4044|      0|					}
 4045|      0|					continue;
 4046|      0|				} else {
 4047|      0|					sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_CLOSING, SCTP_SO_LOCKED);
  ------------------
  |  |  377|      0|#define SCTP_OUTPUT_FROM_CLOSING        16
  ------------------
              					sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_CLOSING, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 4048|      0|				}
 4049|      0|			}
 4050|      0|			cnt_in_sd++;
 4051|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4052|      0|		}
 4053|       |		/* now is there some left in our SHUTDOWN state? */
 4054|     21|		if (cnt_in_sd) {
  ------------------
  |  Branch (4054:7): [True: 0, False: 21]
  ------------------
 4055|       |#ifdef SCTP_LOG_CLOSING
 4056|       |			sctp_log_closing(inp, NULL, 2);
 4057|       |#endif
 4058|      0|			inp->sctp_socket = NULL;
 4059|      0|			SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4060|      0|			SCTP_ASOC_CREATE_UNLOCK(inp);
  ------------------
  |  |  430|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4061|      0|			SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4062|      0|			return;
 4063|      0|		}
 4064|     21|	}
 4065|  11.5k|	inp->sctp_socket = NULL;
 4066|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_UNBOUND) == 0) {
  ------------------
  |  |  535|  11.5k|#define SCTP_PCB_FLAGS_UNBOUND		0x00000010
  ------------------
  |  Branch (4066:6): [True: 11.5k, False: 42]
  ------------------
 4067|       |		/*
 4068|       |		 * ok, this guy has been bound. It's port is
 4069|       |		 * somewhere in the SCTP_BASE_INFO(hash table). Remove
 4070|       |		 * it!
 4071|       |		 */
 4072|  11.5k|		LIST_REMOVE(inp, sctp_hash);
 4073|  11.5k|		inp->sctp_flags |= SCTP_PCB_FLAGS_UNBOUND;
  ------------------
  |  |  535|  11.5k|#define SCTP_PCB_FLAGS_UNBOUND		0x00000010
  ------------------
 4074|  11.5k|	}
 4075|       |
 4076|       |	/* If there is a timer running to kill us,
 4077|       |	 * forget it, since it may have a contest
 4078|       |	 * on the INP lock.. which would cause us
 4079|       |	 * to die ...
 4080|       |	 */
 4081|  11.5k|	cnt = 0;
 4082|  11.5k|	LIST_FOREACH_SAFE(stcb, &inp->sctp_asoc_list, sctp_tcblist, nstcb) {
  ------------------
  |  | 1129|  11.5k|         for ((var) = ((head)->lh_first);                      \
  |  | 1130|  21.4k|              (var) && ((tvar) = LIST_NEXT((var), field), 1);  \
  |  |  ------------------
  |  |  |  Branch (1130:15): [True: 9.86k, False: 11.5k]
  |  |  |  Branch (1130:24): [True: 9.86k, False: 0]
  |  |  ------------------
  |  | 1131|  11.5k|              (var) = (tvar))
  ------------------
 4083|  9.86k|		SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|  9.86k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  9.86k|	do {                         \
  |  |  |  |  113|  9.86k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 9.86k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  9.86k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4084|  9.86k|		if (immediate != SCTP_FREE_SHOULD_USE_GRACEFUL_CLOSE) {
  ------------------
  |  |  870|  9.86k|#define SCTP_FREE_SHOULD_USE_GRACEFUL_CLOSE 0
  ------------------
  |  Branch (4084:7): [True: 9.86k, False: 0]
  ------------------
 4085|       |			/* Disconnect the socket please */
 4086|  9.86k|			stcb->sctp_socket = NULL;
 4087|  9.86k|			SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_CLOSED_SOCKET);
  ------------------
  |  |  478|  9.86k|	sctp_add_substate(_stcb, _substate)
  ------------------
 4088|  9.86k|		}
 4089|  9.86k|		if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|  9.86k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (4089:7): [True: 15, False: 9.85k]
  ------------------
 4090|     15|			if (stcb->asoc.state & SCTP_STATE_IN_ACCEPT_QUEUE) {
  ------------------
  |  |  468|     15|#define SCTP_STATE_IN_ACCEPT_QUEUE      0x1000
  ------------------
  |  Branch (4090:8): [True: 0, False: 15]
  ------------------
 4091|      0|				SCTP_CLEAR_SUBSTATE(stcb, SCTP_STATE_IN_ACCEPT_QUEUE);
  ------------------
  |  |  476|      0|	(_stcb)->asoc.state &= ~(_substate)
  ------------------
 4092|      0|				sctp_timer_start(SCTP_TIMER_TYPE_ASOCKILL, inp, stcb, NULL);
  ------------------
  |  |  546|      0|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
 4093|      0|			}
 4094|     15|			cnt++;
 4095|     15|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|     15|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     15|	do {                         \
  |  |  |  |  113|     15|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 15]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     15|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4096|     15|			continue;
 4097|     15|		}
 4098|       |		/* Free associations that are NOT killing us */
 4099|  9.85k|		if ((SCTP_GET_STATE(stcb) != SCTP_STATE_COOKIE_WAIT) &&
  ------------------
  |  |  472|  9.85k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  9.85k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if ((SCTP_GET_STATE(stcb) != SCTP_STATE_COOKIE_WAIT) &&
  ------------------
  |  |  457|  9.85k|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (4099:7): [True: 7.79k, False: 2.05k]
  ------------------
 4100|  9.85k|		    ((stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0)) {
  ------------------
  |  |  465|  7.79k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (4100:7): [True: 7.79k, False: 0]
  ------------------
 4101|  7.79k|			struct mbuf *op_err;
 4102|       |
 4103|  7.79k|			op_err = sctp_generate_cause(SCTP_CAUSE_USER_INITIATED_ABT, "");
  ------------------
  |  |  380|  7.79k|#define SCTP_CAUSE_USER_INITIATED_ABT	0x000c
  ------------------
 4104|  7.79k|			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_PCB + SCTP_LOC_7;
  ------------------
  |  |  756|  7.79k|#define SCTP_FROM_SCTP_PCB          0x20000000
  ------------------
              			stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_PCB + SCTP_LOC_7;
  ------------------
  |  |  775|  7.79k|#define SCTP_LOC_7  0x00000007
  ------------------
 4105|  7.79k|			sctp_send_abort_tcb(stcb, op_err, SCTP_SO_LOCKED);
  ------------------
  |  |  959|  7.79k|#define SCTP_SO_LOCKED		1
  ------------------
 4106|  7.79k|			SCTP_STAT_INCR_COUNTER32(sctps_aborted);
  ------------------
  |  | 1127|  7.79k|#define SCTP_STAT_INCR_COUNTER32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  7.79k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  7.79k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  7.79k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4107|  7.79k|		} else if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|  2.05k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (4107:14): [True: 0, False: 2.05k]
  ------------------
 4108|      0|			cnt++;
 4109|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4110|      0|			continue;
 4111|      0|		}
 4112|  9.85k|		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  472|  9.85k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  9.85k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  459|  9.85k|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (4112:7): [True: 4.99k, False: 4.85k]
  ------------------
 4113|  9.85k|		    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  472|  4.85k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  4.85k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  461|  4.85k|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (4113:7): [True: 48, False: 4.80k]
  ------------------
 4114|  5.04k|			SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|  5.04k|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|  5.04k|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|  5.04k|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|  5.04k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4115|  5.04k|		}
 4116|  9.85k|		if (sctp_free_assoc(inp, stcb, SCTP_PCBFREE_FORCE,
  ------------------
  |  |  810|  9.85k|#define SCTP_PCBFREE_FORCE    2
  ------------------
  |  Branch (4116:7): [True: 6, False: 9.84k]
  ------------------
 4117|  9.85k|		                    SCTP_FROM_SCTP_PCB + SCTP_LOC_8) == 0) {
  ------------------
  |  |  756|  9.85k|#define SCTP_FROM_SCTP_PCB          0x20000000
  ------------------
              		                    SCTP_FROM_SCTP_PCB + SCTP_LOC_8) == 0) {
  ------------------
  |  |  776|  9.85k|#define SCTP_LOC_8  0x00000008
  ------------------
 4118|      6|			cnt++;
 4119|      6|		}
 4120|  9.85k|	}
 4121|  11.5k|	if (cnt) {
  ------------------
  |  Branch (4121:6): [True: 21, False: 11.5k]
  ------------------
 4122|       |		/* Ok we have someone out there that will kill us */
 4123|       |#ifdef SCTP_LOG_CLOSING
 4124|       |		sctp_log_closing(inp, NULL, 3);
 4125|       |#endif
 4126|     21|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|     21|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     21|	do {                         \
  |  |  |  |  113|     21|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 21]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     21|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4127|     21|		SCTP_ASOC_CREATE_UNLOCK(inp);
  ------------------
  |  |  430|     21|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     21|	do {                         \
  |  |  |  |  113|     21|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 21]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     21|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4128|     21|		SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|     21|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     21|	do {                         \
  |  |  |  |  113|     21|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 21]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     21|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4129|     21|		return;
 4130|     21|	}
 4131|  11.5k|	if (SCTP_INP_LOCK_CONTENDED(inp))
  ------------------
  |  |  496|  11.5k|#define SCTP_INP_LOCK_CONTENDED(_inp) (0) /* Don't know if this is possible */
  |  |  ------------------
  |  |  |  Branch (496:39): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4132|      0|		being_refed++;
 4133|  11.5k|	if (SCTP_INP_READ_CONTENDED(inp))
  ------------------
  |  |  497|  11.5k|#define SCTP_INP_READ_CONTENDED(_inp) (0) /* Don't know if this is possible */
  |  |  ------------------
  |  |  |  Branch (497:39): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4134|      0|		being_refed++;
 4135|  11.5k|	if (SCTP_ASOC_CREATE_LOCK_CONTENDED(inp))
  ------------------
  |  |  498|  11.5k|#define SCTP_ASOC_CREATE_LOCK_CONTENDED(_inp) (0) /* Don't know if this is possible */
  |  |  ------------------
  |  |  |  Branch (498:47): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4136|      0|		being_refed++;
 4137|       |	/* NOTE: 0 refcount also means no timers are referencing us. */
 4138|  11.5k|	if ((inp->refcount) ||
  ------------------
  |  Branch (4138:6): [True: 21, False: 11.5k]
  ------------------
 4139|  11.5k|	    (being_refed) ||
  ------------------
  |  Branch (4139:6): [True: 0, False: 11.5k]
  ------------------
 4140|  11.5k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_CLOSE_IP)) {
  ------------------
  |  |  537|  11.5k|#define SCTP_PCB_FLAGS_CLOSE_IP         0x00040000
  ------------------
  |  Branch (4140:6): [True: 0, False: 11.5k]
  ------------------
 4141|       |#ifdef SCTP_LOG_CLOSING
 4142|       |		sctp_log_closing(inp, NULL, 4);
 4143|       |#endif
 4144|     21|		sctp_timer_start(SCTP_TIMER_TYPE_INPKILL, inp, NULL, NULL);
  ------------------
  |  |  545|     21|#define SCTP_TIMER_TYPE_INPKILL		14
  ------------------
 4145|     21|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|     21|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     21|	do {                         \
  |  |  |  |  113|     21|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 21]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     21|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4146|     21|		SCTP_ASOC_CREATE_UNLOCK(inp);
  ------------------
  |  |  430|     21|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     21|	do {                         \
  |  |  |  |  113|     21|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 21]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     21|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4147|     21|		SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|     21|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     21|	do {                         \
  |  |  |  |  113|     21|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 21]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     21|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4148|     21|		return;
 4149|     21|	}
 4150|  11.5k|	inp->sctp_ep.signature_change.type = 0;
 4151|  11.5k|	inp->sctp_flags |= SCTP_PCB_FLAGS_SOCKET_ALLGONE;
  ------------------
  |  |  550|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
 4152|       |	/* Remove it from the list .. last thing we need a
 4153|       |	 * lock for.
 4154|       |	 */
 4155|  11.5k|	LIST_REMOVE(inp, sctp_list);
 4156|  11.5k|	SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4157|  11.5k|	SCTP_ASOC_CREATE_UNLOCK(inp);
  ------------------
  |  |  430|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4158|  11.5k|	SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|  11.5k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4159|       |
 4160|       |#ifdef SCTP_LOG_CLOSING
 4161|       |	sctp_log_closing(inp, NULL, 5);
 4162|       |#endif
 4163|       |#if !(defined(_WIN32) || defined(__Userspace__))
 4164|       |#if !(defined(__FreeBSD__) && !defined(__Userspace__))
 4165|       |	rt = ip_pcb->inp_route.ro_rt;
 4166|       |#endif
 4167|       |#endif
 4168|  11.5k|	if ((inp->sctp_asocidhash) != NULL) {
  ------------------
  |  Branch (4168:6): [True: 11.5k, False: 0]
  ------------------
 4169|  11.5k|		SCTP_HASH_FREE(inp->sctp_asocidhash, inp->hashasocidmark);
  ------------------
  |  |  761|  11.5k|#define SCTP_HASH_FREE(table, hashmark) sctp_hashdestroy(table, M_PCB, hashmark)
  ------------------
 4170|  11.5k|		inp->sctp_asocidhash = NULL;
 4171|  11.5k|	}
 4172|       |	/*sa_ignore FREED_MEMORY*/
 4173|  11.5k|	TAILQ_FOREACH_SAFE(sq, &inp->read_queue, next, nsq) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  11.5k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  11.5k|              (var) = (tvar))
  ------------------
 4174|       |		/* Its only abandoned if it had data left */
 4175|      0|		if (sq->length)
  ------------------
  |  Branch (4175:7): [True: 0, False: 0]
  ------------------
 4176|      0|			SCTP_STAT_INCR(sctps_left_abandon);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4177|       |
 4178|      0|		TAILQ_REMOVE(&inp->read_queue, sq, next);
 4179|      0|		sctp_free_remote_addr(sq->whoFrom);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 4180|      0|		if (so)
  ------------------
  |  Branch (4180:7): [True: 0, False: 0]
  ------------------
 4181|      0|			SCTP_SB_DECR(&so->so_rcv, sq->length);
  ------------------
  |  |  967|      0|#define SCTP_SB_DECR(sb, decr)					\
  |  |  968|      0|{								\
  |  |  969|      0|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_cc, (int)(decr));	\
  |  |  ------------------
  |  |  |  |  117|      0|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|      0|{ \
  |  |  |  |  119|      0|	int32_t oldval; \
  |  |  |  |  120|      0|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|      0|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|      0|}
  |  |  ------------------
  |  |  970|      0|}
  ------------------
 4182|      0|		if (sq->data) {
  ------------------
  |  Branch (4182:7): [True: 0, False: 0]
  ------------------
 4183|      0|			sctp_m_freem(sq->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4184|      0|			sq->data = NULL;
 4185|      0|		}
 4186|       |		/*
 4187|       |		 * no need to free the net count, since at this point all
 4188|       |		 * assoc's are gone.
 4189|       |		 */
 4190|      0|		sctp_free_a_readq(NULL, sq);
  ------------------
  |  |  105|      0|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|      0|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  107|      0|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|      0|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  109|      0|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|      0|}
  ------------------
 4191|      0|	}
 4192|       |	/* Now the sctp_pcb things */
 4193|       |	/*
 4194|       |	 * free each asoc if it is not already closed/free. we can't use the
 4195|       |	 * macro here since le_next will get freed as part of the
 4196|       |	 * sctp_free_assoc() call.
 4197|       |	 */
 4198|  11.5k|	if (ip_pcb->inp_options) {
  ------------------
  |  |  149|  11.5k|#define	inp_options	inp_depend4.inp4_options
  ------------------
  |  Branch (4198:6): [True: 0, False: 11.5k]
  ------------------
 4199|      0|		(void)sctp_m_free(ip_pcb->inp_options);
  ------------------
  |  |   51|      0|#define sctp_m_free m_free
  ------------------
              		(void)sctp_m_free(ip_pcb->inp_options);
  ------------------
  |  |  149|      0|#define	inp_options	inp_depend4.inp4_options
  ------------------
 4200|      0|		ip_pcb->inp_options = 0;
  ------------------
  |  |  149|      0|#define	inp_options	inp_depend4.inp4_options
  ------------------
 4201|      0|	}
 4202|       |#if !(defined(_WIN32) || defined(__Userspace__))
 4203|       |#if !defined(__FreeBSD__)
 4204|       |	if (rt) {
 4205|       |		RTFREE(rt);
 4206|       |		ip_pcb->inp_route.ro_rt = 0;
 4207|       |	}
 4208|       |#endif
 4209|       |#endif
 4210|  11.5k|#ifdef INET6
 4211|       |#if !(defined(_WIN32) || defined(__Userspace__))
 4212|       |#if (defined(__FreeBSD__) || defined(__APPLE__) && !defined(__Userspace__))
 4213|       |	if (ip_pcb->inp_vflag & INP_IPV6) {
 4214|       |#else
 4215|       |	if (inp->inp_vflag & INP_IPV6) {
 4216|       |#endif
 4217|       |		ip6_freepcbopts(ip_pcb->in6p_outputopts);
 4218|       |	}
 4219|       |#endif
 4220|  11.5k|#endif				/* INET6 */
 4221|  11.5k|	ip_pcb->inp_vflag = 0;
 4222|       |	/* free up authentication fields */
 4223|  11.5k|	if (inp->sctp_ep.local_auth_chunks != NULL)
  ------------------
  |  Branch (4223:6): [True: 11.5k, False: 0]
  ------------------
 4224|  11.5k|		sctp_free_chunklist(inp->sctp_ep.local_auth_chunks);
 4225|  11.5k|	if (inp->sctp_ep.local_hmacs != NULL)
  ------------------
  |  Branch (4225:6): [True: 11.5k, False: 0]
  ------------------
 4226|  11.5k|		sctp_free_hmaclist(inp->sctp_ep.local_hmacs);
 4227|       |
 4228|  11.5k|	LIST_FOREACH_SAFE(shared_key, &inp->sctp_ep.shared_keys, next, nshared_key) {
  ------------------
  |  | 1129|  11.5k|         for ((var) = ((head)->lh_first);                      \
  |  | 1130|  23.1k|              (var) && ((tvar) = LIST_NEXT((var), field), 1);  \
  |  |  ------------------
  |  |  |  Branch (1130:15): [True: 11.5k, False: 11.5k]
  |  |  |  Branch (1130:24): [True: 11.5k, False: 0]
  |  |  ------------------
  |  | 1131|  11.5k|              (var) = (tvar))
  ------------------
 4229|  11.5k|		LIST_REMOVE(shared_key, next);
 4230|  11.5k|		sctp_free_sharedkey(shared_key);
 4231|       |		/*sa_ignore FREED_MEMORY*/
 4232|  11.5k|	}
 4233|       |
 4234|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4235|       |	inp->ip_inp.inp.inp_state = INPCB_STATE_DEAD;
 4236|       |	if (in_pcb_checkstate(&inp->ip_inp.inp, WNT_STOPUSING, 1) != WNT_STOPUSING) {
 4237|       |#ifdef INVARIANTS
 4238|       |		panic("sctp_inpcb_free inp = %p couldn't set to STOPUSING", (void *)inp);
 4239|       |#else
 4240|       |		SCTP_PRINTF("sctp_inpcb_free inp = %p couldn't set to STOPUSING\n", (void *)inp);
 4241|       |#endif
 4242|       |	}
 4243|       |	inp->ip_inp.inp.inp_socket->so_flags |= SOF_PCBCLEARING;
 4244|       |#endif
 4245|       |	/*
 4246|       |	 * if we have an address list the following will free the list of
 4247|       |	 * ifaddr's that are set into this ep. Again macro limitations here,
 4248|       |	 * since the LIST_FOREACH could be a bad idea.
 4249|       |	 */
 4250|  11.5k|	LIST_FOREACH_SAFE(laddr, &inp->sctp_addr_list, sctp_nxt_addr, nladdr) {
  ------------------
  |  | 1129|  11.5k|         for ((var) = ((head)->lh_first);                      \
  |  | 1130|  23.1k|              (var) && ((tvar) = LIST_NEXT((var), field), 1);  \
  |  |  ------------------
  |  |  |  Branch (1130:15): [True: 11.5k, False: 11.5k]
  |  |  |  Branch (1130:24): [True: 11.5k, False: 0]
  |  |  ------------------
  |  | 1131|  11.5k|              (var) = (tvar))
  ------------------
 4251|  11.5k|		sctp_remove_laddr(laddr);
 4252|  11.5k|	}
 4253|       |
 4254|       |#ifdef SCTP_TRACK_FREED_ASOCS
 4255|       |	/* TEMP CODE */
 4256|       |	LIST_FOREACH_SAFE(stcb, &inp->sctp_asoc_free_list, sctp_tcblist, nstcb) {
 4257|       |		LIST_REMOVE(stcb, sctp_tcblist);
 4258|       |		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_asoc), stcb);
 4259|       |		SCTP_DECR_ASOC_COUNT();
 4260|       |	}
 4261|       |	/* *** END TEMP CODE ****/
 4262|       |#endif
 4263|       |#ifdef SCTP_MVRF
 4264|       |	SCTP_FREE(inp->m_vrf_ids, SCTP_M_MVRF);
 4265|       |#endif
 4266|       |	/* Now lets see about freeing the EP hash table. */
 4267|  11.5k|	if (inp->sctp_tcbhash != NULL) {
  ------------------
  |  Branch (4267:6): [True: 11.5k, False: 0]
  ------------------
 4268|  11.5k|		SCTP_HASH_FREE(inp->sctp_tcbhash, inp->sctp_hashmark);
  ------------------
  |  |  761|  11.5k|#define SCTP_HASH_FREE(table, hashmark) sctp_hashdestroy(table, M_PCB, hashmark)
  ------------------
 4269|  11.5k|		inp->sctp_tcbhash = NULL;
 4270|  11.5k|	}
 4271|       |	/* Now we must put the ep memory back into the zone pool */
 4272|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4273|       |	crfree(inp->ip_inp.inp.inp_cred);
 4274|       |	INP_LOCK_DESTROY(&inp->ip_inp.inp);
 4275|       |#endif
 4276|  11.5k|	SCTP_INP_LOCK_DESTROY(inp);
  ------------------
  |  |  361|  11.5k|	(void)pthread_mutex_destroy(&(_inp)->inp_mtx)
  ------------------
 4277|  11.5k|	SCTP_INP_READ_LOCK_DESTROY(inp);
  ------------------
  |  |  343|  11.5k|	(void)pthread_mutex_destroy(&(_inp)->inp_rdata_mtx)
  ------------------
 4278|  11.5k|	SCTP_ASOC_CREATE_LOCK_DESTROY(inp);
  ------------------
  |  |  417|  11.5k|	(void)pthread_mutex_destroy(&(_inp)->inp_create_mtx)
  ------------------
 4279|  11.5k|#if !(defined(__APPLE__) && !defined(__Userspace__))
 4280|  11.5k|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_ep), inp);
  ------------------
  |  |  701|  11.5k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  11.5k|	free(element);  \
  |  |  703|  11.5k|}
  ------------------
 4281|  11.5k|	SCTP_DECR_EP_COUNT();
  ------------------
  |  |  655|  11.5k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_ep), 1)
  |  |  ------------------
  |  |  |  |   97|  11.5k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 4282|       |#else
 4283|       |	/* For Tiger, we will do this later... */
 4284|       |#endif
 4285|  11.5k|}
sctp_findnet:
 4289|   125k|{
 4290|   125k|	struct sctp_nets *net;
 4291|       |	/* locate the address */
 4292|   373k|	TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 4293|   373k|		if (sctp_cmpaddr(addr, (struct sockaddr *)&net->ro._l_addr))
  ------------------
  |  Branch (4293:7): [True: 48.8k, False: 324k]
  ------------------
 4294|  48.8k|			return (net);
 4295|   373k|	}
 4296|  76.3k|	return (NULL);
 4297|   125k|}
sctp_is_address_on_local_host:
 4301|  71.7k|{
 4302|  71.7k|	struct sctp_ifa *sctp_ifa;
 4303|  71.7k|	sctp_ifa = sctp_find_ifa_by_addr(addr, vrf_id, SCTP_ADDR_NOT_LOCKED);
  ------------------
  |  |  966|  71.7k|#define SCTP_ADDR_NOT_LOCKED 0
  ------------------
 4304|  71.7k|	if (sctp_ifa) {
  ------------------
  |  Branch (4304:6): [True: 11.5k, False: 60.2k]
  ------------------
 4305|  11.5k|		return (1);
 4306|  60.2k|	} else {
 4307|  60.2k|		return (0);
 4308|  60.2k|	}
 4309|  71.7k|}
sctp_add_remote_addr:
 4319|  77.9k|{
 4320|       |	/*
 4321|       |	 * The following is redundant to the same lines in the
 4322|       |	 * sctp_aloc_assoc() but is needed since others call the add
 4323|       |	 * address function
 4324|       |	 */
 4325|  77.9k|	struct sctp_nets *net, *netfirst;
 4326|  77.9k|	int addr_inscope;
 4327|       |
 4328|  77.9k|	SCTPDBG(SCTP_DEBUG_PCB1, "Adding an address (from:%d) to the peer: ",
 4329|  77.9k|		from);
 4330|  77.9k|	SCTPDBG_ADDR(SCTP_DEBUG_PCB1, newaddr);
 4331|       |
 4332|  77.9k|	netfirst = sctp_findnet(stcb, newaddr);
 4333|  77.9k|	if (netfirst) {
  ------------------
  |  Branch (4333:6): [True: 6.19k, False: 71.7k]
  ------------------
 4334|       |		/*
 4335|       |		 * Lie and return ok, we don't want to make the association
 4336|       |		 * go away for this behavior. It will happen in the TCP
 4337|       |		 * model in a connected socket. It does not reach the hash
 4338|       |		 * table until after the association is built so it can't be
 4339|       |		 * found. Mark as reachable, since the initial creation will
 4340|       |		 * have been cleared and the NOT_IN_ASSOC flag will have
 4341|       |		 * been added... and we don't want to end up removing it
 4342|       |		 * back out.
 4343|       |		 */
 4344|  6.19k|		if (netfirst->dest_state & SCTP_ADDR_UNCONFIRMED) {
  ------------------
  |  |  487|  6.19k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (4344:7): [True: 4.59k, False: 1.59k]
  ------------------
 4345|  4.59k|			netfirst->dest_state = (SCTP_ADDR_REACHABLE |
  ------------------
  |  |  481|  4.59k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 4346|  4.59k|			    SCTP_ADDR_UNCONFIRMED);
  ------------------
  |  |  487|  4.59k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
 4347|  4.59k|		} else {
 4348|  1.59k|			netfirst->dest_state = SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|  1.59k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 4349|  1.59k|		}
 4350|       |
 4351|  6.19k|		return (0);
 4352|  6.19k|	}
 4353|  71.7k|	addr_inscope = 1;
 4354|  71.7k|	switch (newaddr->sa_family) {
 4355|      0|#ifdef INET
 4356|  56.2k|	case AF_INET:
  ------------------
  |  Branch (4356:2): [True: 56.2k, False: 15.4k]
  ------------------
 4357|  56.2k|	{
 4358|  56.2k|		struct sockaddr_in *sin;
 4359|       |
 4360|  56.2k|		sin = (struct sockaddr_in *)newaddr;
 4361|  56.2k|		if (sin->sin_addr.s_addr == 0) {
  ------------------
  |  Branch (4361:7): [True: 0, False: 56.2k]
  ------------------
 4362|       |			/* Invalid address */
 4363|      0|			return (-1);
 4364|      0|		}
 4365|       |		/* zero out the zero area */
 4366|  56.2k|		memset(&sin->sin_zero, 0, sizeof(sin->sin_zero));
 4367|       |
 4368|       |		/* assure len is set */
 4369|       |#ifdef HAVE_SIN_LEN
 4370|       |		sin->sin_len = sizeof(struct sockaddr_in);
 4371|       |#endif
 4372|  56.2k|		if (set_scope) {
  ------------------
  |  Branch (4372:7): [True: 0, False: 56.2k]
  ------------------
 4373|      0|			if (IN4_ISPRIVATE_ADDRESS(&sin->sin_addr)) {
  ------------------
  |  |  969|      0|   ((((uint8_t *)&(a)->s_addr)[0] == 10) || \
  |  |  ------------------
  |  |  |  Branch (969:5): [True: 0, False: 0]
  |  |  ------------------
  |  |  970|      0|    ((((uint8_t *)&(a)->s_addr)[0] == 172) && \
  |  |  ------------------
  |  |  |  Branch (970:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  971|      0|     (((uint8_t *)&(a)->s_addr)[1] >= 16) && \
  |  |  ------------------
  |  |  |  Branch (971:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  972|      0|     (((uint8_t *)&(a)->s_addr)[1] <= 32)) || \
  |  |  ------------------
  |  |  |  Branch (972:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  973|      0|    ((((uint8_t *)&(a)->s_addr)[0] == 192) && \
  |  |  ------------------
  |  |  |  Branch (973:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  974|      0|     (((uint8_t *)&(a)->s_addr)[1] == 168)))
  |  |  ------------------
  |  |  |  Branch (974:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4374|      0|				stcb->asoc.scope.ipv4_local_scope = 1;
 4375|      0|			}
 4376|  56.2k|		} else {
 4377|       |			/* Validate the address is in scope */
 4378|  56.2k|			if ((IN4_ISPRIVATE_ADDRESS(&sin->sin_addr)) &&
  ------------------
  |  |  969|  56.2k|   ((((uint8_t *)&(a)->s_addr)[0] == 10) || \
  |  |  ------------------
  |  |  |  Branch (969:5): [True: 4.57k, False: 51.7k]
  |  |  ------------------
  |  |  970|  56.2k|    ((((uint8_t *)&(a)->s_addr)[0] == 172) && \
  |  |  ------------------
  |  |  |  Branch (970:6): [True: 1.15k, False: 50.5k]
  |  |  ------------------
  |  |  971|  51.7k|     (((uint8_t *)&(a)->s_addr)[1] >= 16) && \
  |  |  ------------------
  |  |  |  Branch (971:6): [True: 1.12k, False: 25]
  |  |  ------------------
  |  |  972|  51.7k|     (((uint8_t *)&(a)->s_addr)[1] <= 32)) || \
  |  |  ------------------
  |  |  |  Branch (972:6): [True: 52, False: 1.07k]
  |  |  ------------------
  |  |  973|  56.2k|    ((((uint8_t *)&(a)->s_addr)[0] == 192) && \
  |  |  ------------------
  |  |  |  Branch (973:6): [True: 32, False: 51.6k]
  |  |  ------------------
  |  |  974|  51.6k|     (((uint8_t *)&(a)->s_addr)[1] == 168)))
  |  |  ------------------
  |  |  |  Branch (974:6): [True: 1, False: 31]
  |  |  ------------------
  ------------------
 4379|  56.2k|			    (stcb->asoc.scope.ipv4_local_scope == 0)) {
  ------------------
  |  Branch (4379:8): [True: 0, False: 4.62k]
  ------------------
 4380|      0|				addr_inscope = 0;
 4381|      0|			}
 4382|  56.2k|		}
 4383|  56.2k|		break;
 4384|  56.2k|	}
 4385|      0|#endif
 4386|      0|#ifdef INET6
 4387|  3.92k|	case AF_INET6:
  ------------------
  |  Branch (4387:2): [True: 3.92k, False: 67.8k]
  ------------------
 4388|  3.92k|	{
 4389|  3.92k|		struct sockaddr_in6 *sin6;
 4390|       |
 4391|  3.92k|		sin6 = (struct sockaddr_in6 *)newaddr;
 4392|  3.92k|		if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
 4393|       |			/* Invalid address */
 4394|      0|			return (-1);
 4395|      0|		}
 4396|       |		/* assure len is set */
 4397|       |#ifdef HAVE_SIN6_LEN
 4398|       |		sin6->sin6_len = sizeof(struct sockaddr_in6);
 4399|       |#endif
 4400|  3.92k|		if (set_scope) {
  ------------------
  |  Branch (4400:7): [True: 0, False: 3.92k]
  ------------------
 4401|      0|			if (sctp_is_address_on_local_host(newaddr, stcb->asoc.vrf_id)) {
  ------------------
  |  Branch (4401:8): [True: 0, False: 0]
  ------------------
 4402|      0|				stcb->asoc.scope.loopback_scope = 1;
 4403|      0|				stcb->asoc.scope.local_scope = 0;
 4404|      0|				stcb->asoc.scope.ipv4_local_scope = 1;
 4405|      0|				stcb->asoc.scope.site_scope = 1;
 4406|      0|			} else if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
 4407|       |				/*
 4408|       |				 * If the new destination is a LINK_LOCAL we
 4409|       |				 * must have common site scope. Don't set
 4410|       |				 * the local scope since we may not share
 4411|       |				 * all links, only loopback can do this.
 4412|       |				 * Links on the local network would also be
 4413|       |				 * on our private network for v4 too.
 4414|       |				 */
 4415|      0|				stcb->asoc.scope.ipv4_local_scope = 1;
 4416|      0|				stcb->asoc.scope.site_scope = 1;
 4417|      0|			} else if (IN6_IS_ADDR_SITELOCAL(&sin6->sin6_addr)) {
 4418|       |				/*
 4419|       |				 * If the new destination is SITE_LOCAL then
 4420|       |				 * we must have site scope in common.
 4421|       |				 */
 4422|      0|				stcb->asoc.scope.site_scope = 1;
 4423|      0|			}
 4424|  3.92k|		} else {
 4425|       |			/* Validate the address is in scope */
 4426|  3.92k|			if (IN6_IS_ADDR_LOOPBACK(&sin6->sin6_addr) &&
 4427|  3.92k|			    (stcb->asoc.scope.loopback_scope == 0)) {
  ------------------
  |  Branch (4427:8): [True: 0, False: 11]
  ------------------
 4428|      0|				addr_inscope = 0;
 4429|  3.92k|			} else if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr) &&
 4430|  3.92k|			    (stcb->asoc.scope.local_scope == 0)) {
  ------------------
  |  Branch (4430:8): [True: 1.30k, False: 0]
  ------------------
 4431|  1.30k|				addr_inscope = 0;
 4432|  2.62k|			} else if (IN6_IS_ADDR_SITELOCAL(&sin6->sin6_addr) &&
 4433|  2.62k|			    (stcb->asoc.scope.site_scope == 0)) {
  ------------------
  |  Branch (4433:8): [True: 0, False: 123]
  ------------------
 4434|      0|				addr_inscope = 0;
 4435|      0|			}
 4436|  3.92k|		}
 4437|  3.92k|		break;
 4438|  3.92k|	}
 4439|      0|#endif
 4440|      0|#if defined(__Userspace__)
 4441|  11.5k|	case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (4441:2): [True: 11.5k, False: 60.2k]
  ------------------
 4442|  11.5k|	{
 4443|  11.5k|		struct sockaddr_conn *sconn;
 4444|       |
 4445|  11.5k|		sconn = (struct sockaddr_conn *)newaddr;
 4446|  11.5k|		if (sconn->sconn_addr == NULL) {
  ------------------
  |  Branch (4446:7): [True: 0, False: 11.5k]
  ------------------
 4447|       |			/* Invalid address */
 4448|      0|			return (-1);
 4449|      0|		}
 4450|       |#ifdef HAVE_SCONN_LEN
 4451|       |		sconn->sconn_len = sizeof(struct sockaddr_conn);
 4452|       |#endif
 4453|  11.5k|		break;
 4454|  11.5k|	}
 4455|  11.5k|#endif
 4456|  11.5k|	default:
  ------------------
  |  Branch (4456:2): [True: 0, False: 71.7k]
  ------------------
 4457|       |		/* not supported family type */
 4458|      0|		return (-1);
 4459|  71.7k|	}
 4460|  71.7k|	net = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_net), struct sctp_nets);
  ------------------
  |  |  697|  71.7k|        (type *)malloc(zone);
  ------------------
 4461|  71.7k|	if (net == NULL) {
  ------------------
  |  Branch (4461:6): [True: 0, False: 71.7k]
  ------------------
 4462|      0|		return (-1);
 4463|      0|	}
 4464|  71.7k|	SCTP_INCR_RADDR_COUNT();
  ------------------
  |  |  670|  71.7k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  ------------------
  |  |  |  |   94|  71.7k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 4465|  71.7k|	memset(net, 0, sizeof(struct sctp_nets));
 4466|  71.7k|	(void)SCTP_GETTIME_TIMEVAL(&net->start_time);
  ------------------
  |  |  991|  71.7k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 4467|       |#ifdef HAVE_SA_LEN
 4468|       |	memcpy(&net->ro._l_addr, newaddr, newaddr->sa_len);
 4469|       |#endif
 4470|  71.7k|	switch (newaddr->sa_family) {
 4471|      0|#ifdef INET
 4472|  56.2k|	case AF_INET:
  ------------------
  |  Branch (4472:2): [True: 56.2k, False: 15.4k]
  ------------------
 4473|  56.2k|#ifndef HAVE_SA_LEN
 4474|  56.2k|		memcpy(&net->ro._l_addr, newaddr, sizeof(struct sockaddr_in));
 4475|  56.2k|#endif
 4476|  56.2k|		((struct sockaddr_in *)&net->ro._l_addr)->sin_port = stcb->rport;
 4477|  56.2k|		break;
 4478|      0|#endif
 4479|      0|#ifdef INET6
 4480|  3.92k|	case AF_INET6:
  ------------------
  |  Branch (4480:2): [True: 3.92k, False: 67.8k]
  ------------------
 4481|  3.92k|#ifndef HAVE_SA_LEN
 4482|  3.92k|		memcpy(&net->ro._l_addr, newaddr, sizeof(struct sockaddr_in6));
 4483|  3.92k|#endif
 4484|  3.92k|		((struct sockaddr_in6 *)&net->ro._l_addr)->sin6_port = stcb->rport;
 4485|  3.92k|		break;
 4486|      0|#endif
 4487|      0|#if defined(__Userspace__)
 4488|  11.5k|	case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (4488:2): [True: 11.5k, False: 60.2k]
  ------------------
 4489|  11.5k|#ifndef HAVE_SA_LEN
 4490|  11.5k|		memcpy(&net->ro._l_addr, newaddr, sizeof(struct sockaddr_conn));
 4491|  11.5k|#endif
 4492|  11.5k|		((struct sockaddr_conn *)&net->ro._l_addr)->sconn_port = stcb->rport;
 4493|  11.5k|		break;
 4494|      0|#endif
 4495|      0|	default:
  ------------------
  |  Branch (4495:2): [True: 0, False: 71.7k]
  ------------------
 4496|      0|		break;
 4497|  71.7k|	}
 4498|  71.7k|	net->addr_is_local = sctp_is_address_on_local_host(newaddr, stcb->asoc.vrf_id);
 4499|  71.7k|	if (net->addr_is_local && ((set_scope || (from == SCTP_ADDR_IS_CONFIRMED)))) {
  ------------------
  |  |  813|      0|#define SCTP_ADDR_IS_CONFIRMED 8
  ------------------
  |  Branch (4499:6): [True: 11.5k, False: 60.2k]
  |  Branch (4499:30): [True: 11.5k, False: 0]
  |  Branch (4499:43): [True: 0, False: 0]
  ------------------
 4500|  11.5k|		stcb->asoc.scope.loopback_scope = 1;
 4501|  11.5k|		stcb->asoc.scope.ipv4_local_scope = 1;
 4502|  11.5k|		stcb->asoc.scope.local_scope = 0;
 4503|  11.5k|		stcb->asoc.scope.site_scope = 1;
 4504|  11.5k|		addr_inscope = 1;
 4505|  11.5k|	}
 4506|  71.7k|	net->failure_threshold = stcb->asoc.def_net_failure;
 4507|  71.7k|	net->pf_threshold = stcb->asoc.def_net_pf_threshold;
 4508|  71.7k|	if (addr_inscope == 0) {
  ------------------
  |  Branch (4508:6): [True: 1.30k, False: 70.4k]
  ------------------
 4509|  1.30k|		net->dest_state = (SCTP_ADDR_REACHABLE |
  ------------------
  |  |  481|  1.30k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 4510|  1.30k|		    SCTP_ADDR_OUT_OF_SCOPE);
  ------------------
  |  |  486|  1.30k|#define SCTP_ADDR_OUT_OF_SCOPE		0x080
  ------------------
 4511|  70.4k|	} else {
 4512|  70.4k|		if (from == SCTP_ADDR_IS_CONFIRMED)
  ------------------
  |  |  813|  70.4k|#define SCTP_ADDR_IS_CONFIRMED 8
  ------------------
  |  Branch (4512:7): [True: 0, False: 70.4k]
  ------------------
 4513|       |			/* SCTP_ADDR_IS_CONFIRMED is passed by connect_x */
 4514|      0|			net->dest_state = SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 4515|  70.4k|		else
 4516|  70.4k|			net->dest_state = SCTP_ADDR_REACHABLE |
  ------------------
  |  |  481|  70.4k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 4517|  70.4k|			    SCTP_ADDR_UNCONFIRMED;
  ------------------
  |  |  487|  70.4k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
 4518|  70.4k|	}
 4519|       |	/* We set this to 0, the timer code knows that
 4520|       |	 * this means its an initial value
 4521|       |	 */
 4522|  71.7k|	net->rto_needed = 1;
 4523|  71.7k|	net->RTO = 0;
 4524|  71.7k|	net->RTO_measured = 0;
 4525|  71.7k|	stcb->asoc.numnets++;
 4526|  71.7k|	net->ref_count = 1;
 4527|  71.7k|	net->cwr_window_tsn = net->last_cwr_tsn = stcb->asoc.sending_seq - 1;
 4528|  71.7k|	net->port = port;
 4529|  71.7k|	net->dscp = stcb->asoc.default_dscp;
 4530|  71.7k|#ifdef INET6
 4531|  71.7k|	net->flowlabel = stcb->asoc.default_flowlabel;
 4532|  71.7k|#endif
 4533|  71.7k|	if (sctp_stcb_is_feature_on(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_DONOT_HEARTBEAT)) {
  ------------------
  |  |   70|  71.7k|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (70:4): [True: 71.7k, False: 0]
  |  |  ------------------
  |  |   71|  71.7k|	  ((stcb->asoc.sctp_features & feature) == feature)) || \
  |  |  ------------------
  |  |  |  Branch (71:4): [True: 0, False: 71.7k]
  |  |  ------------------
  |  |   72|  71.7k|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (72:4): [True: 0, False: 71.7k]
  |  |  |  Branch (72:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   73|  71.7k|	  ((inp->sctp_features & feature) == feature)))
  |  |  ------------------
  |  |  |  Branch (73:4): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4534|      0|		net->dest_state |= SCTP_ADDR_NOHB;
  ------------------
  |  |  483|      0|#define SCTP_ADDR_NOHB			0x004
  ------------------
 4535|  71.7k|	} else {
 4536|  71.7k|		net->dest_state &= ~SCTP_ADDR_NOHB;
  ------------------
  |  |  483|  71.7k|#define SCTP_ADDR_NOHB			0x004
  ------------------
 4537|  71.7k|	}
 4538|  71.7k|	if (sctp_stcb_is_feature_on(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_DO_NOT_PMTUD)) {
  ------------------
  |  |   70|  71.7k|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (70:4): [True: 71.7k, False: 0]
  |  |  ------------------
  |  |   71|  71.7k|	  ((stcb->asoc.sctp_features & feature) == feature)) || \
  |  |  ------------------
  |  |  |  Branch (71:4): [True: 0, False: 71.7k]
  |  |  ------------------
  |  |   72|  71.7k|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (72:4): [True: 0, False: 71.7k]
  |  |  |  Branch (72:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   73|  71.7k|	  ((inp->sctp_features & feature) == feature)))
  |  |  ------------------
  |  |  |  Branch (73:4): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4539|      0|		net->dest_state |= SCTP_ADDR_NO_PMTUD;
  ------------------
  |  |  482|      0|#define SCTP_ADDR_NO_PMTUD              0x002
  ------------------
 4540|  71.7k|	} else {
 4541|  71.7k|		net->dest_state &= ~SCTP_ADDR_NO_PMTUD;
  ------------------
  |  |  482|  71.7k|#define SCTP_ADDR_NO_PMTUD              0x002
  ------------------
 4542|  71.7k|	}
 4543|  71.7k|	net->heart_beat_delay = stcb->asoc.heart_beat_delay;
 4544|       |	/* Init the timer structure */
 4545|  71.7k|	SCTP_OS_TIMER_INIT(&net->rxt_timer.timer);
  ------------------
  |  |   92|  71.7k|#define SCTP_OS_TIMER_INIT	sctp_os_timer_init
  ------------------
 4546|  71.7k|	SCTP_OS_TIMER_INIT(&net->pmtu_timer.timer);
  ------------------
  |  |   92|  71.7k|#define SCTP_OS_TIMER_INIT	sctp_os_timer_init
  ------------------
 4547|  71.7k|	SCTP_OS_TIMER_INIT(&net->hb_timer.timer);
  ------------------
  |  |   92|  71.7k|#define SCTP_OS_TIMER_INIT	sctp_os_timer_init
  ------------------
 4548|       |
 4549|       |	/* Now generate a route for this guy */
 4550|  71.7k|#ifdef INET6
 4551|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 4552|       |	/* KAME hack: embed scopeid */
 4553|       |	if (newaddr->sa_family == AF_INET6) {
 4554|       |		struct sockaddr_in6 *sin6;
 4555|       |
 4556|       |		sin6 = (struct sockaddr_in6 *)&net->ro._l_addr;
 4557|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4558|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD)
 4559|       |		(void)in6_embedscope(&sin6->sin6_addr, sin6, &stcb->sctp_ep->ip_inp.inp, NULL);
 4560|       |#else
 4561|       |		(void)in6_embedscope(&sin6->sin6_addr, sin6, &stcb->sctp_ep->ip_inp.inp, NULL, NULL);
 4562|       |#endif
 4563|       |#elif defined(SCTP_KAME)
 4564|       |		(void)sa6_embedscope(sin6, MODULE_GLOBAL(ip6_use_defzone));
 4565|       |#else
 4566|       |		(void)in6_embedscope(&sin6->sin6_addr, sin6);
 4567|       |#endif
 4568|       |#ifndef SCOPEDROUTING
 4569|       |		sin6->sin6_scope_id = 0;
 4570|       |#endif
 4571|       |	}
 4572|       |#endif /* SCTP_EMBEDDED_V6_SCOPE */
 4573|  71.7k|#endif
 4574|  71.7k|	SCTP_RTALLOC((sctp_route_t *)&net->ro,
  ------------------
  |  |  865|  71.7k|#define SCTP_RTALLOC(ro, vrf_id, fibnum) sctp_userspace_rtalloc((sctp_route_t *)ro)
  ------------------
 4575|  71.7k|	             stcb->asoc.vrf_id,
 4576|  71.7k|	             stcb->sctp_ep->fibnum);
 4577|       |
 4578|  71.7k|	net->src_addr_selected = 0;
 4579|       |#if !defined(__Userspace__)
 4580|       |	if (SCTP_ROUTE_HAS_VALID_IFN(&net->ro)) {
 4581|       |		/* Get source address */
 4582|       |		net->ro._s_addr = sctp_source_address_selection(stcb->sctp_ep,
 4583|       |		                                                stcb,
 4584|       |		                                                (sctp_route_t *)&net->ro,
 4585|       |		                                                net,
 4586|       |		                                                0,
 4587|       |		                                                stcb->asoc.vrf_id);
 4588|       |		if (stcb->asoc.default_mtu > 0) {
 4589|       |			net->mtu = stcb->asoc.default_mtu;
 4590|       |			switch (net->ro._l_addr.sa.sa_family) {
 4591|       |#ifdef INET
 4592|       |			case AF_INET:
 4593|       |				net->mtu += SCTP_MIN_V4_OVERHEAD;
 4594|       |				break;
 4595|       |#endif
 4596|       |#ifdef INET6
 4597|       |			case AF_INET6:
 4598|       |				net->mtu += SCTP_MIN_OVERHEAD;
 4599|       |				break;
 4600|       |#endif
 4601|       |#if defined(__Userspace__)
 4602|       |			case AF_CONN:
 4603|       |				net->mtu += sizeof(struct sctphdr);
 4604|       |				break;
 4605|       |#endif
 4606|       |			default:
 4607|       |				break;
 4608|       |			}
 4609|       |#if defined(INET) || defined(INET6)
 4610|       |			if (net->port) {
 4611|       |				net->mtu += (uint32_t)sizeof(struct udphdr);
 4612|       |			}
 4613|       |#endif
 4614|       |		} else if (net->ro._s_addr != NULL) {
 4615|       |			uint32_t imtu, rmtu, hcmtu;
 4616|       |
 4617|       |			net->src_addr_selected = 1;
 4618|       |			/* Now get the interface MTU */
 4619|       |			if (net->ro._s_addr->ifn_p != NULL) {
 4620|       |				/*
 4621|       |				 * XXX: Should we here just use
 4622|       |				 * net->ro._s_addr->ifn_p->ifn_mtu
 4623|       |				 */
 4624|       |				imtu = SCTP_GATHER_MTU_FROM_IFN_INFO(net->ro._s_addr->ifn_p->ifn_p,
 4625|       |				                                     net->ro._s_addr->ifn_p->ifn_index);
 4626|       |			} else {
 4627|       |				imtu = 0;
 4628|       |			}
 4629|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4630|       |			rmtu = SCTP_GATHER_MTU_FROM_ROUTE(net->ro._s_addr, &net->ro._l_addr.sa, net->ro.ro_nh);
 4631|       |			hcmtu = sctp_hc_get_mtu(&net->ro._l_addr, stcb->sctp_ep->fibnum);
 4632|       |#else
 4633|       |			rmtu = SCTP_GATHER_MTU_FROM_ROUTE(net->ro._s_addr, &net->ro._l_addr.sa, net->ro.ro_rt);
 4634|       |			hcmtu = 0;
 4635|       |#endif
 4636|       |			net->mtu = sctp_min_mtu(hcmtu, rmtu, imtu);
 4637|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4638|       |#else
 4639|       |			if (rmtu == 0) {
 4640|       |				/* Start things off to match mtu of interface please. */
 4641|       |				SCTP_SET_MTU_OF_ROUTE(&net->ro._l_addr.sa,
 4642|       |				                      net->ro.ro_rt, net->mtu);
 4643|       |			}
 4644|       |#endif
 4645|       |		}
 4646|       |	}
 4647|       |#endif
 4648|  71.7k|	if (net->mtu == 0) {
  ------------------
  |  Branch (4648:6): [True: 71.7k, False: 0]
  ------------------
 4649|  71.7k|		if (stcb->asoc.default_mtu > 0) {
  ------------------
  |  Branch (4649:7): [True: 0, False: 71.7k]
  ------------------
 4650|      0|			net->mtu = stcb->asoc.default_mtu;
 4651|      0|			switch (net->ro._l_addr.sa.sa_family) {
 4652|      0|#ifdef INET
 4653|      0|			case AF_INET:
  ------------------
  |  Branch (4653:4): [True: 0, False: 0]
  ------------------
 4654|      0|				net->mtu += SCTP_MIN_V4_OVERHEAD;
  ------------------
  |  |  588|      0|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|      0|                              sizeof(struct sctphdr))
  ------------------
 4655|      0|				break;
 4656|      0|#endif
 4657|      0|#ifdef INET6
 4658|      0|			case AF_INET6:
  ------------------
  |  Branch (4658:4): [True: 0, False: 0]
  ------------------
 4659|      0|				net->mtu += SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|      0|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|      0|                           sizeof(struct sctphdr))
  ------------------
 4660|      0|				break;
 4661|      0|#endif
 4662|      0|#if defined(__Userspace__)
 4663|      0|			case AF_CONN:
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (4663:4): [True: 0, False: 0]
  ------------------
 4664|      0|				net->mtu += sizeof(struct sctphdr);
 4665|      0|				break;
 4666|      0|#endif
 4667|      0|			default:
  ------------------
  |  Branch (4667:4): [True: 0, False: 0]
  ------------------
 4668|      0|				break;
 4669|      0|			}
 4670|      0|#if defined(INET) || defined(INET6)
 4671|      0|			if (net->port) {
  ------------------
  |  Branch (4671:8): [True: 0, False: 0]
  ------------------
 4672|      0|				net->mtu += (uint32_t)sizeof(struct udphdr);
 4673|      0|			}
 4674|      0|#endif
 4675|  71.7k|		} else {
 4676|  71.7k|			switch (newaddr->sa_family) {
 4677|      0|#ifdef INET
 4678|  56.2k|			case AF_INET:
  ------------------
  |  Branch (4678:4): [True: 56.2k, False: 15.4k]
  ------------------
 4679|  56.2k|				net->mtu = SCTP_DEFAULT_MTU;
  ------------------
  |  |  685|  56.2k|#define SCTP_DEFAULT_MTU 1500 /* emergency default MTU */
  ------------------
 4680|  56.2k|				break;
 4681|      0|#endif
 4682|      0|#ifdef INET6
 4683|  3.92k|			case AF_INET6:
  ------------------
  |  Branch (4683:4): [True: 3.92k, False: 67.8k]
  ------------------
 4684|  3.92k|				net->mtu = 1280;
 4685|  3.92k|				break;
 4686|      0|#endif
 4687|      0|#if defined(__Userspace__)
 4688|  11.5k|			case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (4688:4): [True: 11.5k, False: 60.2k]
  ------------------
 4689|  11.5k|				net->mtu = 1280;
 4690|  11.5k|				break;
 4691|      0|#endif
 4692|      0|			default:
  ------------------
  |  Branch (4692:4): [True: 0, False: 71.7k]
  ------------------
 4693|      0|				break;
 4694|  71.7k|			}
 4695|  71.7k|		}
 4696|  71.7k|	}
 4697|  71.7k|#if defined(INET) || defined(INET6)
 4698|  71.7k|	if (net->port) {
  ------------------
  |  Branch (4698:6): [True: 0, False: 71.7k]
  ------------------
 4699|      0|		net->mtu -= (uint32_t)sizeof(struct udphdr);
 4700|      0|	}
 4701|  71.7k|#endif
 4702|  71.7k|	if (from == SCTP_ALLOC_ASOC) {
  ------------------
  |  |  816|  71.7k|#define SCTP_ALLOC_ASOC  1
  ------------------
  |  Branch (4702:6): [True: 11.5k, False: 60.2k]
  ------------------
 4703|  11.5k|		stcb->asoc.smallest_mtu = net->mtu;
 4704|  11.5k|	}
 4705|  71.7k|	if (stcb->asoc.smallest_mtu > net->mtu) {
  ------------------
  |  Branch (4705:6): [True: 0, False: 71.7k]
  ------------------
 4706|      0|		sctp_pathmtu_adjustment(stcb, net->mtu, true);
 4707|      0|	}
 4708|  71.7k|#ifdef INET6
 4709|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 4710|       |	if (newaddr->sa_family == AF_INET6) {
 4711|       |		struct sockaddr_in6 *sin6;
 4712|       |
 4713|       |		sin6 = (struct sockaddr_in6 *)&net->ro._l_addr;
 4714|       |#ifdef SCTP_KAME
 4715|       |		(void)sa6_recoverscope(sin6);
 4716|       |#else
 4717|       |		(void)in6_recoverscope(sin6, &sin6->sin6_addr, NULL);
 4718|       |#endif /* SCTP_KAME */
 4719|       |	}
 4720|       |#endif /* SCTP_EMBEDDED_V6_SCOPE */
 4721|  71.7k|#endif
 4722|       |
 4723|       |	/* JRS - Use the congestion control given in the CC module */
 4724|  71.7k|	if (stcb->asoc.cc_functions.sctp_set_initial_cc_param != NULL)
  ------------------
  |  Branch (4724:6): [True: 71.7k, False: 0]
  ------------------
 4725|  71.7k|		(*stcb->asoc.cc_functions.sctp_set_initial_cc_param)(stcb, net);
 4726|       |
 4727|       |	/*
 4728|       |	 * CMT: CUC algo - set find_pseudo_cumack to TRUE (1) at beginning
 4729|       |	 * of assoc (2005/06/27, iyengar@cis.udel.edu)
 4730|       |	 */
 4731|  71.7k|	net->find_pseudo_cumack = 1;
 4732|  71.7k|	net->find_rtx_pseudo_cumack = 1;
 4733|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4734|       |	/* Choose an initial flowid. */
 4735|       |	net->flowid = stcb->asoc.my_vtag ^
 4736|       |	              ntohs(stcb->rport) ^
 4737|       |	              ntohs(stcb->sctp_ep->sctp_lport);
 4738|       |	net->flowtype = M_HASHTYPE_OPAQUE_HASH;
 4739|       |#endif
 4740|  71.7k|	if (netp) {
  ------------------
  |  Branch (4740:6): [True: 60.2k, False: 11.5k]
  ------------------
 4741|  60.2k|		*netp = net;
 4742|  60.2k|	}
 4743|  71.7k|	netfirst = TAILQ_FIRST(&stcb->asoc.nets);
 4744|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4745|       |	if (net->ro.ro_nh == NULL) {
 4746|       |#else
 4747|  71.7k|	if (net->ro.ro_rt == NULL) {
  ------------------
  |  Branch (4747:6): [True: 0, False: 71.7k]
  ------------------
 4748|      0|#endif
 4749|       |		/* Since we have no route put it at the back */
 4750|      0|		TAILQ_INSERT_TAIL(&stcb->asoc.nets, net, sctp_next);
 4751|  71.7k|	} else if (netfirst == NULL) {
  ------------------
  |  Branch (4751:13): [True: 11.5k, False: 60.2k]
  ------------------
 4752|       |		/* We are the first one in the pool. */
 4753|  11.5k|		TAILQ_INSERT_HEAD(&stcb->asoc.nets, net, sctp_next);
 4754|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4755|       |	} else if (netfirst->ro.ro_nh == NULL) {
 4756|       |#else
 4757|  60.2k|	} else if (netfirst->ro.ro_rt == NULL) {
  ------------------
  |  Branch (4757:13): [True: 0, False: 60.2k]
  ------------------
 4758|      0|#endif
 4759|       |		/*
 4760|       |		 * First one has NO route. Place this one ahead of the first
 4761|       |		 * one.
 4762|       |		 */
 4763|      0|		TAILQ_INSERT_HEAD(&stcb->asoc.nets, net, sctp_next);
 4764|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4765|       |	} else if (net->ro.ro_nh->nh_ifp != netfirst->ro.ro_nh->nh_ifp) {
 4766|       |#else
 4767|  60.2k|	} else if (net->ro.ro_rt->rt_ifp != netfirst->ro.ro_rt->rt_ifp) {
  ------------------
  |  Branch (4767:13): [True: 0, False: 60.2k]
  ------------------
 4768|      0|#endif
 4769|       |		/*
 4770|       |		 * This one has a different interface than the one at the
 4771|       |		 * top of the list. Place it ahead.
 4772|       |		 */
 4773|      0|		TAILQ_INSERT_HEAD(&stcb->asoc.nets, net, sctp_next);
 4774|  60.2k|	} else {
 4775|       |		/*
 4776|       |		 * Ok we have the same interface as the first one. Move
 4777|       |		 * forward until we find either a) one with a NULL route...
 4778|       |		 * insert ahead of that b) one with a different ifp.. insert
 4779|       |		 * after that. c) end of the list.. insert at the tail.
 4780|       |		 */
 4781|  60.2k|		struct sctp_nets *netlook;
 4782|       |
 4783|   275k|		do {
 4784|   275k|			netlook = TAILQ_NEXT(netfirst, sctp_next);
 4785|   275k|			if (netlook == NULL) {
  ------------------
  |  Branch (4785:8): [True: 60.2k, False: 215k]
  ------------------
 4786|       |				/* End of the list */
 4787|  60.2k|				TAILQ_INSERT_TAIL(&stcb->asoc.nets, net, sctp_next);
 4788|  60.2k|				break;
 4789|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4790|       |			} else if (netlook->ro.ro_nh == NULL) {
 4791|       |#else
 4792|   215k|			} else if (netlook->ro.ro_rt == NULL) {
  ------------------
  |  Branch (4792:15): [True: 0, False: 215k]
  ------------------
 4793|      0|#endif
 4794|       |				/* next one has NO route */
 4795|      0|				TAILQ_INSERT_BEFORE(netfirst, net, sctp_next);
 4796|      0|				break;
 4797|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4798|       |			} else if (netlook->ro.ro_nh->nh_ifp != net->ro.ro_nh->nh_ifp) {
 4799|       |#else
 4800|   215k|			} else if (netlook->ro.ro_rt->rt_ifp != net->ro.ro_rt->rt_ifp) {
  ------------------
  |  Branch (4800:15): [True: 0, False: 215k]
  ------------------
 4801|      0|#endif
 4802|      0|				TAILQ_INSERT_AFTER(&stcb->asoc.nets, netlook,
 4803|      0|				                   net, sctp_next);
 4804|      0|				break;
 4805|      0|			}
 4806|       |			/* Shift forward */
 4807|   215k|			netfirst = netlook;
 4808|   215k|		} while (netlook != NULL);
  ------------------
  |  Branch (4808:12): [True: 215k, False: 0]
  ------------------
 4809|  60.2k|	}
 4810|       |
 4811|       |	/* got to have a primary set */
 4812|  71.7k|	if (stcb->asoc.primary_destination == 0) {
  ------------------
  |  Branch (4812:6): [True: 11.5k, False: 60.2k]
  ------------------
 4813|  11.5k|		stcb->asoc.primary_destination = net;
 4814|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4815|       |	} else if ((stcb->asoc.primary_destination->ro.ro_nh == NULL) &&
 4816|       |	           (net->ro.ro_nh) &&
 4817|       |#else
 4818|  60.2k|	} else if ((stcb->asoc.primary_destination->ro.ro_rt == NULL) &&
  ------------------
  |  Branch (4818:13): [True: 0, False: 60.2k]
  ------------------
 4819|  60.2k|	           (net->ro.ro_rt) &&
  ------------------
  |  Branch (4819:13): [True: 0, False: 0]
  ------------------
 4820|  60.2k|#endif
 4821|  60.2k|	           ((net->dest_state & SCTP_ADDR_UNCONFIRMED) == 0)) {
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (4821:13): [True: 0, False: 0]
  ------------------
 4822|       |		/* No route to current primary adopt new primary */
 4823|      0|		stcb->asoc.primary_destination = net;
 4824|      0|	}
 4825|       |	/* Validate primary is first */
 4826|  71.7k|	net = TAILQ_FIRST(&stcb->asoc.nets);
 4827|  71.7k|	if ((net != stcb->asoc.primary_destination) &&
  ------------------
  |  Branch (4827:6): [True: 104, False: 71.6k]
  ------------------
 4828|  71.7k|	    (stcb->asoc.primary_destination)) {
  ------------------
  |  Branch (4828:6): [True: 104, False: 0]
  ------------------
 4829|       |		/* first one on the list is NOT the primary
 4830|       |		 * sctp_cmpaddr() is much more efficient if
 4831|       |		 * the primary is the first on the list, make it
 4832|       |		 * so.
 4833|       |		 */
 4834|    104|		TAILQ_REMOVE(&stcb->asoc.nets,
 4835|    104|			     stcb->asoc.primary_destination, sctp_next);
 4836|    104|		TAILQ_INSERT_HEAD(&stcb->asoc.nets,
 4837|    104|				  stcb->asoc.primary_destination, sctp_next);
 4838|    104|	}
 4839|  71.7k|	return (0);
 4840|  71.7k|}
sctp_aloc_assoc_connected:
 5176|  11.5k|{
 5177|  11.5k|	struct sctp_tcb *stcb;
 5178|       |
 5179|  11.5k|	SCTP_INP_INFO_WLOCK();
  ------------------
  |  |  297|  11.5k|	KASSERT(pthread_rwlock_wrlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5180|  11.5k|	SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5181|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) &&
  ------------------
  |  |  532|  11.5k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5181:6): [True: 11.5k, False: 0]
  ------------------
 5182|  11.5k|	    SCTP_IS_LISTENING(inp)) {
  ------------------
  |  | 1146|  11.5k|#define SCTP_IS_LISTENING(inp) ((inp->sctp_flags & SCTP_PCB_FLAGS_ACCEPTING) != 0)
  |  |  ------------------
  |  |  |  |  534|  11.5k|#define SCTP_PCB_FLAGS_ACCEPTING	0x00000008
  |  |  ------------------
  |  |  |  Branch (1146:32): [True: 0, False: 11.5k]
  |  |  ------------------
  ------------------
 5183|      0|		SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5184|      0|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5185|      0|		*error = EINVAL;
 5186|      0|		return (NULL);
 5187|      0|	}
 5188|  11.5k|	stcb = sctp_aloc_assoc_locked(inp, firstaddr, error, override_tag,
 5189|  11.5k|	    initial_tsn, vrf_id, o_streams, port, p, initialize_auth_params);
 5190|  11.5k|	SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|  11.5k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5191|  11.5k|	if (stcb != NULL && (inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE)) {
  ------------------
  |  |  532|  11.5k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5191:6): [True: 11.5k, False: 0]
  |  Branch (5191:22): [True: 11.5k, False: 0]
  ------------------
 5192|  11.5k|		inp->sctp_flags |= SCTP_PCB_FLAGS_CONNECTED;
  ------------------
  |  |  542|  11.5k|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
 5193|  11.5k|		soisconnecting(inp->sctp_socket);
 5194|  11.5k|	}
 5195|  11.5k|	SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5196|  11.5k|	return (stcb);
 5197|  11.5k|}
sctp_remove_net:
 5201|  55.2k|{
 5202|  55.2k|	struct sctp_inpcb *inp;
 5203|  55.2k|	struct sctp_association *asoc;
 5204|       |
 5205|  55.2k|	inp = stcb->sctp_ep;
 5206|  55.2k|	asoc = &stcb->asoc;
 5207|  55.2k|	asoc->numnets--;
 5208|  55.2k|	TAILQ_REMOVE(&asoc->nets, net, sctp_next);
 5209|  55.2k|	if (net == asoc->primary_destination) {
  ------------------
  |  Branch (5209:6): [True: 388, False: 54.8k]
  ------------------
 5210|       |		/* Reset primary */
 5211|    388|		struct sctp_nets *lnet;
 5212|       |
 5213|    388|		lnet = TAILQ_FIRST(&asoc->nets);
 5214|       |		/* Mobility adaptation
 5215|       |		   Ideally, if deleted destination is the primary, it becomes
 5216|       |		   a fast retransmission trigger by the subsequent SET PRIMARY.
 5217|       |		   (by micchie)
 5218|       |		 */
 5219|    388|		if (sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|    776|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 388]
  |  |  ------------------
  ------------------
 5220|    388|		                                SCTP_MOBILITY_BASE) ||
 5221|    388|		    sctp_is_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   84|    388|#define sctp_is_mobility_feature_on(inp, feature) (inp->sctp_mobility_features & feature)
  |  |  ------------------
  |  |  |  Branch (84:51): [True: 0, False: 388]
  |  |  ------------------
  ------------------
 5222|    388|		                                SCTP_MOBILITY_FASTHANDOFF)) {
 5223|      0|			SCTPDBG(SCTP_DEBUG_ASCONF1, "remove_net: primary dst is deleting\n");
 5224|      0|			if (asoc->deleted_primary != NULL) {
  ------------------
  |  Branch (5224:8): [True: 0, False: 0]
  ------------------
 5225|      0|				SCTPDBG(SCTP_DEBUG_ASCONF1, "remove_net: deleted primary may be already stored\n");
 5226|      0|				goto out;
 5227|      0|			}
 5228|      0|			asoc->deleted_primary = net;
 5229|      0|			atomic_add_int(&net->ref_count, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 5230|      0|			memset(&net->lastsa, 0, sizeof(net->lastsa));
 5231|      0|			memset(&net->lastsv, 0, sizeof(net->lastsv));
 5232|      0|			sctp_mobility_feature_on(stcb->sctp_ep,
  ------------------
  |  |   82|      0|#define sctp_mobility_feature_on(inp, feature)  (inp->sctp_mobility_features |= feature)
  ------------------
 5233|      0|						 SCTP_MOBILITY_PRIM_DELETED);
 5234|      0|			sctp_timer_start(SCTP_TIMER_TYPE_PRIM_DELETED,
  ------------------
  |  |  548|      0|#define SCTP_TIMER_TYPE_PRIM_DELETED	17
  ------------------
 5235|      0|					 stcb->sctp_ep, stcb, NULL);
 5236|      0|		}
 5237|    388|out:
 5238|       |		/* Try to find a confirmed primary */
 5239|    388|		asoc->primary_destination = sctp_find_alternate_net(stcb, lnet, 0);
 5240|    388|	}
 5241|  55.2k|	if (net == asoc->last_data_chunk_from) {
  ------------------
  |  Branch (5241:6): [True: 0, False: 55.2k]
  ------------------
 5242|       |		/* Reset primary */
 5243|      0|		asoc->last_data_chunk_from = TAILQ_FIRST(&asoc->nets);
 5244|      0|	}
 5245|  55.2k|	if (net == asoc->last_control_chunk_from) {
  ------------------
  |  Branch (5245:6): [True: 0, False: 55.2k]
  ------------------
 5246|       |		/* Clear net */
 5247|      0|		asoc->last_control_chunk_from = NULL;
 5248|      0|	}
 5249|  55.2k|	if (net == asoc->last_net_cmt_send_started) {
  ------------------
  |  Branch (5249:6): [True: 0, False: 55.2k]
  ------------------
 5250|       |		/* Clear net */
 5251|      0|		asoc->last_net_cmt_send_started = NULL;
 5252|      0|	}
 5253|  55.2k|	if (net == stcb->asoc.alternate) {
  ------------------
  |  Branch (5253:6): [True: 1, False: 55.2k]
  ------------------
 5254|      1|		sctp_free_remote_addr(stcb->asoc.alternate);
  ------------------
  |  |  228|      1|#define sctp_free_remote_addr(__net) { \
  |  |  229|      1|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 1, False: 0]
  |  |  ------------------
  |  |  230|      1|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      1|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      1|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      1|	} \
  |  |  245|      1|}
  ------------------
 5255|      1|		stcb->asoc.alternate = NULL;
 5256|      1|	}
 5257|  55.2k|	sctp_timer_stop(SCTP_TIMER_TYPE_PATHMTURAISE, inp, stcb, net,
  ------------------
  |  |  539|  55.2k|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
 5258|  55.2k|	                SCTP_FROM_SCTP_PCB + SCTP_LOC_9);
  ------------------
  |  |  756|  55.2k|#define SCTP_FROM_SCTP_PCB          0x20000000
  ------------------
              	                SCTP_FROM_SCTP_PCB + SCTP_LOC_9);
  ------------------
  |  |  777|  55.2k|#define SCTP_LOC_9  0x00000009
  ------------------
 5259|  55.2k|	sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net,
  ------------------
  |  |  536|  55.2k|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 5260|  55.2k|	                SCTP_FROM_SCTP_PCB + SCTP_LOC_10);
  ------------------
  |  |  756|  55.2k|#define SCTP_FROM_SCTP_PCB          0x20000000
  ------------------
              	                SCTP_FROM_SCTP_PCB + SCTP_LOC_10);
  ------------------
  |  |  778|  55.2k|#define SCTP_LOC_10 0x0000000a
  ------------------
 5261|  55.2k|	net->dest_state |= SCTP_ADDR_BEING_DELETED;
  ------------------
  |  |  484|  55.2k|#define SCTP_ADDR_BEING_DELETED		0x008
  ------------------
 5262|  55.2k|	sctp_free_remote_addr(net);
  ------------------
  |  |  228|  55.2k|#define sctp_free_remote_addr(__net) { \
  |  |  229|  55.2k|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 55.2k, False: 0]
  |  |  ------------------
  |  |  230|  55.2k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|  55.2k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|  55.2k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 53.9k, False: 1.28k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|  53.9k|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 53.9k, False: 0]
  |  |  ------------------
  |  |  232|  53.9k|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|  53.9k|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|  53.9k|		RT_LOCK(_rt);					\
  |  |  |  |  128|  53.9k|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|  53.9k|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|  53.9k|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 53.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|  53.9k|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|  53.9k|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|  53.9k|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|  53.9k|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|  53.9k|		_rt = NULL;					\
  |  |  |  |  |  |  125|  53.9k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|  53.9k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|  53.9k|				(__net)->ro.ro_rt = NULL; \
  |  |  234|  53.9k|			} \
  |  |  235|  53.9k|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 53.9k]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|  53.9k|			(__net)->src_addr_selected = 0; \
  |  |  240|  53.9k|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|  53.9k|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|  53.9k|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|  53.9k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|  53.9k|	free(element);  \
  |  |  |  |  703|  53.9k|}
  |  |  ------------------
  |  |  242|  53.9k|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|  53.9k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|  53.9k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|  53.9k|		} \
  |  |  244|  55.2k|	} \
  |  |  245|  55.2k|}
  ------------------
 5263|  55.2k|}
sctp_del_remote_addr:
 5271|  11.2k|{
 5272|       |	/*
 5273|       |	 * Here we need to remove a remote address. This is quite simple, we
 5274|       |	 * first find it in the list of address for the association
 5275|       |	 * (tasoc->asoc.nets) and then if it is there, we do a LIST_REMOVE
 5276|       |	 * on that item. Note we do not allow it to be removed if there are
 5277|       |	 * no other addresses.
 5278|       |	 */
 5279|  11.2k|	struct sctp_association *asoc;
 5280|  11.2k|	struct sctp_nets *net, *nnet;
 5281|       |
 5282|  11.2k|	asoc = &stcb->asoc;
 5283|       |
 5284|       |	/* locate the address */
 5285|  53.6k|	TAILQ_FOREACH_SAFE(net, &asoc->nets, sctp_next, nnet) {
  ------------------
  |  | 1123|  11.2k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  63.1k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 53.6k, False: 9.49k]
  |  |  |  Branch (1124:24): [True: 53.6k, False: 0]
  |  |  ------------------
  |  | 1125|  51.8k|              (var) = (tvar))
  ------------------
 5286|  53.6k|		if (net->ro._l_addr.sa.sa_family != remaddr->sa_family) {
  ------------------
  |  Branch (5286:7): [True: 12.9k, False: 40.7k]
  ------------------
 5287|  12.9k|			continue;
 5288|  12.9k|		}
 5289|  40.7k|		if (sctp_cmpaddr((struct sockaddr *)&net->ro._l_addr,
  ------------------
  |  Branch (5289:7): [True: 1.76k, False: 38.9k]
  ------------------
 5290|  40.7k|		    remaddr)) {
 5291|       |			/* we found the guy */
 5292|  1.76k|			if (asoc->numnets < 2) {
  ------------------
  |  Branch (5292:8): [True: 0, False: 1.76k]
  ------------------
 5293|       |				/* Must have at LEAST two remote addresses */
 5294|      0|				return (-1);
 5295|  1.76k|			} else {
 5296|  1.76k|				sctp_remove_net(stcb, net);
 5297|  1.76k|				return (0);
 5298|  1.76k|			}
 5299|  1.76k|		}
 5300|  40.7k|	}
 5301|       |	/* not found. */
 5302|  9.49k|	return (-2);
 5303|  11.2k|}
sctp_clean_up_stream:
 5395|  4.65M|{
 5396|  4.65M|	struct sctp_tmit_chunk *chk, *nchk;
 5397|  4.65M|	struct sctp_queued_to_read *control, *ncontrol;
 5398|       |
 5399|  4.65M|	TAILQ_FOREACH_SAFE(control, rh, next_instrm, ncontrol) {
  ------------------
  |  | 1123|  4.65M|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  4.66M|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 3.91k, False: 4.65M]
  |  |  |  Branch (1124:24): [True: 3.91k, False: 0]
  |  |  ------------------
  |  | 1125|  4.65M|              (var) = (tvar))
  ------------------
 5400|  3.91k|		TAILQ_REMOVE(rh, control, next_instrm);
 5401|  3.91k|		control->on_strm_q = 0;
 5402|  3.91k|		if (control->on_read_q == 0) {
  ------------------
  |  Branch (5402:7): [True: 3.91k, False: 0]
  ------------------
 5403|  3.91k|			sctp_free_remote_addr(control->whoFrom);
  ------------------
  |  |  228|  3.91k|#define sctp_free_remote_addr(__net) { \
  |  |  229|  3.91k|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 3.91k, False: 0]
  |  |  ------------------
  |  |  230|  3.91k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|  3.91k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|  3.91k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 3.91k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|  3.91k|	} \
  |  |  245|  3.91k|}
  ------------------
 5404|  3.91k|			if (control->data) {
  ------------------
  |  Branch (5404:8): [True: 2.28k, False: 1.63k]
  ------------------
 5405|  2.28k|				sctp_m_freem(control->data);
  ------------------
  |  |   52|  2.28k|#define sctp_m_freem m_freem
  ------------------
 5406|  2.28k|				control->data = NULL;
 5407|  2.28k|			}
 5408|  3.91k|		}
 5409|       |		/* Reassembly free? */
 5410|  3.91k|		TAILQ_FOREACH_SAFE(chk, &control->reasm, sctp_next, nchk) {
  ------------------
  |  | 1123|  3.91k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  6.80k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 2.89k, False: 3.91k]
  |  |  |  Branch (1124:24): [True: 2.89k, False: 0]
  |  |  ------------------
  |  | 1125|  3.91k|              (var) = (tvar))
  ------------------
 5411|  2.89k|			TAILQ_REMOVE(&control->reasm, chk, sctp_next);
 5412|  2.89k|			if (chk->data) {
  ------------------
  |  Branch (5412:8): [True: 2.89k, False: 0]
  ------------------
 5413|  2.89k|				sctp_m_freem(chk->data);
  ------------------
  |  |   52|  2.89k|#define sctp_m_freem m_freem
  ------------------
 5414|  2.89k|				chk->data = NULL;
 5415|  2.89k|			}
 5416|  2.89k|			if (chk->holds_key_ref)
  ------------------
  |  Branch (5416:8): [True: 0, False: 2.89k]
  ------------------
 5417|      0|				sctp_auth_key_release(stcb, chk->auth_keyid, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5418|  2.89k|			sctp_free_remote_addr(chk->whoTo);
  ------------------
  |  |  228|  2.89k|#define sctp_free_remote_addr(__net) { \
  |  |  229|  2.89k|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 2.89k, False: 0]
  |  |  ------------------
  |  |  230|  2.89k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|  2.89k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|  2.89k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 2.89k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|  2.89k|	} \
  |  |  245|  2.89k|}
  ------------------
 5419|  2.89k|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), chk);
  ------------------
  |  |  701|  2.89k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  2.89k|	free(element);  \
  |  |  703|  2.89k|}
  ------------------
 5420|  2.89k|			SCTP_DECR_CHK_COUNT();
  ------------------
  |  |  679|  2.89k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  ------------------
  |  |  |  |   97|  2.89k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5421|       |			/*sa_ignore FREED_MEMORY*/
 5422|  2.89k|		}
 5423|       |		/*
 5424|       |		 * We don't free the address here
 5425|       |		 * since all the net's were freed
 5426|       |		 * above.
 5427|       |		 */
 5428|  3.91k|		if (control->on_read_q == 0) {
  ------------------
  |  Branch (5428:7): [True: 3.91k, False: 0]
  ------------------
 5429|  3.91k|			sctp_free_a_readq(stcb, control);
  ------------------
  |  |  105|  3.91k|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|  3.91k|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 3.91k]
  |  |  ------------------
  |  |  107|  3.91k|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|  3.91k|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|  3.91k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|  3.91k|	free(element);  \
  |  |  |  |  703|  3.91k|}
  |  |  ------------------
  |  |  109|  3.91k|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|  3.91k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|  3.91k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|  3.91k|}
  ------------------
 5430|  3.91k|		}
 5431|  3.91k|	}
 5432|  4.65M|}
sctp_free_assoc:
 5444|  13.6k|{
 5445|  13.6k|	int i;
 5446|  13.6k|	struct sctp_association *asoc;
 5447|  13.6k|	struct sctp_nets *net, *nnet;
 5448|  13.6k|	struct sctp_laddr *laddr, *naddr;
 5449|  13.6k|	struct sctp_tmit_chunk *chk, *nchk;
 5450|  13.6k|	struct sctp_asconf_addr *aparam, *naparam;
 5451|  13.6k|	struct sctp_asconf_ack *aack, *naack;
 5452|  13.6k|	struct sctp_stream_reset_list *strrst, *nstrrst;
 5453|  13.6k|	struct sctp_queued_to_read *sq, *nsq;
 5454|  13.6k|	struct sctp_stream_queue_pending *sp, *nsp;
 5455|  13.6k|	sctp_sharedkey_t *shared_key, *nshared_key;
 5456|  13.6k|	struct socket *so;
 5457|       |
 5458|       |	/* first, lets purge the entry from the hash table. */
 5459|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5460|       |	sctp_lock_assert(SCTP_INP_SO(inp));
 5461|       |#endif
 5462|  13.6k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  13.6k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  13.6k|	do {                         \
  |  |  |  |  113|  13.6k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 13.6k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  13.6k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5463|       |
 5464|       |#ifdef SCTP_LOG_CLOSING
 5465|       |	sctp_log_closing(inp, stcb, 6);
 5466|       |#endif
 5467|  13.6k|	if (stcb->asoc.state == 0) {
  ------------------
  |  Branch (5467:6): [True: 0, False: 13.6k]
  ------------------
 5468|       |#ifdef SCTP_LOG_CLOSING
 5469|       |		sctp_log_closing(inp, NULL, 7);
 5470|       |#endif
 5471|       |		/* there is no asoc, really TSNH :-0 */
 5472|      0|		return (1);
 5473|      0|	}
 5474|  13.6k|	if (stcb->asoc.alternate) {
  ------------------
  |  Branch (5474:6): [True: 98, False: 13.5k]
  ------------------
 5475|     98|		sctp_free_remote_addr(stcb->asoc.alternate);
  ------------------
  |  |  228|     98|#define sctp_free_remote_addr(__net) { \
  |  |  229|     98|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 98, False: 0]
  |  |  ------------------
  |  |  230|     98|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|     98|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|     98|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 98]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|     98|	} \
  |  |  245|     98|}
  ------------------
 5476|     98|		stcb->asoc.alternate = NULL;
 5477|     98|	}
 5478|  13.6k|#if !(defined(__APPLE__) && !defined(__Userspace__))
 5479|       |	/* TEMP CODE */
 5480|  13.6k|	if (stcb->freed_from_where == 0) {
  ------------------
  |  Branch (5480:6): [True: 11.5k, False: 2.10k]
  ------------------
 5481|       |		/* Only record the first place free happened from */
 5482|  11.5k|		stcb->freed_from_where = from_location;
 5483|  11.5k|	}
 5484|       |	/* TEMP CODE */
 5485|  13.6k|#endif
 5486|       |
 5487|  13.6k|	asoc = &stcb->asoc;
 5488|  13.6k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) ||
  ------------------
  |  |  550|  13.6k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (5488:6): [True: 0, False: 13.6k]
  ------------------
 5489|  13.6k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE))
  ------------------
  |  |  549|  13.6k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (5489:6): [True: 11.9k, False: 1.70k]
  ------------------
 5490|       |		/* nothing around */
 5491|  11.9k|		so = NULL;
 5492|  1.70k|	else
 5493|  1.70k|		so = inp->sctp_socket;
 5494|       |
 5495|       |	/*
 5496|       |	 * We used timer based freeing if a reader or writer is in the way.
 5497|       |	 * So we first check if we are actually being called from a timer,
 5498|       |	 * if so we abort early if a reader or writer is still in the way.
 5499|       |	 */
 5500|  13.6k|	if ((stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) &&
  ------------------
  |  |  465|  13.6k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (5500:6): [True: 2.10k, False: 11.5k]
  ------------------
 5501|  13.6k|	    (from_inpcbfree == SCTP_NORMAL_PROC)) {
  ------------------
  |  |  808|  2.10k|#define SCTP_NORMAL_PROC      0
  ------------------
  |  Branch (5501:6): [True: 2.10k, False: 0]
  ------------------
 5502|       |		/*
 5503|       |		 * is it the timer driving us? if so are the reader/writers
 5504|       |		 * gone?
 5505|       |		 */
 5506|  2.10k|		if (stcb->asoc.refcnt) {
  ------------------
  |  Branch (5506:7): [True: 2.07k, False: 21]
  ------------------
 5507|       |			/* nope, reader or writer in the way */
 5508|  2.07k|			sctp_timer_start(SCTP_TIMER_TYPE_ASOCKILL, inp, stcb, NULL);
  ------------------
  |  |  546|  2.07k|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
 5509|       |			/* no asoc destroyed */
 5510|  2.07k|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|  2.07k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  2.07k|	do {                         \
  |  |  |  |  113|  2.07k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.07k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  2.07k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5511|       |#ifdef SCTP_LOG_CLOSING
 5512|       |			sctp_log_closing(inp, stcb, 8);
 5513|       |#endif
 5514|  2.07k|			return (0);
 5515|  2.07k|		}
 5516|  2.10k|	}
 5517|       |	/* Now clean up any other timers */
 5518|  11.5k|	sctp_stop_association_timers(stcb, false);
 5519|       |	/* Now the read queue needs to be cleaned up (only once) */
 5520|  11.5k|	if ((stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0) {
  ------------------
  |  |  465|  11.5k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (5520:6): [True: 11.5k, False: 21]
  ------------------
 5521|  11.5k|		SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_ABOUT_TO_BE_FREED);
  ------------------
  |  |  478|  11.5k|	sctp_add_substate(_stcb, _substate)
  ------------------
 5522|  11.5k|		SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5523|   118k|		TAILQ_FOREACH(sq, &inp->read_queue, next) {
 5524|   118k|			if (sq->stcb == stcb) {
  ------------------
  |  Branch (5524:8): [True: 118k, False: 0]
  ------------------
 5525|   118k|				sq->do_not_ref_stcb = 1;
 5526|   118k|				sq->sinfo_cumtsn = stcb->asoc.cumulative_tsn;
 5527|       |				/* If there is no end, there never
 5528|       |				 * will be now.
 5529|       |				 */
 5530|   118k|				if (sq->end_added == 0) {
  ------------------
  |  Branch (5530:9): [True: 0, False: 118k]
  ------------------
 5531|       |					/* Held for PD-API, clear that. */
 5532|      0|					sq->pdapi_aborted = 1;
 5533|      0|					sq->held_length = 0;
 5534|      0|					if (sctp_stcb_is_feature_on(inp, stcb, SCTP_PCB_FLAGS_PDAPIEVNT) && (so != NULL)) {
  ------------------
  |  |   70|      0|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (70:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      0|	  ((stcb->asoc.sctp_features & feature) == feature)) || \
  |  |  ------------------
  |  |  |  Branch (71:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   72|      0|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (72:4): [True: 0, False: 0]
  |  |  |  Branch (72:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   73|      0|	  ((inp->sctp_features & feature) == feature)))
  |  |  ------------------
  |  |  |  Branch (73:4): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (5534:74): [True: 0, False: 0]
  ------------------
 5535|      0|						sctp_ulp_notify(SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION,
  ------------------
  |  |  717|      0|#define SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION 15
  ------------------
 5536|      0|						                stcb,
 5537|      0|						                SCTP_PARTIAL_DELIVERY_ABORTED,
  ------------------
  |  |  451|      0|#define SCTP_PARTIAL_DELIVERY_ABORTED	0x0001
  ------------------
 5538|      0|						                (void *)sq,
 5539|      0|						                SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5540|      0|					}
 5541|       |					/* Add an end to wake them */
 5542|      0|					sq->end_added = 1;
 5543|      0|				}
 5544|   118k|			}
 5545|   118k|		}
 5546|  11.5k|		SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5547|  11.5k|		if (stcb->block_entry) {
  ------------------
  |  Branch (5547:7): [True: 0, False: 11.5k]
  ------------------
 5548|      0|			SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_PCB, ECONNRESET);
 5549|      0|			stcb->block_entry->error = ECONNRESET;
 5550|      0|			stcb->block_entry = NULL;
 5551|      0|		}
 5552|  11.5k|	}
 5553|  11.5k|	if ((stcb->asoc.refcnt) || (stcb->asoc.state & SCTP_STATE_IN_ACCEPT_QUEUE)) {
  ------------------
  |  |  468|  11.5k|#define SCTP_STATE_IN_ACCEPT_QUEUE      0x1000
  ------------------
  |  Branch (5553:6): [True: 21, False: 11.5k]
  |  Branch (5553:29): [True: 0, False: 11.5k]
  ------------------
 5554|       |		/* Someone holds a reference OR the socket is unaccepted yet.
 5555|       |		*/
 5556|     21|		if ((stcb->asoc.refcnt) ||
  ------------------
  |  Branch (5556:7): [True: 21, False: 0]
  ------------------
 5557|     21|		    (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) ||
  ------------------
  |  |  550|      0|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (5557:7): [True: 0, False: 0]
  ------------------
 5558|     21|		    (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE)) {
  ------------------
  |  |  549|      0|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (5558:7): [True: 0, False: 0]
  ------------------
 5559|     21|			SCTP_CLEAR_SUBSTATE(stcb, SCTP_STATE_IN_ACCEPT_QUEUE);
  ------------------
  |  |  476|     21|	(_stcb)->asoc.state &= ~(_substate)
  ------------------
 5560|     21|			sctp_timer_start(SCTP_TIMER_TYPE_ASOCKILL, inp, stcb, NULL);
  ------------------
  |  |  546|     21|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
 5561|     21|		}
 5562|     21|		if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) ||
  ------------------
  |  |  550|     21|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (5562:7): [True: 0, False: 21]
  ------------------
 5563|     21|		    (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE))
  ------------------
  |  |  549|     21|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (5563:7): [True: 6, False: 15]
  ------------------
 5564|       |			/* nothing around */
 5565|      6|			so = NULL;
 5566|     21|		if (so) {
  ------------------
  |  Branch (5566:7): [True: 15, False: 6]
  ------------------
 5567|       |			/* Wake any reader/writers */
 5568|     15|			sctp_sorwakeup(inp, so);
  ------------------
  |  | 1032|     15|#define sctp_sorwakeup(inp, so) \
  |  | 1033|     15|do { \
  |  | 1034|     15|	if (inp->sctp_flags & SCTP_PCB_FLAGS_DONT_WAKE) { \
  |  |  ------------------
  |  |  |  |  544|     30|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  |  |  ------------------
  |  |  |  Branch (1034:6): [True: 0, False: 15]
  |  |  ------------------
  |  | 1035|      0|		sctp_pcb_add_flags(inp, SCTP_PCB_FLAGS_WAKEINPUT); \
  |  |  ------------------
  |  |  |  |  546|      0|#define SCTP_PCB_FLAGS_WAKEINPUT	0x02000000
  |  |  ------------------
  |  | 1036|     15|	} else { \
  |  | 1037|     15|		sorwakeup(so); \
  |  |  ------------------
  |  |  |  |  519|     15|#define	sorwakeup(so) do {						\
  |  |  |  |  520|     15|	SOCKBUF_LOCK(&(so)->so_rcv);					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  517|     15|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|     15|	do {                         \
  |  |  |  |  |  |  |  |  113|     15|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 15]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|     15|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  521|     15|	sorwakeup_locked(so);						\
  |  |  |  |  ------------------
  |  |  |  |  |  |  511|     15|#define	sorwakeup_locked(so) do {					\
  |  |  |  |  |  |  512|     15|	SOCKBUF_LOCK_ASSERT(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  514|     15|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|     15|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|     15|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 15]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|     15|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  513|     15|	if (sb_notify(&(so)->so_rcv))					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  499|     15|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  203|     15|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  204|     15|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  205|     15|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (499:23): [True: 15, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  500|     15|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  206|     15|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  208|     15|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  209|     15|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  514|     15|		sowakeup((so), &(so)->so_rcv);	 			\
  |  |  |  |  |  |  515|     15|	else								\
  |  |  |  |  |  |  516|     15|		SOCKBUF_UNLOCK(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  517|     15|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (517:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  522|     15|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (522:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1038|     15|	} \
  |  | 1039|     15|} while (0)
  |  |  ------------------
  |  |  |  Branch (1039:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5569|     15|			sctp_sowwakeup(inp, so);
  ------------------
  |  | 1001|     15|#define sctp_sowwakeup(inp, so) \
  |  | 1002|     15|do { \
  |  | 1003|     15|	if (inp->sctp_flags & SCTP_PCB_FLAGS_DONT_WAKE) { \
  |  |  ------------------
  |  |  |  |  544|     30|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  |  |  ------------------
  |  |  |  Branch (1003:6): [True: 0, False: 15]
  |  |  ------------------
  |  | 1004|      0|		sctp_pcb_add_flags(inp, SCTP_PCB_FLAGS_WAKEOUTPUT); \
  |  |  ------------------
  |  |  |  |  545|      0|#define SCTP_PCB_FLAGS_WAKEOUTPUT	0x01000000
  |  |  ------------------
  |  | 1005|     15|	} else { \
  |  | 1006|     15|		sowwakeup(so); \
  |  |  ------------------
  |  |  |  |  532|     15|#define	sowwakeup(so) do {						\
  |  |  |  |  533|     15|	SOCKBUF_LOCK(&(so)->so_snd);					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  517|     15|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|     15|	do {                         \
  |  |  |  |  |  |  |  |  113|     15|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 15]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|     15|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  534|     15|	sowwakeup_locked(so);						\
  |  |  |  |  ------------------
  |  |  |  |  |  |  524|     15|#define	sowwakeup_locked(so) do {					\
  |  |  |  |  |  |  525|     15|	SOCKBUF_LOCK_ASSERT(&(so)->so_snd);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  514|     15|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|     15|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|     15|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 15]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|     15|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  526|     15|	if (sb_notify(&(so)->so_snd))					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  499|     15|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  203|     15|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  204|     15|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  205|     15|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (499:23): [True: 15, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  500|     15|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  206|     15|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  208|     15|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  209|     15|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  527|     15|		sowakeup((so), &(so)->so_snd); 				\
  |  |  |  |  |  |  528|     15|	else								\
  |  |  |  |  |  |  529|     15|		SOCKBUF_UNLOCK(&(so)->so_snd);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  530|     15|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (530:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  535|     15|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (535:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1007|     15|	} \
  |  | 1008|     15|} while (0)
  |  |  ------------------
  |  |  |  Branch (1008:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5570|     15|		}
 5571|     21|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|     21|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     21|	do {                         \
  |  |  |  |  113|     21|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 21]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     21|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5572|       |
 5573|       |#ifdef SCTP_LOG_CLOSING
 5574|       |		sctp_log_closing(inp, stcb, 9);
 5575|       |#endif
 5576|       |		/* no asoc destroyed */
 5577|     21|		return (0);
 5578|     21|	}
 5579|       |#ifdef SCTP_LOG_CLOSING
 5580|       |	sctp_log_closing(inp, stcb, 10);
 5581|       |#endif
 5582|       |	/* When I reach here, no others want
 5583|       |	 * to kill the assoc yet.. and I own
 5584|       |	 * the lock. Now its possible an abort
 5585|       |	 * comes in when I do the lock exchange
 5586|       |	 * below to grab all the locks to do
 5587|       |	 * the final take out. to prevent this
 5588|       |	 * we increment the count, which will
 5589|       |	 * start a timer and blow out above thus
 5590|       |	 * assuring us that we hold exclusive
 5591|       |	 * killing of the asoc. Note that
 5592|       |	 * after getting back the TCB lock
 5593|       |	 * we will go ahead and increment the
 5594|       |	 * counter back up and stop any timer
 5595|       |	 * a passing stranger may have started :-S
 5596|       |	 */
 5597|  11.5k|	if (from_inpcbfree == SCTP_NORMAL_PROC) {
  ------------------
  |  |  808|  11.5k|#define SCTP_NORMAL_PROC      0
  ------------------
  |  Branch (5597:6): [True: 1.71k, False: 9.84k]
  ------------------
 5598|  1.71k|		atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|  1.71k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 5599|       |
 5600|  1.71k|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|  1.71k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.71k|	do {                         \
  |  |  |  |  113|  1.71k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.71k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.71k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5601|  1.71k|		SCTP_INP_INFO_WLOCK();
  ------------------
  |  |  297|  1.71k|	KASSERT(pthread_rwlock_wrlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.71k|	do {                         \
  |  |  |  |  113|  1.71k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.71k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.71k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5602|  1.71k|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  1.71k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.71k|	do {                         \
  |  |  |  |  113|  1.71k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.71k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.71k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5603|  1.71k|		SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|  1.71k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.71k|	do {                         \
  |  |  |  |  113|  1.71k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.71k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.71k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5604|  1.71k|	}
 5605|       |	/* Double check the GONE flag */
 5606|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) ||
  ------------------
  |  |  550|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (5606:6): [True: 0, False: 11.5k]
  ------------------
 5607|  11.5k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE))
  ------------------
  |  |  549|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (5607:6): [True: 9.86k, False: 1.69k]
  ------------------
 5608|       |		/* nothing around */
 5609|  9.86k|		so = NULL;
 5610|       |
 5611|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|  11.5k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5611:6): [True: 11.5k, False: 0]
  ------------------
 5612|  11.5k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) {
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5612:6): [True: 0, False: 0]
  ------------------
 5613|       |		/*
 5614|       |		 * For TCP type we need special handling when we are
 5615|       |		 * connected. We also include the peel'ed off ones to.
 5616|       |		 */
 5617|  11.5k|		if (inp->sctp_flags & SCTP_PCB_FLAGS_CONNECTED) {
  ------------------
  |  |  542|  11.5k|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
  |  Branch (5617:7): [True: 11.5k, False: 0]
  ------------------
 5618|  11.5k|			inp->sctp_flags &= ~SCTP_PCB_FLAGS_CONNECTED;
  ------------------
  |  |  542|  11.5k|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
 5619|  11.5k|			inp->sctp_flags |= SCTP_PCB_FLAGS_WAS_CONNECTED;
  ------------------
  |  |  538|  11.5k|#define SCTP_PCB_FLAGS_WAS_CONNECTED    0x00080000
  ------------------
 5620|  11.5k|			if (so) {
  ------------------
  |  Branch (5620:8): [True: 1.69k, False: 9.86k]
  ------------------
 5621|  1.69k|				SOCKBUF_LOCK(&so->so_rcv);
  ------------------
  |  |  517|  1.69k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.69k|	do {                         \
  |  |  |  |  113|  1.69k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.69k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.69k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5622|  1.69k|				so->so_state &= ~(SS_ISCONNECTING |
  ------------------
  |  |  341|  1.69k|#define	SS_ISCONNECTING		0x0004	/* in process of connecting to peer */
  ------------------
 5623|  1.69k|				    SS_ISDISCONNECTING |
  ------------------
  |  |  342|  1.69k|#define	SS_ISDISCONNECTING	0x0008	/* in process of disconnecting */
  ------------------
 5624|  1.69k|#if !(defined(__FreeBSD__) && !defined(__Userspace__))
 5625|  1.69k|				    SS_ISCONFIRMING |
  ------------------
  |  |  345|  1.69k|#define	SS_ISCONFIRMING		0x0400	/* deciding to accept connection req */
  ------------------
 5626|  1.69k|#endif
 5627|  1.69k|				    SS_ISCONNECTED);
  ------------------
  |  |  340|  1.69k|#define	SS_ISCONNECTED		0x0002	/* socket connected to a peer */
  ------------------
 5628|  1.69k|				so->so_state |= SS_ISDISCONNECTED;
  ------------------
  |  |  346|  1.69k|#define	SS_ISDISCONNECTED	0x2000	/* socket disconnected from peer */
  ------------------
 5629|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5630|       |				socantrcvmore(so);
 5631|       |#else
 5632|  1.69k|				socantrcvmore_locked(so);
 5633|  1.69k|#endif
 5634|  1.69k|				socantsendmore(so);
 5635|  1.69k|				sctp_sowwakeup(inp, so);
  ------------------
  |  | 1001|  1.69k|#define sctp_sowwakeup(inp, so) \
  |  | 1002|  1.69k|do { \
  |  | 1003|  1.69k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_DONT_WAKE) { \
  |  |  ------------------
  |  |  |  |  544|  3.38k|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  |  |  ------------------
  |  |  |  Branch (1003:6): [True: 0, False: 1.69k]
  |  |  ------------------
  |  | 1004|      0|		sctp_pcb_add_flags(inp, SCTP_PCB_FLAGS_WAKEOUTPUT); \
  |  |  ------------------
  |  |  |  |  545|      0|#define SCTP_PCB_FLAGS_WAKEOUTPUT	0x01000000
  |  |  ------------------
  |  | 1005|  1.69k|	} else { \
  |  | 1006|  1.69k|		sowwakeup(so); \
  |  |  ------------------
  |  |  |  |  532|  1.69k|#define	sowwakeup(so) do {						\
  |  |  |  |  533|  1.69k|	SOCKBUF_LOCK(&(so)->so_snd);					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  517|  1.69k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|  1.69k|	do {                         \
  |  |  |  |  |  |  |  |  113|  1.69k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.69k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|  1.69k|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  534|  1.69k|	sowwakeup_locked(so);						\
  |  |  |  |  ------------------
  |  |  |  |  |  |  524|  1.69k|#define	sowwakeup_locked(so) do {					\
  |  |  |  |  |  |  525|  1.69k|	SOCKBUF_LOCK_ASSERT(&(so)->so_snd);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  514|  1.69k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|  1.69k|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|  1.69k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.69k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|  1.69k|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  526|  1.69k|	if (sb_notify(&(so)->so_snd))					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  499|  1.69k|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  203|  1.69k|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  204|  1.69k|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  205|  1.69k|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (499:23): [True: 1.69k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  500|  1.69k|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  206|  1.69k|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  208|  1.69k|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  209|  1.69k|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  527|  1.69k|		sowakeup((so), &(so)->so_snd); 				\
  |  |  |  |  |  |  528|  1.69k|	else								\
  |  |  |  |  |  |  529|  1.69k|		SOCKBUF_UNLOCK(&(so)->so_snd);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  530|  1.69k|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (530:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  535|  1.69k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (535:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1007|  1.69k|	} \
  |  | 1008|  1.69k|} while (0)
  |  |  ------------------
  |  |  |  Branch (1008:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5636|  1.69k|				sctp_sorwakeup(inp, so);
  ------------------
  |  | 1032|  1.69k|#define sctp_sorwakeup(inp, so) \
  |  | 1033|  1.69k|do { \
  |  | 1034|  1.69k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_DONT_WAKE) { \
  |  |  ------------------
  |  |  |  |  544|  3.38k|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  |  |  ------------------
  |  |  |  Branch (1034:6): [True: 0, False: 1.69k]
  |  |  ------------------
  |  | 1035|      0|		sctp_pcb_add_flags(inp, SCTP_PCB_FLAGS_WAKEINPUT); \
  |  |  ------------------
  |  |  |  |  546|      0|#define SCTP_PCB_FLAGS_WAKEINPUT	0x02000000
  |  |  ------------------
  |  | 1036|  1.69k|	} else { \
  |  | 1037|  1.69k|		sorwakeup(so); \
  |  |  ------------------
  |  |  |  |  519|  1.69k|#define	sorwakeup(so) do {						\
  |  |  |  |  520|  1.69k|	SOCKBUF_LOCK(&(so)->so_rcv);					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  517|  1.69k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|  1.69k|	do {                         \
  |  |  |  |  |  |  |  |  113|  1.69k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.69k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|  1.69k|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  521|  1.69k|	sorwakeup_locked(so);						\
  |  |  |  |  ------------------
  |  |  |  |  |  |  511|  1.69k|#define	sorwakeup_locked(so) do {					\
  |  |  |  |  |  |  512|  1.69k|	SOCKBUF_LOCK_ASSERT(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  514|  1.69k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|  1.69k|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|  1.69k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.69k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|  1.69k|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  513|  1.69k|	if (sb_notify(&(so)->so_rcv))					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  499|  1.69k|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  203|  1.69k|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  204|  1.69k|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  205|  1.69k|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (499:23): [True: 1.69k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  500|  1.69k|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  206|  1.69k|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  208|  1.69k|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  209|  1.69k|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  514|  1.69k|		sowakeup((so), &(so)->so_rcv);	 			\
  |  |  |  |  |  |  515|  1.69k|	else								\
  |  |  |  |  |  |  516|  1.69k|		SOCKBUF_UNLOCK(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  517|  1.69k|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (517:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  522|  1.69k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (522:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1038|  1.69k|	} \
  |  | 1039|  1.69k|} while (0)
  |  |  ------------------
  |  |  |  Branch (1039:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5637|  1.69k|				SCTP_SOWAKEUP(so);
  ------------------
  |  |  960|  1.69k|#define SCTP_SOWAKEUP(so)	wakeup(&(so)->so_timeo, so)
  ------------------
 5638|  1.69k|			}
 5639|  11.5k|		}
 5640|  11.5k|	}
 5641|       |
 5642|       |	/* Make it invalid too, that way if its
 5643|       |	 * about to run it will abort and return.
 5644|       |	 */
 5645|       |	/* re-increment the lock */
 5646|  11.5k|	if (from_inpcbfree == SCTP_NORMAL_PROC) {
  ------------------
  |  |  808|  11.5k|#define SCTP_NORMAL_PROC      0
  ------------------
  |  Branch (5646:6): [True: 1.71k, False: 9.84k]
  ------------------
 5647|  1.71k|		atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|  1.71k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 5648|  1.71k|	}
 5649|  11.5k|	if (stcb->asoc.refcnt) {
  ------------------
  |  Branch (5649:6): [True: 0, False: 11.5k]
  ------------------
 5650|      0|		SCTP_CLEAR_SUBSTATE(stcb, SCTP_STATE_IN_ACCEPT_QUEUE);
  ------------------
  |  |  476|      0|	(_stcb)->asoc.state &= ~(_substate)
  ------------------
 5651|      0|		sctp_timer_start(SCTP_TIMER_TYPE_ASOCKILL, inp, stcb, NULL);
  ------------------
  |  |  546|      0|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
 5652|      0|		if (from_inpcbfree == SCTP_NORMAL_PROC) {
  ------------------
  |  |  808|      0|#define SCTP_NORMAL_PROC      0
  ------------------
  |  Branch (5652:7): [True: 0, False: 0]
  ------------------
 5653|      0|			SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5654|      0|			SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5655|      0|		}
 5656|      0|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5657|      0|		return (0);
 5658|      0|	}
 5659|  11.5k|	asoc->state = 0;
 5660|  11.5k|	if (inp->sctp_tcbhash) {
  ------------------
  |  Branch (5660:6): [True: 11.5k, False: 0]
  ------------------
 5661|  11.5k|		LIST_REMOVE(stcb, sctp_tcbhash);
 5662|  11.5k|	}
 5663|  11.5k|	if (stcb->asoc.in_asocid_hash) {
  ------------------
  |  Branch (5663:6): [True: 11.5k, False: 0]
  ------------------
 5664|  11.5k|		LIST_REMOVE(stcb, sctp_tcbasocidhash);
 5665|  11.5k|	}
 5666|  11.5k|	if (inp->sctp_socket == NULL) {
  ------------------
  |  Branch (5666:6): [True: 9.86k, False: 1.69k]
  ------------------
 5667|  9.86k|		stcb->sctp_socket = NULL;
 5668|  9.86k|	}
 5669|       |	/* Now lets remove it from the list of ALL associations in the EP */
 5670|  11.5k|	LIST_REMOVE(stcb, sctp_tcblist);
 5671|  11.5k|	if (from_inpcbfree == SCTP_NORMAL_PROC) {
  ------------------
  |  |  808|  11.5k|#define SCTP_NORMAL_PROC      0
  ------------------
  |  Branch (5671:6): [True: 1.71k, False: 9.84k]
  ------------------
 5672|  1.71k|		SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|  1.71k|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|  1.71k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 5673|  1.71k|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  1.71k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.71k|	do {                         \
  |  |  |  |  113|  1.71k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.71k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.71k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5674|  1.71k|	}
 5675|       |	/* pull from vtag hash */
 5676|  11.5k|	LIST_REMOVE(stcb, sctp_asocs);
 5677|  11.5k|	sctp_add_vtag_to_timewait(asoc->my_vtag, inp->sctp_lport, stcb->rport);
  ------------------
  |  |  426|  11.5k|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|  11.5k|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|  11.5k|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5678|       |
 5679|       |	/* Now restop the timers to be sure
 5680|       |	 * this is paranoia at is finest!
 5681|       |	 */
 5682|  11.5k|	sctp_stop_association_timers(stcb, true);
 5683|       |
 5684|       |	/*
 5685|       |	 * The chunk lists and such SHOULD be empty but we check them just
 5686|       |	 * in case.
 5687|       |	 */
 5688|       |	/* anything on the wheel needs to be removed */
 5689|  2.90M|	for (i = 0; i < asoc->streamoutcnt; i++) {
  ------------------
  |  Branch (5689:14): [True: 2.89M, False: 11.5k]
  ------------------
 5690|  2.89M|		struct sctp_stream_out *outs;
 5691|       |
 5692|  2.89M|		outs = &asoc->strmout[i];
 5693|       |		/* now clean up any chunks here */
 5694|  2.89M|		TAILQ_FOREACH_SAFE(sp, &outs->outqueue, next, nsp) {
  ------------------
  |  | 1123|  2.89M|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  2.89M|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 64, False: 2.89M]
  |  |  |  Branch (1124:24): [True: 64, False: 0]
  |  |  ------------------
  |  | 1125|  2.89M|              (var) = (tvar))
  ------------------
 5695|     64|			atomic_subtract_int(&asoc->stream_queue_cnt, 1);
  ------------------
  |  |   97|     64|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 5696|     64|			TAILQ_REMOVE(&outs->outqueue, sp, next);
 5697|     64|			stcb->asoc.ss_functions.sctp_ss_remove_from_stream(stcb, asoc, outs, sp);
 5698|     64|			sctp_free_spbufspace(stcb, asoc, sp);
  ------------------
  |  |  270|     64|#define sctp_free_spbufspace(stcb, asoc, sp)  \
  |  |  271|     64|do { \
  |  |  272|     64|	if (sp->data != NULL) { \
  |  |  ------------------
  |  |  |  Branch (272:6): [True: 64, False: 0]
  |  |  ------------------
  |  |  273|     64|		if ((asoc)->total_output_queue_size >= sp->length) { \
  |  |  ------------------
  |  |  |  Branch (273:7): [True: 64, False: 0]
  |  |  ------------------
  |  |  274|     64|			atomic_subtract_int(&(asoc)->total_output_queue_size, sp->length); \
  |  |  ------------------
  |  |  |  |   97|     64|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  275|     64|		} else { \
  |  |  276|      0|			(asoc)->total_output_queue_size = 0; \
  |  |  277|      0|		} \
  |  |  278|     64|		if (stcb->sctp_socket && ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || \
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 64]
  |  |  |  Branch (278:29): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|		    (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (279:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  280|      0|			SCTP_SB_DECR(&stcb->sctp_socket->so_snd, sp->length); \
  |  |  ------------------
  |  |  |  |  967|      0|#define SCTP_SB_DECR(sb, decr)					\
  |  |  |  |  968|      0|{								\
  |  |  |  |  969|      0|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_cc, (int)(decr));	\
  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  |  |  118|      0|{ \
  |  |  |  |  |  |  119|      0|	int32_t oldval; \
  |  |  |  |  |  |  120|      0|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|	if (oldval < val) { \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (121:6): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      0|	} \
  |  |  |  |  |  |  124|      0|}
  |  |  |  |  ------------------
  |  |  |  |  970|      0|}
  |  |  ------------------
  |  |  281|      0|		} \
  |  |  282|     64|	} \
  |  |  283|     64|} while (0)
  |  |  ------------------
  |  |  |  Branch (283:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5699|     64|			if (sp->data) {
  ------------------
  |  Branch (5699:8): [True: 64, False: 0]
  ------------------
 5700|     64|				if (so) {
  ------------------
  |  Branch (5700:9): [True: 0, False: 64]
  ------------------
 5701|       |					/* Still an open socket - report */
 5702|      0|					sctp_ulp_notify(SCTP_NOTIFY_SPECIAL_SP_FAIL, stcb,
  ------------------
  |  |  709|      0|#define SCTP_NOTIFY_SPECIAL_SP_FAIL              7
  ------------------
 5703|      0|					                0, (void *)sp, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5704|      0|				}
 5705|     64|				if (sp->data) {
  ------------------
  |  Branch (5705:9): [True: 64, False: 0]
  ------------------
 5706|     64|					sctp_m_freem(sp->data);
  ------------------
  |  |   52|     64|#define sctp_m_freem m_freem
  ------------------
 5707|     64|					sp->data = NULL;
 5708|     64|					sp->tail_mbuf = NULL;
 5709|     64|					sp->length = 0;
 5710|     64|				}
 5711|     64|			}
 5712|     64|			if (sp->net) {
  ------------------
  |  Branch (5712:8): [True: 0, False: 64]
  ------------------
 5713|      0|				sctp_free_remote_addr(sp->net);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 5714|      0|				sp->net = NULL;
 5715|      0|			}
 5716|     64|			sctp_free_a_strmoq(stcb, sp, SCTP_SO_LOCKED);
  ------------------
  |  |  125|     64|#define sctp_free_a_strmoq(_stcb, _strmoq, _so_locked) { \
  |  |  126|     64|	if ((_strmoq)->holds_key_ref) { \
  |  |  ------------------
  |  |  |  Branch (126:6): [True: 0, False: 64]
  |  |  ------------------
  |  |  127|      0|		sctp_auth_key_release(stcb, sp->auth_keyid, _so_locked); \
  |  |  128|      0|		(_strmoq)->holds_key_ref = 0; \
  |  |  129|      0|	} \
  |  |  130|     64|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_strmoq), (_strmoq)); \
  |  |  ------------------
  |  |  |  |  701|     64|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|     64|	free(element);  \
  |  |  |  |  703|     64|}
  |  |  ------------------
  |  |  131|     64|	SCTP_DECR_STRMOQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  691|     64|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_strmoq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|     64|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  132|     64|}
  ------------------
 5717|     64|		}
 5718|  2.89M|	}
 5719|       |	/*sa_ignore FREED_MEMORY*/
 5720|  11.5k|	TAILQ_FOREACH_SAFE(strrst, &asoc->resetHead, next_resp, nstrrst) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  11.9k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 375, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 375, False: 0]
  |  |  ------------------
  |  | 1125|  11.5k|              (var) = (tvar))
  ------------------
 5721|    375|		TAILQ_REMOVE(&asoc->resetHead, strrst, next_resp);
 5722|    375|		SCTP_FREE(strrst, SCTP_M_STRESET);
  ------------------
  |  |  673|    375|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|    375|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 5723|    375|	}
 5724|  11.5k|	TAILQ_FOREACH_SAFE(sq, &asoc->pending_reply_queue, next, nsq) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  11.7k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 214, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 214, False: 0]
  |  |  ------------------
  |  | 1125|  11.5k|              (var) = (tvar))
  ------------------
 5725|    214|		TAILQ_REMOVE(&asoc->pending_reply_queue, sq, next);
 5726|    214|		if (sq->data) {
  ------------------
  |  Branch (5726:7): [True: 214, False: 0]
  ------------------
 5727|    214|			sctp_m_freem(sq->data);
  ------------------
  |  |   52|    214|#define sctp_m_freem m_freem
  ------------------
 5728|    214|			sq->data = NULL;
 5729|    214|		}
 5730|    214|		sctp_free_remote_addr(sq->whoFrom);
  ------------------
  |  |  228|    214|#define sctp_free_remote_addr(__net) { \
  |  |  229|    214|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 214, False: 0]
  |  |  ------------------
  |  |  230|    214|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|    214|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|    214|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 214]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|    214|	} \
  |  |  245|    214|}
  ------------------
 5731|    214|		sq->whoFrom = NULL;
 5732|    214|		sq->stcb = NULL;
 5733|       |		/* Free the ctl entry */
 5734|    214|		sctp_free_a_readq(stcb, sq);
  ------------------
  |  |  105|    214|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|    214|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 214]
  |  |  ------------------
  |  |  107|    214|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|    214|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|    214|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|    214|	free(element);  \
  |  |  |  |  703|    214|}
  |  |  ------------------
  |  |  109|    214|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|    214|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|    214|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|    214|}
  ------------------
 5735|       |		/*sa_ignore FREED_MEMORY*/
 5736|    214|	}
 5737|  19.5k|	TAILQ_FOREACH_SAFE(chk, &asoc->free_chunks, sctp_next, nchk) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  31.1k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 19.5k, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 19.5k, False: 0]
  |  |  ------------------
  |  | 1125|  19.5k|              (var) = (tvar))
  ------------------
 5738|  19.5k|		TAILQ_REMOVE(&asoc->free_chunks, chk, sctp_next);
 5739|  19.5k|		if (chk->data) {
  ------------------
  |  Branch (5739:7): [True: 0, False: 19.5k]
  ------------------
 5740|      0|			sctp_m_freem(chk->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5741|      0|			chk->data = NULL;
 5742|      0|		}
 5743|  19.5k|		if (chk->holds_key_ref)
  ------------------
  |  Branch (5743:7): [True: 0, False: 19.5k]
  ------------------
 5744|      0|			sctp_auth_key_release(stcb, chk->auth_keyid, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5745|  19.5k|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), chk);
  ------------------
  |  |  701|  19.5k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  19.5k|	free(element);  \
  |  |  703|  19.5k|}
  ------------------
 5746|  19.5k|		SCTP_DECR_CHK_COUNT();
  ------------------
  |  |  679|  19.5k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  ------------------
  |  |  |  |   97|  19.5k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5747|  19.5k|		atomic_subtract_int(&SCTP_BASE_INFO(ipi_free_chunks), 1);
  ------------------
  |  |   97|  19.5k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 5748|  19.5k|		asoc->free_chunk_cnt--;
 5749|       |		/*sa_ignore FREED_MEMORY*/
 5750|  19.5k|	}
 5751|       |	/* pending send queue SHOULD be empty */
 5752|  11.5k|	TAILQ_FOREACH_SAFE(chk, &asoc->send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  13.0k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 1.46k, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 1.46k, False: 0]
  |  |  ------------------
  |  | 1125|  11.5k|              (var) = (tvar))
  ------------------
 5753|  1.46k|		if (asoc->strmout[chk->rec.data.sid].chunks_on_queues > 0) {
  ------------------
  |  Branch (5753:7): [True: 1.46k, False: 0]
  ------------------
 5754|  1.46k|			asoc->strmout[chk->rec.data.sid].chunks_on_queues--;
 5755|  1.46k|#ifdef INVARIANTS
 5756|  1.46k|		} else {
 5757|      0|			panic("No chunks on the queues for sid %u.", chk->rec.data.sid);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5758|      0|#endif
 5759|      0|		}
 5760|  1.46k|		TAILQ_REMOVE(&asoc->send_queue, chk, sctp_next);
 5761|  1.46k|		if (chk->data) {
  ------------------
  |  Branch (5761:7): [True: 1.46k, False: 0]
  ------------------
 5762|  1.46k|			if (so) {
  ------------------
  |  Branch (5762:8): [True: 0, False: 1.46k]
  ------------------
 5763|       |				/* Still a socket? */
 5764|      0|				sctp_ulp_notify(SCTP_NOTIFY_UNSENT_DG_FAIL, stcb,
  ------------------
  |  |  708|      0|#define SCTP_NOTIFY_UNSENT_DG_FAIL               6
  ------------------
 5765|      0|				                0, chk, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5766|      0|			}
 5767|  1.46k|			if (chk->data) {
  ------------------
  |  Branch (5767:8): [True: 1.46k, False: 0]
  ------------------
 5768|  1.46k|				sctp_m_freem(chk->data);
  ------------------
  |  |   52|  1.46k|#define sctp_m_freem m_freem
  ------------------
 5769|  1.46k|				chk->data = NULL;
 5770|  1.46k|			}
 5771|  1.46k|		}
 5772|  1.46k|		if (chk->holds_key_ref)
  ------------------
  |  Branch (5772:7): [True: 0, False: 1.46k]
  ------------------
 5773|      0|			sctp_auth_key_release(stcb, chk->auth_keyid, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5774|  1.46k|		if (chk->whoTo) {
  ------------------
  |  Branch (5774:7): [True: 0, False: 1.46k]
  ------------------
 5775|      0|			sctp_free_remote_addr(chk->whoTo);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 5776|      0|			chk->whoTo = NULL;
 5777|      0|		}
 5778|  1.46k|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), chk);
  ------------------
  |  |  701|  1.46k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  1.46k|	free(element);  \
  |  |  703|  1.46k|}
  ------------------
 5779|  1.46k|		SCTP_DECR_CHK_COUNT();
  ------------------
  |  |  679|  1.46k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  ------------------
  |  |  |  |   97|  1.46k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5780|       |		/*sa_ignore FREED_MEMORY*/
 5781|  1.46k|	}
 5782|       |	/* sent queue SHOULD be empty */
 5783|  11.5k|	TAILQ_FOREACH_SAFE(chk, &asoc->sent_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  15.0k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 3.51k, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 3.51k, False: 0]
  |  |  ------------------
  |  | 1125|  11.5k|              (var) = (tvar))
  ------------------
 5784|  3.51k|		if (chk->sent != SCTP_DATAGRAM_NR_ACKED) {
  ------------------
  |  |  358|  3.51k|#define SCTP_DATAGRAM_NR_ACKED		40010
  ------------------
  |  Branch (5784:7): [True: 3.51k, False: 0]
  ------------------
 5785|  3.51k|			if (asoc->strmout[chk->rec.data.sid].chunks_on_queues > 0) {
  ------------------
  |  Branch (5785:8): [True: 3.51k, False: 0]
  ------------------
 5786|  3.51k|				asoc->strmout[chk->rec.data.sid].chunks_on_queues--;
 5787|  3.51k|#ifdef INVARIANTS
 5788|  3.51k|			} else {
 5789|      0|				panic("No chunks on the queues for sid %u.", chk->rec.data.sid);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5790|      0|#endif
 5791|      0|			}
 5792|  3.51k|		}
 5793|  3.51k|		TAILQ_REMOVE(&asoc->sent_queue, chk, sctp_next);
 5794|  3.51k|		if (chk->data) {
  ------------------
  |  Branch (5794:7): [True: 3.51k, False: 0]
  ------------------
 5795|  3.51k|			if (so) {
  ------------------
  |  Branch (5795:8): [True: 0, False: 3.51k]
  ------------------
 5796|       |				/* Still a socket? */
 5797|      0|				sctp_ulp_notify(SCTP_NOTIFY_SENT_DG_FAIL, stcb,
  ------------------
  |  |  707|      0|#define SCTP_NOTIFY_SENT_DG_FAIL                 5
  ------------------
 5798|      0|				                0, chk, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5799|      0|			}
 5800|  3.51k|			if (chk->data) {
  ------------------
  |  Branch (5800:8): [True: 3.51k, False: 0]
  ------------------
 5801|  3.51k|				sctp_m_freem(chk->data);
  ------------------
  |  |   52|  3.51k|#define sctp_m_freem m_freem
  ------------------
 5802|  3.51k|				chk->data = NULL;
 5803|  3.51k|			}
 5804|  3.51k|		}
 5805|  3.51k|		if (chk->holds_key_ref)
  ------------------
  |  Branch (5805:7): [True: 0, False: 3.51k]
  ------------------
 5806|      0|			sctp_auth_key_release(stcb, chk->auth_keyid, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5807|  3.51k|		sctp_free_remote_addr(chk->whoTo);
  ------------------
  |  |  228|  3.51k|#define sctp_free_remote_addr(__net) { \
  |  |  229|  3.51k|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 3.51k, False: 0]
  |  |  ------------------
  |  |  230|  3.51k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|  3.51k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|  3.51k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 3.51k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|  3.51k|	} \
  |  |  245|  3.51k|}
  ------------------
 5808|  3.51k|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), chk);
  ------------------
  |  |  701|  3.51k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  3.51k|	free(element);  \
  |  |  703|  3.51k|}
  ------------------
 5809|  3.51k|		SCTP_DECR_CHK_COUNT();
  ------------------
  |  |  679|  3.51k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  ------------------
  |  |  |  |   97|  3.51k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5810|       |		/*sa_ignore FREED_MEMORY*/
 5811|  3.51k|	}
 5812|  11.5k|#ifdef INVARIANTS
 5813|  2.90M|	for (i = 0; i < stcb->asoc.streamoutcnt; i++) {
  ------------------
  |  Branch (5813:14): [True: 2.89M, False: 11.5k]
  ------------------
 5814|  2.89M|		if (stcb->asoc.strmout[i].chunks_on_queues > 0) {
  ------------------
  |  Branch (5814:7): [True: 0, False: 2.89M]
  ------------------
 5815|      0|			panic("%u chunks left for stream %u.", stcb->asoc.strmout[i].chunks_on_queues, i);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5816|      0|		}
 5817|  2.89M|	}
 5818|  11.5k|#endif
 5819|       |	/* control queue MAY not be empty */
 5820|  30.6k|	TAILQ_FOREACH_SAFE(chk, &asoc->control_send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  42.1k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 30.6k, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 30.6k, False: 0]
  |  |  ------------------
  |  | 1125|  30.6k|              (var) = (tvar))
  ------------------
 5821|  30.6k|		TAILQ_REMOVE(&asoc->control_send_queue, chk, sctp_next);
 5822|  30.6k|		if (chk->data) {
  ------------------
  |  Branch (5822:7): [True: 30.6k, False: 0]
  ------------------
 5823|  30.6k|			sctp_m_freem(chk->data);
  ------------------
  |  |   52|  30.6k|#define sctp_m_freem m_freem
  ------------------
 5824|  30.6k|			chk->data = NULL;
 5825|  30.6k|		}
 5826|  30.6k|		if (chk->holds_key_ref)
  ------------------
  |  Branch (5826:7): [True: 0, False: 30.6k]
  ------------------
 5827|      0|			sctp_auth_key_release(stcb, chk->auth_keyid, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5828|  30.6k|		sctp_free_remote_addr(chk->whoTo);
  ------------------
  |  |  228|  30.6k|#define sctp_free_remote_addr(__net) { \
  |  |  229|  30.6k|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 11.9k, False: 18.7k]
  |  |  ------------------
  |  |  230|  11.9k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|  11.9k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|  11.9k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 165, False: 11.7k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|    165|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 165, False: 0]
  |  |  ------------------
  |  |  232|    165|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|    165|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|    165|		RT_LOCK(_rt);					\
  |  |  |  |  128|    165|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|    165|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|    165|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 165, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|    165|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|    165|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|    165|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|    165|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|    165|		_rt = NULL;					\
  |  |  |  |  |  |  125|    165|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|    165|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|    165|				(__net)->ro.ro_rt = NULL; \
  |  |  234|    165|			} \
  |  |  235|    165|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 165]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|    165|			(__net)->src_addr_selected = 0; \
  |  |  240|    165|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|    165|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|    165|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|    165|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|    165|	free(element);  \
  |  |  |  |  703|    165|}
  |  |  ------------------
  |  |  242|    165|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|    165|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|    165|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|    165|		} \
  |  |  244|  11.9k|	} \
  |  |  245|  30.6k|}
  ------------------
 5829|  30.6k|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), chk);
  ------------------
  |  |  701|  30.6k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  30.6k|	free(element);  \
  |  |  703|  30.6k|}
  ------------------
 5830|  30.6k|		SCTP_DECR_CHK_COUNT();
  ------------------
  |  |  679|  30.6k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  ------------------
  |  |  |  |   97|  30.6k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5831|       |		/*sa_ignore FREED_MEMORY*/
 5832|  30.6k|	}
 5833|       |	/* ASCONF queue MAY not be empty */
 5834|  11.5k|	TAILQ_FOREACH_SAFE(chk, &asoc->asconf_send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  11.5k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  11.5k|              (var) = (tvar))
  ------------------
 5835|      0|		TAILQ_REMOVE(&asoc->asconf_send_queue, chk, sctp_next);
 5836|      0|		if (chk->data) {
  ------------------
  |  Branch (5836:7): [True: 0, False: 0]
  ------------------
 5837|      0|			sctp_m_freem(chk->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5838|      0|			chk->data = NULL;
 5839|      0|		}
 5840|      0|		if (chk->holds_key_ref)
  ------------------
  |  Branch (5840:7): [True: 0, False: 0]
  ------------------
 5841|      0|			sctp_auth_key_release(stcb, chk->auth_keyid, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5842|      0|		sctp_free_remote_addr(chk->whoTo);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 5843|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), chk);
  ------------------
  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|      0|	free(element);  \
  |  |  703|      0|}
  ------------------
 5844|      0|		SCTP_DECR_CHK_COUNT();
  ------------------
  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5845|       |		/*sa_ignore FREED_MEMORY*/
 5846|      0|	}
 5847|  11.5k|	if (asoc->mapping_array) {
  ------------------
  |  Branch (5847:6): [True: 11.5k, False: 0]
  ------------------
 5848|  11.5k|		SCTP_FREE(asoc->mapping_array, SCTP_M_MAP);
  ------------------
  |  |  673|  11.5k|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|  11.5k|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 5849|  11.5k|		asoc->mapping_array = NULL;
 5850|  11.5k|	}
 5851|  11.5k|	if (asoc->nr_mapping_array) {
  ------------------
  |  Branch (5851:6): [True: 11.5k, False: 0]
  ------------------
 5852|  11.5k|		SCTP_FREE(asoc->nr_mapping_array, SCTP_M_MAP);
  ------------------
  |  |  673|  11.5k|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|  11.5k|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 5853|  11.5k|		asoc->nr_mapping_array = NULL;
 5854|  11.5k|	}
 5855|       |	/* the stream outs */
 5856|  11.5k|	if (asoc->strmout) {
  ------------------
  |  Branch (5856:6): [True: 11.5k, False: 0]
  ------------------
 5857|  11.5k|		SCTP_FREE(asoc->strmout, SCTP_M_STRMO);
  ------------------
  |  |  673|  11.5k|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|  11.5k|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 5858|  11.5k|		asoc->strmout = NULL;
 5859|  11.5k|	}
 5860|  11.5k|	asoc->strm_realoutsize = asoc->streamoutcnt = 0;
 5861|  11.5k|	if (asoc->strmin) {
  ------------------
  |  Branch (5861:6): [True: 9.29k, False: 2.26k]
  ------------------
 5862|  2.33M|		for (i = 0; i < asoc->streamincnt; i++) {
  ------------------
  |  Branch (5862:15): [True: 2.32M, False: 9.29k]
  ------------------
 5863|  2.32M|			sctp_clean_up_stream(stcb, &asoc->strmin[i].inqueue);
 5864|  2.32M|			sctp_clean_up_stream(stcb, &asoc->strmin[i].uno_inqueue);
 5865|  2.32M|		}
 5866|  9.29k|		SCTP_FREE(asoc->strmin, SCTP_M_STRMI);
  ------------------
  |  |  673|  9.29k|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|  9.29k|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 5867|  9.29k|		asoc->strmin = NULL;
 5868|  9.29k|	}
 5869|  11.5k|	asoc->streamincnt = 0;
 5870|  16.4k|	TAILQ_FOREACH_SAFE(net, &asoc->nets, sctp_next, nnet) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  28.0k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 16.4k, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 16.4k, False: 0]
  |  |  ------------------
  |  | 1125|  16.4k|              (var) = (tvar))
  ------------------
 5871|  16.4k|#ifdef INVARIANTS
 5872|  16.4k|		if (SCTP_BASE_INFO(ipi_count_raddr) == 0) {
  ------------------
  |  |  581|  16.4k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
  |  Branch (5872:7): [True: 0, False: 16.4k]
  ------------------
 5873|      0|			panic("no net's left alloc'ed, or list points to itself");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5874|      0|		}
 5875|  16.4k|#endif
 5876|  16.4k|		TAILQ_REMOVE(&asoc->nets, net, sctp_next);
 5877|  16.4k|		sctp_free_remote_addr(net);
  ------------------
  |  |  228|  16.4k|#define sctp_free_remote_addr(__net) { \
  |  |  229|  16.4k|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 16.4k, False: 0]
  |  |  ------------------
  |  |  230|  16.4k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|  16.4k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|  16.4k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 14.7k, False: 1.72k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|  14.7k|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 14.7k, False: 0]
  |  |  ------------------
  |  |  232|  14.7k|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|  14.7k|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|  14.7k|		RT_LOCK(_rt);					\
  |  |  |  |  128|  14.7k|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|  14.7k|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|  14.7k|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 14.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|  14.7k|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|  14.7k|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|  14.7k|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|  14.7k|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|  14.7k|		_rt = NULL;					\
  |  |  |  |  |  |  125|  14.7k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|  14.7k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|  14.7k|				(__net)->ro.ro_rt = NULL; \
  |  |  234|  14.7k|			} \
  |  |  235|  14.7k|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 14.7k]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|  14.7k|			(__net)->src_addr_selected = 0; \
  |  |  240|  14.7k|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|  14.7k|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|  14.7k|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|  14.7k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|  14.7k|	free(element);  \
  |  |  |  |  703|  14.7k|}
  |  |  ------------------
  |  |  242|  14.7k|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|  14.7k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|  14.7k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|  14.7k|		} \
  |  |  244|  16.4k|	} \
  |  |  245|  16.4k|}
  ------------------
 5878|  16.4k|	}
 5879|  11.5k|	LIST_FOREACH_SAFE(laddr, &asoc->sctp_restricted_addrs, sctp_nxt_addr, naddr) {
  ------------------
  |  | 1129|  11.5k|         for ((var) = ((head)->lh_first);                      \
  |  | 1130|  11.5k|              (var) && ((tvar) = LIST_NEXT((var), field), 1);  \
  |  |  ------------------
  |  |  |  Branch (1130:15): [True: 0, False: 11.5k]
  |  |  |  Branch (1130:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1131|  11.5k|              (var) = (tvar))
  ------------------
 5880|       |		/*sa_ignore FREED_MEMORY*/
 5881|      0|		sctp_remove_laddr(laddr);
 5882|      0|	}
 5883|       |
 5884|       |	/* pending asconf (address) parameters */
 5885|  11.5k|	TAILQ_FOREACH_SAFE(aparam, &asoc->asconf_queue, next, naparam) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  11.5k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  11.5k|              (var) = (tvar))
  ------------------
 5886|       |		/*sa_ignore FREED_MEMORY*/
 5887|      0|		TAILQ_REMOVE(&asoc->asconf_queue, aparam, next);
 5888|      0|		SCTP_FREE(aparam,SCTP_M_ASC_ADDR);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 5889|      0|	}
 5890|  11.5k|	TAILQ_FOREACH_SAFE(aack, &asoc->asconf_ack_sent, next, naack) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  13.0k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 1.45k, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 1.45k, False: 0]
  |  |  ------------------
  |  | 1125|  11.5k|              (var) = (tvar))
  ------------------
 5891|       |		/*sa_ignore FREED_MEMORY*/
 5892|  1.45k|		TAILQ_REMOVE(&asoc->asconf_ack_sent, aack, next);
 5893|  1.45k|		if (aack->data != NULL) {
  ------------------
  |  Branch (5893:7): [True: 1.45k, False: 0]
  ------------------
 5894|  1.45k|			sctp_m_freem(aack->data);
  ------------------
  |  |   52|  1.45k|#define sctp_m_freem m_freem
  ------------------
 5895|  1.45k|		}
 5896|  1.45k|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_asconf_ack), aack);
  ------------------
  |  |  701|  1.45k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  1.45k|	free(element);  \
  |  |  703|  1.45k|}
  ------------------
 5897|  1.45k|	}
 5898|       |	/* clean up auth stuff */
 5899|  11.5k|	if (asoc->local_hmacs)
  ------------------
  |  Branch (5899:6): [True: 11.5k, False: 0]
  ------------------
 5900|  11.5k|		sctp_free_hmaclist(asoc->local_hmacs);
 5901|  11.5k|	if (asoc->peer_hmacs)
  ------------------
  |  Branch (5901:6): [True: 8.47k, False: 3.08k]
  ------------------
 5902|  8.47k|		sctp_free_hmaclist(asoc->peer_hmacs);
 5903|       |
 5904|  11.5k|	if (asoc->local_auth_chunks)
  ------------------
  |  Branch (5904:6): [True: 11.5k, False: 0]
  ------------------
 5905|  11.5k|		sctp_free_chunklist(asoc->local_auth_chunks);
 5906|  11.5k|	if (asoc->peer_auth_chunks)
  ------------------
  |  Branch (5906:6): [True: 8.57k, False: 2.98k]
  ------------------
 5907|  8.57k|		sctp_free_chunklist(asoc->peer_auth_chunks);
 5908|       |
 5909|  11.5k|	sctp_free_authinfo(&asoc->authinfo);
 5910|       |
 5911|  11.5k|	LIST_FOREACH_SAFE(shared_key, &asoc->shared_keys, next, nshared_key) {
  ------------------
  |  | 1129|  11.5k|         for ((var) = ((head)->lh_first);                      \
  |  | 1130|  23.1k|              (var) && ((tvar) = LIST_NEXT((var), field), 1);  \
  |  |  ------------------
  |  |  |  Branch (1130:15): [True: 11.5k, False: 11.5k]
  |  |  |  Branch (1130:24): [True: 11.5k, False: 0]
  |  |  ------------------
  |  | 1131|  11.5k|              (var) = (tvar))
  ------------------
 5912|  11.5k|		LIST_REMOVE(shared_key, next);
 5913|  11.5k|		sctp_free_sharedkey(shared_key);
 5914|       |		/*sa_ignore FREED_MEMORY*/
 5915|  11.5k|	}
 5916|       |
 5917|       |	/* Insert new items here :> */
 5918|       |
 5919|       |	/* Get rid of LOCK */
 5920|  11.5k|	SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|  11.5k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5921|  11.5k|	SCTP_TCB_LOCK_DESTROY(stcb);
  ------------------
  |  |  456|  11.5k|	(void)pthread_mutex_destroy(&(_tcb)->tcb_mtx)
  ------------------
 5922|  11.5k|	if (from_inpcbfree == SCTP_NORMAL_PROC) {
  ------------------
  |  |  808|  11.5k|#define SCTP_NORMAL_PROC      0
  ------------------
  |  Branch (5922:6): [True: 1.71k, False: 9.84k]
  ------------------
 5923|  1.71k|		SCTP_INP_INFO_WUNLOCK();
  ------------------
  |  |  301|  1.71k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.71k|	do {                         \
  |  |  |  |  113|  1.71k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.71k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.71k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5924|  1.71k|		SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|  1.71k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.71k|	do {                         \
  |  |  |  |  113|  1.71k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.71k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.71k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5925|  1.71k|	}
 5926|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5927|       |	/* TEMP CODE */
 5928|       |	stcb->freed_from_where = from_location;
 5929|       |#endif
 5930|       |#ifdef SCTP_TRACK_FREED_ASOCS
 5931|       |	if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
 5932|       |		/* now clean up the tasoc itself */
 5933|       |		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_asoc), stcb);
 5934|       |		SCTP_DECR_ASOC_COUNT();
 5935|       |	} else {
 5936|       |		LIST_INSERT_HEAD(&inp->sctp_asoc_free_list, stcb, sctp_tcblist);
 5937|       |	}
 5938|       |#else
 5939|  11.5k|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_asoc), stcb);
  ------------------
  |  |  701|  11.5k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  11.5k|	free(element);  \
  |  |  703|  11.5k|}
  ------------------
 5940|  11.5k|	SCTP_DECR_ASOC_COUNT();
  ------------------
  |  |  661|  11.5k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_asoc), 1)
  |  |  ------------------
  |  |  |  |   97|  11.5k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5941|  11.5k|#endif
 5942|  11.5k|	if (from_inpcbfree == SCTP_NORMAL_PROC) {
  ------------------
  |  |  808|  11.5k|#define SCTP_NORMAL_PROC      0
  ------------------
  |  Branch (5942:6): [True: 1.71k, False: 9.84k]
  ------------------
 5943|  1.71k|		if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
  ------------------
  |  |  549|  1.71k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (5943:7): [True: 21, False: 1.69k]
  ------------------
 5944|       |			/* If its NOT the inp_free calling us AND
 5945|       |			 * sctp_close as been called, we
 5946|       |			 * call back...
 5947|       |			 */
 5948|     21|			SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|     21|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     21|	do {                         \
  |  |  |  |  113|     21|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 21]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     21|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5949|       |			/* This will start the kill timer (if we are
 5950|       |			 * the last one) since we hold an increment yet. But
 5951|       |			 * this is the only safe way to do this
 5952|       |			 * since otherwise if the socket closes
 5953|       |			 * at the same time we are here we might
 5954|       |			 * collide in the cleanup.
 5955|       |			 */
 5956|     21|			sctp_inpcb_free(inp,
 5957|     21|					SCTP_FREE_SHOULD_USE_GRACEFUL_CLOSE,
  ------------------
  |  |  870|     21|#define SCTP_FREE_SHOULD_USE_GRACEFUL_CLOSE 0
  ------------------
 5958|     21|					SCTP_CALLED_DIRECTLY_NOCMPSET);
  ------------------
  |  |  865|     21|#define SCTP_CALLED_DIRECTLY_NOCMPSET     0
  ------------------
 5959|     21|			SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|     21|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|     21|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5960|  1.69k|		} else {
 5961|       |			/* The socket is still open. */
 5962|  1.69k|			SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|  1.69k|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|  1.69k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5963|  1.69k|			SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|  1.69k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.69k|	do {                         \
  |  |  |  |  113|  1.69k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.69k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.69k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5964|  1.69k|		}
 5965|  1.71k|	}
 5966|       |	/* destroyed the asoc */
 5967|       |#ifdef SCTP_LOG_CLOSING
 5968|       |	sctp_log_closing(inp, NULL, 11);
 5969|       |#endif
 5970|  11.5k|	return (1);
 5971|  11.5k|}
sctp_pcb_init:
 6532|      1|{
 6533|       |	/*
 6534|       |	 * SCTP initialization for the PCB structures should be called by
 6535|       |	 * the sctp_init() function.
 6536|       |	 */
 6537|      1|	int i;
 6538|      1|	struct timeval tv;
 6539|       |
 6540|      1|	if (SCTP_BASE_VAR(sctp_pcb_initialized) != 0) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (6540:6): [True: 0, False: 1]
  ------------------
 6541|       |		/* error I was called twice */
 6542|      0|		return;
 6543|      0|	}
 6544|      1|	SCTP_BASE_VAR(sctp_pcb_initialized) = 1;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 6545|       |
 6546|      1|#if defined(SCTP_PROCESS_LEVEL_LOCKS)
 6547|      1|#if !defined(_WIN32)
 6548|      1|	pthread_mutexattr_init(&SCTP_BASE_VAR(mtx_attr));
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 6549|      1|	pthread_rwlockattr_init(&SCTP_BASE_VAR(rwlock_attr));
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 6550|      1|#ifdef INVARIANTS
 6551|      1|	pthread_mutexattr_settype(&SCTP_BASE_VAR(mtx_attr), PTHREAD_MUTEX_ERRORCHECK);
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 6552|      1|#endif
 6553|      1|#endif
 6554|      1|#endif
 6555|       |#if defined(SCTP_LOCAL_TRACE_BUF)
 6556|       |#if defined(_WIN32) && !defined(__Userspace__)
 6557|       |	if (SCTP_BASE_SYSCTL(sctp_log) != NULL) {
 6558|       |		memset(SCTP_BASE_SYSCTL(sctp_log), 0, sizeof(struct sctp_log));
 6559|       |	}
 6560|       |#else
 6561|       |	memset(&SCTP_BASE_SYSCTL(sctp_log), 0, sizeof(struct sctp_log));
 6562|       |#endif
 6563|       |#endif
 6564|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6565|       |#if defined(SMP) && defined(SCTP_USE_PERCPU_STAT)
 6566|       |	SCTP_MALLOC(SCTP_BASE_STATS, struct sctpstat *,
 6567|       |		    ((mp_maxid+1) * sizeof(struct sctpstat)),
 6568|       |		    SCTP_M_MCORE);
 6569|       |#endif
 6570|       |#endif
 6571|      1|	(void)SCTP_GETTIME_TIMEVAL(&tv);
  ------------------
  |  |  991|      1|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 6572|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6573|       |#if defined(SMP) && defined(SCTP_USE_PERCPU_STAT)
 6574|       |	memset(SCTP_BASE_STATS, 0, sizeof(struct sctpstat) * (mp_maxid+1));
 6575|       |	SCTP_BASE_STATS[PCPU_GET(cpuid)].sctps_discontinuitytime.tv_sec = (uint32_t)tv.tv_sec;
 6576|       |	SCTP_BASE_STATS[PCPU_GET(cpuid)].sctps_discontinuitytime.tv_usec = (uint32_t)tv.tv_usec;
 6577|       |#else
 6578|       |	memset(&SCTP_BASE_STATS, 0, sizeof(struct sctpstat));
 6579|       |	SCTP_BASE_STAT(sctps_discontinuitytime).tv_sec = (uint32_t)tv.tv_sec;
 6580|       |	SCTP_BASE_STAT(sctps_discontinuitytime).tv_usec = (uint32_t)tv.tv_usec;
 6581|       |#endif
 6582|       |#else
 6583|      1|	memset(&SCTP_BASE_STATS, 0, sizeof(struct sctpstat));
  ------------------
  |  |  582|      1|#define SCTP_BASE_STATS system_base_info.sctpstat
  ------------------
 6584|      1|	SCTP_BASE_STAT(sctps_discontinuitytime).tv_sec = (uint32_t)tv.tv_sec;
  ------------------
  |  |  583|      1|#define SCTP_BASE_STAT(__m)     system_base_info.sctpstat.__m
  ------------------
 6585|      1|	SCTP_BASE_STAT(sctps_discontinuitytime).tv_usec = (uint32_t)tv.tv_usec;
  ------------------
  |  |  583|      1|#define SCTP_BASE_STAT(__m)     system_base_info.sctpstat.__m
  ------------------
 6586|      1|#endif
 6587|       |	/* init the empty list of (All) Endpoints */
 6588|      1|	LIST_INIT(&SCTP_BASE_INFO(listhead));
 6589|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6590|       |	LIST_INIT(&SCTP_BASE_INFO(inplisthead));
 6591|       |#if defined(APPLE_LEOPARD) || defined(APPLE_SNOWLEOPARD) || defined(APPLE_LION) || defined(APPLE_MOUNTAINLION)
 6592|       |	SCTP_BASE_INFO(sctbinfo).listhead = &SCTP_BASE_INFO(inplisthead);
 6593|       |	SCTP_BASE_INFO(sctbinfo).mtx_grp_attr = lck_grp_attr_alloc_init();
 6594|       |	lck_grp_attr_setdefault(SCTP_BASE_INFO(sctbinfo).mtx_grp_attr);
 6595|       |	SCTP_BASE_INFO(sctbinfo).mtx_grp = lck_grp_alloc_init("sctppcb", SCTP_BASE_INFO(sctbinfo).mtx_grp_attr);
 6596|       |	SCTP_BASE_INFO(sctbinfo).mtx_attr = lck_attr_alloc_init();
 6597|       |	lck_attr_setdefault(SCTP_BASE_INFO(sctbinfo).mtx_attr);
 6598|       |#else
 6599|       |	SCTP_BASE_INFO(sctbinfo).ipi_listhead = &SCTP_BASE_INFO(inplisthead);
 6600|       |	SCTP_BASE_INFO(sctbinfo).ipi_lock_grp_attr = lck_grp_attr_alloc_init();
 6601|       |	lck_grp_attr_setdefault(SCTP_BASE_INFO(sctbinfo).ipi_lock_grp_attr);
 6602|       |	SCTP_BASE_INFO(sctbinfo).ipi_lock_grp = lck_grp_alloc_init("sctppcb", SCTP_BASE_INFO(sctbinfo).ipi_lock_grp_attr);
 6603|       |	SCTP_BASE_INFO(sctbinfo).ipi_lock_attr = lck_attr_alloc_init();
 6604|       |	lck_attr_setdefault(SCTP_BASE_INFO(sctbinfo).ipi_lock_attr);
 6605|       |#endif
 6606|       |#if !defined(APPLE_LEOPARD) && !defined(APPLE_SNOWLEOPARD) && !defined(APPLE_LION) && !defined(APPLE_MOUNTAINLION)
 6607|       |	SCTP_BASE_INFO(sctbinfo).ipi_gc = sctp_gc;
 6608|       |	in_pcbinfo_attach(&SCTP_BASE_INFO(sctbinfo));
 6609|       |#endif
 6610|       |#endif
 6611|       |
 6612|       |	/* init the hash table of endpoints */
 6613|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6614|       |	TUNABLE_INT_FETCH("net.inet.sctp.tcbhashsize", &SCTP_BASE_SYSCTL(sctp_hashtblsize));
 6615|       |	TUNABLE_INT_FETCH("net.inet.sctp.pcbhashsize", &SCTP_BASE_SYSCTL(sctp_pcbtblsize));
 6616|       |	TUNABLE_INT_FETCH("net.inet.sctp.chunkscale", &SCTP_BASE_SYSCTL(sctp_chunkscale));
 6617|       |	VALIDATE_LOADER_TUNABLE(sctp_hashtblsize, SCTPCTL_TCBHASHSIZE);
 6618|       |	VALIDATE_LOADER_TUNABLE(sctp_pcbtblsize, SCTPCTL_PCBHASHSIZE);
 6619|       |	VALIDATE_LOADER_TUNABLE(sctp_chunkscale, SCTPCTL_CHUNKSCALE);
 6620|       |#endif
 6621|      1|	SCTP_BASE_INFO(sctp_asochash) = SCTP_HASH_INIT((SCTP_BASE_SYSCTL(sctp_hashtblsize) * 31),
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	SCTP_BASE_INFO(sctp_asochash) = SCTP_HASH_INIT((SCTP_BASE_SYSCTL(sctp_hashtblsize) * 31),
  ------------------
  |  |  759|      1|#define SCTP_HASH_INIT(size, hashmark) sctp_hashinit_flags(size, M_PCB, hashmark, HASH_NOWAIT)
  |  |  ------------------
  |  |  |  |  755|      1|#define HASH_NOWAIT 0x00000001
  |  |  ------------------
  ------------------
 6622|      1|						       &SCTP_BASE_INFO(hashasocmark));
 6623|      1|	SCTP_BASE_INFO(sctp_ephash) = SCTP_HASH_INIT(SCTP_BASE_SYSCTL(sctp_hashtblsize),
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	SCTP_BASE_INFO(sctp_ephash) = SCTP_HASH_INIT(SCTP_BASE_SYSCTL(sctp_hashtblsize),
  ------------------
  |  |  759|      1|#define SCTP_HASH_INIT(size, hashmark) sctp_hashinit_flags(size, M_PCB, hashmark, HASH_NOWAIT)
  |  |  ------------------
  |  |  |  |  755|      1|#define HASH_NOWAIT 0x00000001
  |  |  ------------------
  ------------------
 6624|      1|						     &SCTP_BASE_INFO(hashmark));
 6625|      1|	SCTP_BASE_INFO(sctp_tcpephash) = SCTP_HASH_INIT(SCTP_BASE_SYSCTL(sctp_hashtblsize),
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	SCTP_BASE_INFO(sctp_tcpephash) = SCTP_HASH_INIT(SCTP_BASE_SYSCTL(sctp_hashtblsize),
  ------------------
  |  |  759|      1|#define SCTP_HASH_INIT(size, hashmark) sctp_hashinit_flags(size, M_PCB, hashmark, HASH_NOWAIT)
  |  |  ------------------
  |  |  |  |  755|      1|#define HASH_NOWAIT 0x00000001
  |  |  ------------------
  ------------------
 6626|      1|							&SCTP_BASE_INFO(hashtcpmark));
 6627|      1|	SCTP_BASE_INFO(hashtblsize) = SCTP_BASE_SYSCTL(sctp_hashtblsize);
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	SCTP_BASE_INFO(hashtblsize) = SCTP_BASE_SYSCTL(sctp_hashtblsize);
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 6628|      1|	SCTP_BASE_INFO(sctp_vrfhash) = SCTP_HASH_INIT(SCTP_SIZE_OF_VRF_HASH,
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	SCTP_BASE_INFO(sctp_vrfhash) = SCTP_HASH_INIT(SCTP_SIZE_OF_VRF_HASH,
  ------------------
  |  |  759|      1|#define SCTP_HASH_INIT(size, hashmark) sctp_hashinit_flags(size, M_PCB, hashmark, HASH_NOWAIT)
  |  |  ------------------
  |  |  |  |  755|      1|#define HASH_NOWAIT 0x00000001
  |  |  ------------------
  ------------------
 6629|      1|						      &SCTP_BASE_INFO(hashvrfmark));
 6630|       |
 6631|      1|	SCTP_BASE_INFO(vrf_ifn_hash) = SCTP_HASH_INIT(SCTP_VRF_IFN_HASH_SIZE,
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	SCTP_BASE_INFO(vrf_ifn_hash) = SCTP_HASH_INIT(SCTP_VRF_IFN_HASH_SIZE,
  ------------------
  |  |  759|      1|#define SCTP_HASH_INIT(size, hashmark) sctp_hashinit_flags(size, M_PCB, hashmark, HASH_NOWAIT)
  |  |  ------------------
  |  |  |  |  755|      1|#define HASH_NOWAIT 0x00000001
  |  |  ------------------
  ------------------
 6632|      1|						      &SCTP_BASE_INFO(vrf_ifn_hashmark));
 6633|       |	/* init the zones */
 6634|       |	/*
 6635|       |	 * FIX ME: Should check for NULL returns, but if it does fail we are
 6636|       |	 * doomed to panic anyways... add later maybe.
 6637|       |	 */
 6638|      1|	SCTP_ZONE_INIT(SCTP_BASE_INFO(ipi_zone_ep), "sctp_ep",
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
 6639|      1|		       sizeof(struct sctp_inpcb), maxsockets);
 6640|       |
 6641|      1|	SCTP_ZONE_INIT(SCTP_BASE_INFO(ipi_zone_asoc), "sctp_asoc",
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
 6642|      1|		       sizeof(struct sctp_tcb), sctp_max_number_of_assoc);
 6643|       |
 6644|      1|	SCTP_ZONE_INIT(SCTP_BASE_INFO(ipi_zone_laddr), "sctp_laddr",
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
 6645|      1|		       sizeof(struct sctp_laddr),
 6646|      1|		       (sctp_max_number_of_assoc * sctp_scale_up_for_address));
 6647|       |
 6648|      1|	SCTP_ZONE_INIT(SCTP_BASE_INFO(ipi_zone_net), "sctp_raddr",
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
 6649|      1|		       sizeof(struct sctp_nets),
 6650|      1|		       (sctp_max_number_of_assoc * sctp_scale_up_for_address));
 6651|       |
 6652|      1|	SCTP_ZONE_INIT(SCTP_BASE_INFO(ipi_zone_chunk), "sctp_chunk",
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
 6653|      1|		       sizeof(struct sctp_tmit_chunk),
 6654|      1|		       (sctp_max_number_of_assoc * SCTP_BASE_SYSCTL(sctp_chunkscale)));
 6655|       |
 6656|      1|	SCTP_ZONE_INIT(SCTP_BASE_INFO(ipi_zone_readq), "sctp_readq",
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
 6657|      1|		       sizeof(struct sctp_queued_to_read),
 6658|      1|		       (sctp_max_number_of_assoc * SCTP_BASE_SYSCTL(sctp_chunkscale)));
 6659|       |
 6660|      1|	SCTP_ZONE_INIT(SCTP_BASE_INFO(ipi_zone_strmoq), "sctp_stream_msg_out",
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
 6661|      1|		       sizeof(struct sctp_stream_queue_pending),
 6662|      1|		       (sctp_max_number_of_assoc * SCTP_BASE_SYSCTL(sctp_chunkscale)));
 6663|       |
 6664|      1|	SCTP_ZONE_INIT(SCTP_BASE_INFO(ipi_zone_asconf), "sctp_asconf",
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
 6665|      1|		       sizeof(struct sctp_asconf),
 6666|      1|		       (sctp_max_number_of_assoc * SCTP_BASE_SYSCTL(sctp_chunkscale)));
 6667|       |
 6668|      1|	SCTP_ZONE_INIT(SCTP_BASE_INFO(ipi_zone_asconf_ack), "sctp_asconf_ack",
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
 6669|      1|		       sizeof(struct sctp_asconf_ack),
 6670|      1|		       (sctp_max_number_of_assoc * SCTP_BASE_SYSCTL(sctp_chunkscale)));
 6671|       |
 6672|       |	/* Master Lock INIT for info structure */
 6673|      1|	SCTP_INP_INFO_LOCK_INIT();
  ------------------
  |  |  290|      1|	(void)pthread_rwlock_init(&SCTP_BASE_INFO(ipi_ep_mtx), &SCTP_BASE_VAR(rwlock_attr))
  |  |  ------------------
  |  |  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               	(void)pthread_rwlock_init(&SCTP_BASE_INFO(ipi_ep_mtx), &SCTP_BASE_VAR(rwlock_attr))
  |  |  ------------------
  |  |  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  ------------------
 6674|      1|	SCTP_STATLOG_INIT_LOCK();
 6675|       |
 6676|      1|	SCTP_IPI_COUNT_INIT();
 6677|      1|	SCTP_IPI_ADDR_INIT();
  ------------------
  |  |  592|      1|	(void)pthread_rwlock_init(&SCTP_BASE_INFO(ipi_addr_mtx), &SCTP_BASE_VAR(rwlock_attr))
  |  |  ------------------
  |  |  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               	(void)pthread_rwlock_init(&SCTP_BASE_INFO(ipi_addr_mtx), &SCTP_BASE_VAR(rwlock_attr))
  |  |  ------------------
  |  |  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  ------------------
 6678|       |#ifdef SCTP_PACKET_LOGGING
 6679|       |	SCTP_IP_PKTLOG_INIT();
 6680|       |#endif
 6681|      1|	LIST_INIT(&SCTP_BASE_INFO(addr_wq));
 6682|       |
 6683|      1|	SCTP_WQ_ADDR_INIT();
  ------------------
  |  |  272|      1|	(void)pthread_mutex_init(&SCTP_BASE_INFO(wq_addr_mtx), &SCTP_BASE_VAR(mtx_attr))
  |  |  ------------------
  |  |  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               	(void)pthread_mutex_init(&SCTP_BASE_INFO(wq_addr_mtx), &SCTP_BASE_VAR(mtx_attr))
  |  |  ------------------
  |  |  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  ------------------
 6684|       |	/* not sure if we need all the counts */
 6685|      1|	SCTP_BASE_INFO(ipi_count_ep) = 0;
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 6686|       |	/* assoc/tcb zone info */
 6687|      1|	SCTP_BASE_INFO(ipi_count_asoc) = 0;
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 6688|       |	/* local addrlist zone info */
 6689|      1|	SCTP_BASE_INFO(ipi_count_laddr) = 0;
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 6690|       |	/* remote addrlist zone info */
 6691|      1|	SCTP_BASE_INFO(ipi_count_raddr) = 0;
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 6692|       |	/* chunk info */
 6693|      1|	SCTP_BASE_INFO(ipi_count_chunk) = 0;
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 6694|       |
 6695|       |	/* socket queue zone info */
 6696|      1|	SCTP_BASE_INFO(ipi_count_readq) = 0;
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 6697|       |
 6698|       |	/* stream out queue cont */
 6699|      1|	SCTP_BASE_INFO(ipi_count_strmoq) = 0;
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 6700|       |
 6701|      1|	SCTP_BASE_INFO(ipi_free_strmoq) = 0;
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 6702|      1|	SCTP_BASE_INFO(ipi_free_chunks) = 0;
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 6703|       |
 6704|      1|	SCTP_OS_TIMER_INIT(&SCTP_BASE_INFO(addr_wq_timer.timer));
  ------------------
  |  |   92|      1|#define SCTP_OS_TIMER_INIT	sctp_os_timer_init
  ------------------
              	SCTP_OS_TIMER_INIT(&SCTP_BASE_INFO(addr_wq_timer.timer));
  ------------------
  |  |  581|      1|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 6705|       |
 6706|       |	/* Init the TIMEWAIT list */
 6707|     33|	for (i = 0; i < SCTP_STACK_VTAG_HASH_SIZE; i++) {
  ------------------
  |  |  924|     33|#define SCTP_STACK_VTAG_HASH_SIZE   32
  ------------------
  |  Branch (6707:14): [True: 32, False: 1]
  ------------------
 6708|     32|		LIST_INIT(&SCTP_BASE_INFO(vtag_timewait)[i]);
 6709|     32|	}
 6710|      1|#if defined(SCTP_PROCESS_LEVEL_LOCKS)
 6711|       |#if defined(_WIN32)
 6712|       |	InitializeConditionVariable(&sctp_it_ctl.iterator_wakeup);
 6713|       |#else
 6714|      1|	(void)pthread_cond_init(&sctp_it_ctl.iterator_wakeup, NULL);
 6715|      1|#endif
 6716|      1|#endif
 6717|      1|	sctp_startup_iterator();
 6718|       |
 6719|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6720|       |#if defined(SCTP_MCORE_INPUT) && defined(SMP)
 6721|       |	sctp_startup_mcore_threads();
 6722|       |#endif
 6723|       |#endif
 6724|       |
 6725|       |	/*
 6726|       |	 * INIT the default VRF which for BSD is the only one, other O/S's
 6727|       |	 * may have more. But initially they must start with one and then
 6728|       |	 * add the VRF's as addresses are added.
 6729|       |	 */
 6730|      1|	sctp_init_vrf_list(SCTP_DEFAULT_VRF);
  ------------------
  |  |   81|      1|#define SCTP_DEFAULT_VRF 0
  ------------------
 6731|       |#if defined(__FreeBSD__) && !defined(__Userspace__) && defined(SCTP_NOT_YET)
 6732|       |	if (ip_register_flow_handler(sctp_netisr_hdlr, IPPROTO_SCTP)) {
 6733|       |		SCTP_PRINTF("***SCTP- Error can't register netisr handler***\n");
 6734|       |	}
 6735|       |#endif
 6736|      1|#if defined(_SCTP_NEEDS_CALLOUT_) || defined(_USER_SCTP_NEEDS_CALLOUT_)
 6737|       |	/* allocate the lock for the callout/timer queue */
 6738|      1|	SCTP_TIMERQ_LOCK_INIT();
  ------------------
  |  |   64|      1|#define SCTP_TIMERQ_LOCK_INIT()     (void)pthread_mutex_init(&SCTP_BASE_VAR(timer_mtx), &SCTP_BASE_VAR(mtx_attr))
  |  |  ------------------
  |  |  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |               #define SCTP_TIMERQ_LOCK_INIT()     (void)pthread_mutex_init(&SCTP_BASE_VAR(timer_mtx), &SCTP_BASE_VAR(mtx_attr))
  |  |  ------------------
  |  |  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  ------------------
 6739|      1|	TAILQ_INIT(&SCTP_BASE_INFO(callqueue));
 6740|      1|#endif
 6741|      1|#if defined(__Userspace__)
 6742|      1|	mbuf_initialize(NULL);
 6743|      1|	atomic_init();
 6744|      1|#if defined(INET) || defined(INET6)
 6745|      1|	if (start_threads)
  ------------------
  |  Branch (6745:6): [True: 1, False: 0]
  ------------------
 6746|      1|		recv_thread_init();
 6747|      1|#endif
 6748|      1|#endif
 6749|      1|}
sctp_load_addresses_from_init:
 6998|  9.29k|{
 6999|       |	/*
 7000|       |	 * grub through the INIT pulling addresses and loading them to the
 7001|       |	 * nets structure in the asoc. The from address in the mbuf should
 7002|       |	 * also be loaded (if it is not already). This routine can be called
 7003|       |	 * with either INIT or INIT-ACK's as long as the m points to the IP
 7004|       |	 * packet and the offset points to the beginning of the parameters.
 7005|       |	 */
 7006|  9.29k|	struct sctp_inpcb *inp;
 7007|  9.29k|	struct sctp_nets *net, *nnet, *net_tmp;
 7008|  9.29k|	struct sctp_paramhdr *phdr, param_buf;
 7009|  9.29k|	struct sctp_tcb *stcb_tmp;
 7010|  9.29k|	uint16_t ptype, plen;
 7011|  9.29k|	struct sockaddr *sa;
 7012|  9.29k|	uint8_t random_store[SCTP_PARAM_BUFFER_SIZE];
 7013|  9.29k|	struct sctp_auth_random *p_random = NULL;
 7014|  9.29k|	uint16_t random_len = 0;
 7015|  9.29k|	uint8_t hmacs_store[SCTP_PARAM_BUFFER_SIZE];
 7016|  9.29k|	struct sctp_auth_hmac_algo *hmacs = NULL;
 7017|  9.29k|	uint16_t hmacs_len = 0;
 7018|  9.29k|	uint8_t saw_asconf = 0;
 7019|  9.29k|	uint8_t saw_asconf_ack = 0;
 7020|  9.29k|	uint8_t chunks_store[SCTP_PARAM_BUFFER_SIZE];
 7021|  9.29k|	struct sctp_auth_chunk_list *chunks = NULL;
 7022|  9.29k|	uint16_t num_chunks = 0;
 7023|  9.29k|	sctp_key_t *new_key;
 7024|  9.29k|	uint32_t keylen;
 7025|  9.29k|	int got_random = 0, got_hmacs = 0, got_chklist = 0;
 7026|  9.29k|	uint8_t peer_supports_ecn;
 7027|  9.29k|	uint8_t peer_supports_prsctp;
 7028|  9.29k|	uint8_t peer_supports_auth;
 7029|  9.29k|	uint8_t peer_supports_asconf;
 7030|  9.29k|	uint8_t peer_supports_asconf_ack;
 7031|  9.29k|	uint8_t peer_supports_reconfig;
 7032|  9.29k|	uint8_t peer_supports_nrsack;
 7033|  9.29k|	uint8_t peer_supports_pktdrop;
 7034|  9.29k|	uint8_t peer_supports_idata;
 7035|  9.29k|#ifdef INET
 7036|  9.29k|	struct sockaddr_in sin;
 7037|  9.29k|#endif
 7038|  9.29k|#ifdef INET6
 7039|  9.29k|	struct sockaddr_in6 sin6;
 7040|  9.29k|#endif
 7041|       |
 7042|       |	/* First get the destination address setup too. */
 7043|  9.29k|#ifdef INET
 7044|  9.29k|	memset(&sin, 0, sizeof(sin));
 7045|  9.29k|	sin.sin_family = AF_INET;
 7046|       |#ifdef HAVE_SIN_LEN
 7047|       |	sin.sin_len = sizeof(sin);
 7048|       |#endif
 7049|  9.29k|	sin.sin_port = stcb->rport;
 7050|  9.29k|#endif
 7051|  9.29k|#ifdef INET6
 7052|  9.29k|	memset(&sin6, 0, sizeof(sin6));
 7053|  9.29k|	sin6.sin6_family = AF_INET6;
 7054|       |#ifdef HAVE_SIN6_LEN
 7055|       |	sin6.sin6_len = sizeof(struct sockaddr_in6);
 7056|       |#endif
 7057|  9.29k|	sin6.sin6_port = stcb->rport;
 7058|  9.29k|#endif
 7059|  9.29k|	if (altsa) {
  ------------------
  |  Branch (7059:6): [True: 0, False: 9.29k]
  ------------------
 7060|      0|		sa = altsa;
 7061|  9.29k|	} else {
 7062|  9.29k|		sa = src;
 7063|  9.29k|	}
 7064|  9.29k|	peer_supports_idata = 0;
 7065|  9.29k|	peer_supports_ecn = 0;
 7066|  9.29k|	peer_supports_prsctp = 0;
 7067|  9.29k|	peer_supports_auth = 0;
 7068|  9.29k|	peer_supports_asconf = 0;
 7069|  9.29k|	peer_supports_asconf_ack = 0;
 7070|  9.29k|	peer_supports_reconfig = 0;
 7071|  9.29k|	peer_supports_nrsack = 0;
 7072|  9.29k|	peer_supports_pktdrop = 0;
 7073|  9.29k|	TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 7074|       |		/* mark all addresses that we have currently on the list */
 7075|  9.29k|		net->dest_state |= SCTP_ADDR_NOT_IN_ASSOC;
  ------------------
  |  |  485|  9.29k|#define SCTP_ADDR_NOT_IN_ASSOC		0x010
  ------------------
 7076|  9.29k|	}
 7077|       |	/* does the source address already exist? if so skip it */
 7078|  9.29k|	inp = stcb->sctp_ep;
 7079|  9.29k|	atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|  9.29k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 7080|  9.29k|	stcb_tmp = sctp_findassociation_ep_addr(&inp, sa, &net_tmp, dst, stcb);
 7081|  9.29k|	atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|  9.29k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 7082|       |
 7083|  9.29k|	if ((stcb_tmp == NULL && inp == stcb->sctp_ep) || inp == NULL) {
  ------------------
  |  Branch (7083:7): [True: 0, False: 9.29k]
  |  Branch (7083:27): [True: 0, False: 0]
  |  Branch (7083:52): [True: 0, False: 9.29k]
  ------------------
 7084|       |		/* we must add the source address */
 7085|       |		/* no scope set here since we have a tcb already. */
 7086|      0|		switch (sa->sa_family) {
 7087|      0|#ifdef INET
 7088|      0|		case AF_INET:
  ------------------
  |  Branch (7088:3): [True: 0, False: 0]
  ------------------
 7089|      0|			if (stcb->asoc.scope.ipv4_addr_legal) {
  ------------------
  |  Branch (7089:8): [True: 0, False: 0]
  ------------------
 7090|      0|				if (sctp_add_remote_addr(stcb, sa, NULL, port, SCTP_DONOT_SETSCOPE, SCTP_LOAD_ADDR_2)) {
  ------------------
  |  |  822|      0|#define SCTP_DONOT_SETSCOPE 0
  ------------------
              				if (sctp_add_remote_addr(stcb, sa, NULL, port, SCTP_DONOT_SETSCOPE, SCTP_LOAD_ADDR_2)) {
  ------------------
  |  |  817|      0|#define SCTP_LOAD_ADDR_2 2
  ------------------
  |  Branch (7090:9): [True: 0, False: 0]
  ------------------
 7091|      0|					return (-1);
 7092|      0|				}
 7093|      0|			}
 7094|      0|			break;
 7095|      0|#endif
 7096|      0|#ifdef INET6
 7097|      0|		case AF_INET6:
  ------------------
  |  Branch (7097:3): [True: 0, False: 0]
  ------------------
 7098|      0|			if (stcb->asoc.scope.ipv6_addr_legal) {
  ------------------
  |  Branch (7098:8): [True: 0, False: 0]
  ------------------
 7099|      0|				if (sctp_add_remote_addr(stcb, sa, NULL, port, SCTP_DONOT_SETSCOPE, SCTP_LOAD_ADDR_3)) {
  ------------------
  |  |  822|      0|#define SCTP_DONOT_SETSCOPE 0
  ------------------
              				if (sctp_add_remote_addr(stcb, sa, NULL, port, SCTP_DONOT_SETSCOPE, SCTP_LOAD_ADDR_3)) {
  ------------------
  |  |  818|      0|#define SCTP_LOAD_ADDR_3 3
  ------------------
  |  Branch (7099:9): [True: 0, False: 0]
  ------------------
 7100|      0|					return (-2);
 7101|      0|				}
 7102|      0|			}
 7103|      0|			break;
 7104|      0|#endif
 7105|      0|#if defined(__Userspace__)
 7106|      0|		case AF_CONN:
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (7106:3): [True: 0, False: 0]
  ------------------
 7107|      0|			if (stcb->asoc.scope.conn_addr_legal) {
  ------------------
  |  Branch (7107:8): [True: 0, False: 0]
  ------------------
 7108|      0|				if (sctp_add_remote_addr(stcb, sa, NULL, port, SCTP_DONOT_SETSCOPE, SCTP_LOAD_ADDR_3)) {
  ------------------
  |  |  822|      0|#define SCTP_DONOT_SETSCOPE 0
  ------------------
              				if (sctp_add_remote_addr(stcb, sa, NULL, port, SCTP_DONOT_SETSCOPE, SCTP_LOAD_ADDR_3)) {
  ------------------
  |  |  818|      0|#define SCTP_LOAD_ADDR_3 3
  ------------------
  |  Branch (7108:9): [True: 0, False: 0]
  ------------------
 7109|      0|					return (-2);
 7110|      0|				}
 7111|      0|			}
 7112|      0|			break;
 7113|      0|#endif
 7114|      0|		default:
  ------------------
  |  Branch (7114:3): [True: 0, False: 0]
  ------------------
 7115|      0|			break;
 7116|      0|		}
 7117|  9.29k|	} else {
 7118|  9.29k|		if (net_tmp != NULL && stcb_tmp == stcb) {
  ------------------
  |  Branch (7118:7): [True: 9.29k, False: 0]
  |  Branch (7118:26): [True: 9.29k, False: 0]
  ------------------
 7119|  9.29k|			net_tmp->dest_state &= ~SCTP_ADDR_NOT_IN_ASSOC;
  ------------------
  |  |  485|  9.29k|#define SCTP_ADDR_NOT_IN_ASSOC		0x010
  ------------------
 7120|  9.29k|		} else if (stcb_tmp != stcb) {
  ------------------
  |  Branch (7120:14): [True: 0, False: 0]
  ------------------
 7121|       |			/* It belongs to another association? */
 7122|      0|			if (stcb_tmp)
  ------------------
  |  Branch (7122:8): [True: 0, False: 0]
  ------------------
 7123|      0|				SCTP_TCB_UNLOCK(stcb_tmp);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7124|      0|			return (-3);
 7125|      0|		}
 7126|  9.29k|	}
 7127|  9.29k|	if (stcb->asoc.state == 0) {
  ------------------
  |  Branch (7127:6): [True: 0, False: 9.29k]
  ------------------
 7128|       |		/* the assoc was freed? */
 7129|      0|		return (-4);
 7130|      0|	}
 7131|       |	/* now we must go through each of the params. */
 7132|  9.29k|	phdr = sctp_get_next_param(m, offset, &param_buf, sizeof(param_buf));
 7133|   120k|	while (phdr) {
  ------------------
  |  Branch (7133:9): [True: 120k, False: 104]
  ------------------
 7134|   120k|		ptype = ntohs(phdr->param_type);
 7135|   120k|		plen = ntohs(phdr->param_length);
 7136|       |		/*
 7137|       |		 * SCTP_PRINTF("ptype => %0x, plen => %d\n", (uint32_t)ptype,
 7138|       |		 * (int)plen);
 7139|       |		 */
 7140|   120k|		if (offset + plen > limit) {
  ------------------
  |  Branch (7140:7): [True: 25, False: 120k]
  ------------------
 7141|     25|			break;
 7142|     25|		}
 7143|   120k|		if (plen < sizeof(struct sctp_paramhdr)) {
  ------------------
  |  Branch (7143:7): [True: 3, False: 120k]
  ------------------
 7144|      3|			break;
 7145|      3|		}
 7146|   120k|#ifdef INET
 7147|   120k|		if (ptype == SCTP_IPV4_ADDRESS) {
  ------------------
  |  |  394|   120k|#define SCTP_IPV4_ADDRESS		0x0005
  ------------------
  |  Branch (7147:7): [True: 683, False: 119k]
  ------------------
 7148|    683|			if (stcb->asoc.scope.ipv4_addr_legal) {
  ------------------
  |  Branch (7148:8): [True: 0, False: 683]
  ------------------
 7149|      0|				struct sctp_ipv4addr_param *p4, p4_buf;
 7150|       |
 7151|       |				/* ok get the v4 address and check/add */
 7152|      0|				phdr = sctp_get_next_param(m, offset,
 7153|      0|							   (struct sctp_paramhdr *)&p4_buf,
 7154|      0|							   sizeof(p4_buf));
 7155|      0|				if (plen != sizeof(struct sctp_ipv4addr_param) ||
  ------------------
  |  Branch (7155:9): [True: 0, False: 0]
  ------------------
 7156|      0|				    phdr == NULL) {
  ------------------
  |  Branch (7156:9): [True: 0, False: 0]
  ------------------
 7157|      0|					return (-5);
 7158|      0|				}
 7159|      0|				p4 = (struct sctp_ipv4addr_param *)phdr;
 7160|      0|				sin.sin_addr.s_addr = p4->addr;
 7161|      0|				if (IN_MULTICAST(ntohl(sin.sin_addr.s_addr))) {
 7162|       |					/* Skip multi-cast addresses */
 7163|      0|					goto next_param;
 7164|      0|				}
 7165|      0|				if ((sin.sin_addr.s_addr == INADDR_BROADCAST) ||
  ------------------
  |  Branch (7165:9): [True: 0, False: 0]
  ------------------
 7166|      0|				    (sin.sin_addr.s_addr == INADDR_ANY)) {
  ------------------
  |  Branch (7166:9): [True: 0, False: 0]
  ------------------
 7167|      0|					goto next_param;
 7168|      0|				}
 7169|      0|				sa = (struct sockaddr *)&sin;
 7170|      0|				inp = stcb->sctp_ep;
 7171|      0|				atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 7172|      0|				stcb_tmp = sctp_findassociation_ep_addr(&inp, sa, &net,
 7173|      0|									dst, stcb);
 7174|      0|				atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 7175|       |
 7176|      0|				if ((stcb_tmp == NULL && inp == stcb->sctp_ep) ||
  ------------------
  |  Branch (7176:10): [True: 0, False: 0]
  |  Branch (7176:30): [True: 0, False: 0]
  ------------------
 7177|      0|				    inp == NULL) {
  ------------------
  |  Branch (7177:9): [True: 0, False: 0]
  ------------------
 7178|       |					/* we must add the source address */
 7179|       |					/*
 7180|       |					 * no scope set since we have a tcb
 7181|       |					 * already
 7182|       |					 */
 7183|       |
 7184|       |					/*
 7185|       |					 * we must validate the state again
 7186|       |					 * here
 7187|       |					 */
 7188|      0|				add_it_now:
 7189|      0|					if (stcb->asoc.state == 0) {
  ------------------
  |  Branch (7189:10): [True: 0, False: 0]
  ------------------
 7190|       |						/* the assoc was freed? */
 7191|      0|						return (-7);
 7192|      0|					}
 7193|      0|					if (sctp_add_remote_addr(stcb, sa, NULL, port, SCTP_DONOT_SETSCOPE, SCTP_LOAD_ADDR_4)) {
  ------------------
  |  |  822|      0|#define SCTP_DONOT_SETSCOPE 0
  ------------------
              					if (sctp_add_remote_addr(stcb, sa, NULL, port, SCTP_DONOT_SETSCOPE, SCTP_LOAD_ADDR_4)) {
  ------------------
  |  |  819|      0|#define SCTP_LOAD_ADDR_4 4
  ------------------
  |  Branch (7193:10): [True: 0, False: 0]
  ------------------
 7194|      0|						return (-8);
 7195|      0|					}
 7196|      0|				} else if (stcb_tmp == stcb) {
  ------------------
  |  Branch (7196:16): [True: 0, False: 0]
  ------------------
 7197|      0|					if (stcb->asoc.state == 0) {
  ------------------
  |  Branch (7197:10): [True: 0, False: 0]
  ------------------
 7198|       |						/* the assoc was freed? */
 7199|      0|						return (-10);
 7200|      0|					}
 7201|      0|					if (net != NULL) {
  ------------------
  |  Branch (7201:10): [True: 0, False: 0]
  ------------------
 7202|       |						/* clear flag */
 7203|      0|						net->dest_state &=
 7204|      0|							~SCTP_ADDR_NOT_IN_ASSOC;
  ------------------
  |  |  485|      0|#define SCTP_ADDR_NOT_IN_ASSOC		0x010
  ------------------
 7205|      0|					}
 7206|      0|				} else {
 7207|       |					/*
 7208|       |					 * strange, address is in another
 7209|       |					 * assoc? straighten out locks.
 7210|       |					 */
 7211|      0|					if (stcb_tmp) {
  ------------------
  |  Branch (7211:10): [True: 0, False: 0]
  ------------------
 7212|      0|						if (SCTP_GET_STATE(stcb_tmp) == SCTP_STATE_COOKIE_WAIT) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              						if (SCTP_GET_STATE(stcb_tmp) == SCTP_STATE_COOKIE_WAIT) {
  ------------------
  |  |  457|      0|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (7212:11): [True: 0, False: 0]
  ------------------
 7213|      0|							struct mbuf *op_err;
 7214|      0|							char msg[SCTP_DIAG_INFO_LEN];
 7215|       |
 7216|       |							/* in setup state we abort this guy */
 7217|      0|							SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 7218|      0|							              "%s:%d at %s", __FILE__, __LINE__, __func__);
 7219|      0|							op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 7220|      0|							         msg);
 7221|      0|							sctp_abort_an_association(stcb_tmp->sctp_ep,
 7222|      0|							                          stcb_tmp, op_err, false,
 7223|      0|							                          SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 7224|      0|							goto add_it_now;
 7225|      0|						}
 7226|      0|						SCTP_TCB_UNLOCK(stcb_tmp);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7227|      0|					}
 7228|       |
 7229|      0|					if (stcb->asoc.state == 0) {
  ------------------
  |  Branch (7229:10): [True: 0, False: 0]
  ------------------
 7230|       |						/* the assoc was freed? */
 7231|      0|						return (-12);
 7232|      0|					}
 7233|      0|					return (-13);
 7234|      0|				}
 7235|      0|			}
 7236|    683|		} else
 7237|   119k|#endif
 7238|   119k|#ifdef INET6
 7239|   119k|		if (ptype == SCTP_IPV6_ADDRESS) {
  ------------------
  |  |  395|   119k|#define SCTP_IPV6_ADDRESS		0x0006
  ------------------
  |  Branch (7239:7): [True: 95, False: 119k]
  ------------------
 7240|     95|			if (stcb->asoc.scope.ipv6_addr_legal) {
  ------------------
  |  Branch (7240:8): [True: 0, False: 95]
  ------------------
 7241|       |				/* ok get the v6 address and check/add */
 7242|      0|				struct sctp_ipv6addr_param *p6, p6_buf;
 7243|       |
 7244|      0|				phdr = sctp_get_next_param(m, offset,
 7245|      0|							   (struct sctp_paramhdr *)&p6_buf,
 7246|      0|							   sizeof(p6_buf));
 7247|      0|				if (plen != sizeof(struct sctp_ipv6addr_param) ||
  ------------------
  |  Branch (7247:9): [True: 0, False: 0]
  ------------------
 7248|      0|				    phdr == NULL) {
  ------------------
  |  Branch (7248:9): [True: 0, False: 0]
  ------------------
 7249|      0|					return (-14);
 7250|      0|				}
 7251|      0|				p6 = (struct sctp_ipv6addr_param *)phdr;
 7252|      0|				memcpy((caddr_t)&sin6.sin6_addr, p6->addr,
 7253|      0|				       sizeof(p6->addr));
 7254|      0|				if (IN6_IS_ADDR_MULTICAST(&sin6.sin6_addr)) {
 7255|       |					/* Skip multi-cast addresses */
 7256|      0|					goto next_param;
 7257|      0|				}
 7258|      0|				if (IN6_IS_ADDR_LINKLOCAL(&sin6.sin6_addr)) {
 7259|       |					/* Link local make no sense without scope */
 7260|      0|					goto next_param;
 7261|      0|				}
 7262|      0|				sa = (struct sockaddr *)&sin6;
 7263|      0|				inp = stcb->sctp_ep;
 7264|      0|				atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 7265|      0|				stcb_tmp = sctp_findassociation_ep_addr(&inp, sa, &net,
 7266|      0|									dst, stcb);
 7267|      0|				atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 7268|      0|				if (stcb_tmp == NULL &&
  ------------------
  |  Branch (7268:9): [True: 0, False: 0]
  ------------------
 7269|      0|				    (inp == stcb->sctp_ep || inp == NULL)) {
  ------------------
  |  Branch (7269:10): [True: 0, False: 0]
  |  Branch (7269:34): [True: 0, False: 0]
  ------------------
 7270|       |					/*
 7271|       |					 * we must validate the state again
 7272|       |					 * here
 7273|       |					 */
 7274|      0|				add_it_now6:
 7275|      0|					if (stcb->asoc.state == 0) {
  ------------------
  |  Branch (7275:10): [True: 0, False: 0]
  ------------------
 7276|       |						/* the assoc was freed? */
 7277|      0|						return (-16);
 7278|      0|					}
 7279|       |					/*
 7280|       |					 * we must add the address, no scope
 7281|       |					 * set
 7282|       |					 */
 7283|      0|					if (sctp_add_remote_addr(stcb, sa, NULL, port, SCTP_DONOT_SETSCOPE, SCTP_LOAD_ADDR_5)) {
  ------------------
  |  |  822|      0|#define SCTP_DONOT_SETSCOPE 0
  ------------------
              					if (sctp_add_remote_addr(stcb, sa, NULL, port, SCTP_DONOT_SETSCOPE, SCTP_LOAD_ADDR_5)) {
  ------------------
  |  |  820|      0|#define SCTP_LOAD_ADDR_5 5
  ------------------
  |  Branch (7283:10): [True: 0, False: 0]
  ------------------
 7284|      0|						return (-17);
 7285|      0|					}
 7286|      0|				} else if (stcb_tmp == stcb) {
  ------------------
  |  Branch (7286:16): [True: 0, False: 0]
  ------------------
 7287|       |					/*
 7288|       |					 * we must validate the state again
 7289|       |					 * here
 7290|       |					 */
 7291|      0|					if (stcb->asoc.state == 0) {
  ------------------
  |  Branch (7291:10): [True: 0, False: 0]
  ------------------
 7292|       |						/* the assoc was freed? */
 7293|      0|						return (-19);
 7294|      0|					}
 7295|      0|					if (net != NULL) {
  ------------------
  |  Branch (7295:10): [True: 0, False: 0]
  ------------------
 7296|       |						/* clear flag */
 7297|      0|						net->dest_state &=
 7298|      0|							~SCTP_ADDR_NOT_IN_ASSOC;
  ------------------
  |  |  485|      0|#define SCTP_ADDR_NOT_IN_ASSOC		0x010
  ------------------
 7299|      0|					}
 7300|      0|				} else {
 7301|       |					/*
 7302|       |					 * strange, address is in another
 7303|       |					 * assoc? straighten out locks.
 7304|       |					 */
 7305|      0|					if (stcb_tmp) {
  ------------------
  |  Branch (7305:10): [True: 0, False: 0]
  ------------------
 7306|      0|						if (SCTP_GET_STATE(stcb_tmp) == SCTP_STATE_COOKIE_WAIT) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              						if (SCTP_GET_STATE(stcb_tmp) == SCTP_STATE_COOKIE_WAIT) {
  ------------------
  |  |  457|      0|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (7306:11): [True: 0, False: 0]
  ------------------
 7307|      0|							struct mbuf *op_err;
 7308|      0|							char msg[SCTP_DIAG_INFO_LEN];
 7309|       |
 7310|       |							/* in setup state we abort this guy */
 7311|      0|							SCTP_SNPRINTF(msg, sizeof(msg),
  ------------------
  |  |  814|      0|	if (snprintf(data, __VA_ARGS__) < 0) {					\
  |  |  ------------------
  |  |  |  Branch (814:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  815|      0|		data[0] = '\0';							\
  |  |  816|      0|	}
  ------------------
 7312|      0|							              "%s:%d at %s", __FILE__, __LINE__, __func__);
 7313|      0|							op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 7314|      0|							         msg);
 7315|      0|							sctp_abort_an_association(stcb_tmp->sctp_ep,
 7316|      0|							                          stcb_tmp, op_err, false,
 7317|      0|							                          SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 7318|      0|							goto add_it_now6;
 7319|      0|						}
 7320|      0|						SCTP_TCB_UNLOCK(stcb_tmp);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7321|      0|					}
 7322|      0|					if (stcb->asoc.state == 0) {
  ------------------
  |  Branch (7322:10): [True: 0, False: 0]
  ------------------
 7323|       |						/* the assoc was freed? */
 7324|      0|						return (-21);
 7325|      0|					}
 7326|      0|					return (-22);
 7327|      0|				}
 7328|      0|			}
 7329|     95|		} else
 7330|   119k|#endif
 7331|   119k|		if (ptype == SCTP_ECN_CAPABLE) {
  ------------------
  |  |  416|   119k|#define SCTP_ECN_CAPABLE		0x8000
  ------------------
  |  Branch (7331:7): [True: 13.5k, False: 105k]
  ------------------
 7332|  13.5k|			peer_supports_ecn = 1;
 7333|   105k|		} else if (ptype == SCTP_ULP_ADAPTATION) {
  ------------------
  |  |  435|   105k|#define SCTP_ULP_ADAPTATION		0xc006
  ------------------
  |  Branch (7333:14): [True: 8.46k, False: 97.3k]
  ------------------
 7334|  8.46k|			if (stcb->asoc.state != SCTP_STATE_OPEN) {
  ------------------
  |  |  459|  8.46k|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (7334:8): [True: 8.46k, False: 0]
  ------------------
 7335|  8.46k|				struct sctp_adaptation_layer_indication ai, *aip;
 7336|       |
 7337|  8.46k|				phdr = sctp_get_next_param(m, offset,
 7338|  8.46k|							   (struct sctp_paramhdr *)&ai, sizeof(ai));
 7339|  8.46k|				aip = (struct sctp_adaptation_layer_indication *)phdr;
 7340|  8.46k|				if (aip) {
  ------------------
  |  Branch (7340:9): [True: 8.46k, False: 2]
  ------------------
 7341|  8.46k|					stcb->asoc.peers_adaptation = ntohl(aip->indication);
 7342|  8.46k|					stcb->asoc.adaptation_needed = 1;
 7343|  8.46k|				}
 7344|  8.46k|			}
 7345|  97.3k|		} else if (ptype == SCTP_SET_PRIM_ADDR) {
  ------------------
  |  |  433|  97.3k|#define SCTP_SET_PRIM_ADDR		0xc004
  ------------------
  |  Branch (7345:14): [True: 1.24k, False: 96.1k]
  ------------------
 7346|  1.24k|			struct sctp_asconf_addr_param lstore, *fee;
 7347|  1.24k|			int lptype;
 7348|  1.24k|			struct sockaddr *lsa = NULL;
 7349|  1.24k|#ifdef INET
 7350|  1.24k|			struct sctp_asconf_addrv4_param *fii;
 7351|  1.24k|#endif
 7352|       |
 7353|  1.24k|			if (stcb->asoc.asconf_supported == 0) {
  ------------------
  |  Branch (7353:8): [True: 0, False: 1.24k]
  ------------------
 7354|      0|				return (-100);
 7355|      0|			}
 7356|  1.24k|			if (plen > sizeof(lstore)) {
  ------------------
  |  Branch (7356:8): [True: 0, False: 1.24k]
  ------------------
 7357|      0|				return (-23);
 7358|      0|			}
 7359|  1.24k|			if (plen < sizeof(struct sctp_asconf_addrv4_param)) {
  ------------------
  |  Branch (7359:8): [True: 1, False: 1.24k]
  ------------------
 7360|      1|				return (-101);
 7361|      1|			}
 7362|  1.24k|			phdr = sctp_get_next_param(m, offset,
 7363|  1.24k|						   (struct sctp_paramhdr *)&lstore,
 7364|  1.24k|						   plen);
 7365|  1.24k|			if (phdr == NULL) {
  ------------------
  |  Branch (7365:8): [True: 0, False: 1.24k]
  ------------------
 7366|      0|				return (-24);
 7367|      0|			}
 7368|  1.24k|			fee = (struct sctp_asconf_addr_param *)phdr;
 7369|  1.24k|			lptype = ntohs(fee->addrp.ph.param_type);
 7370|  1.24k|			switch (lptype) {
 7371|      0|#ifdef INET
 7372|    500|			case SCTP_IPV4_ADDRESS:
  ------------------
  |  |  394|    500|#define SCTP_IPV4_ADDRESS		0x0005
  ------------------
  |  Branch (7372:4): [True: 500, False: 744]
  ------------------
 7373|    500|				if (plen !=
  ------------------
  |  Branch (7373:9): [True: 15, False: 485]
  ------------------
 7374|    500|				    sizeof(struct sctp_asconf_addrv4_param)) {
 7375|     15|					SCTP_PRINTF("Sizeof setprim in init/init ack not %d but %d - ignored\n",
  ------------------
  |  |  542|     15|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|     15|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 15]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 7376|     15|						    (int)sizeof(struct sctp_asconf_addrv4_param),
 7377|     15|						    plen);
 7378|    485|				} else {
 7379|    485|					fii = (struct sctp_asconf_addrv4_param *)fee;
 7380|    485|					sin.sin_addr.s_addr = fii->addrp.addr;
 7381|    485|					lsa = (struct sockaddr *)&sin;
 7382|    485|				}
 7383|    500|				break;
 7384|      0|#endif
 7385|      0|#ifdef INET6
 7386|    347|			case SCTP_IPV6_ADDRESS:
  ------------------
  |  |  395|    347|#define SCTP_IPV6_ADDRESS		0x0006
  ------------------
  |  Branch (7386:4): [True: 347, False: 897]
  ------------------
 7387|    347|				if (plen !=
  ------------------
  |  Branch (7387:9): [True: 50, False: 297]
  ------------------
 7388|    347|				    sizeof(struct sctp_asconf_addr_param)) {
 7389|     50|					SCTP_PRINTF("Sizeof setprim (v6) in init/init ack not %d but %d - ignored\n",
  ------------------
  |  |  542|     50|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|     50|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 50]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 7390|     50|						    (int)sizeof(struct sctp_asconf_addr_param),
 7391|     50|						    plen);
 7392|    297|				} else {
 7393|    297|					memcpy(sin6.sin6_addr.s6_addr,
 7394|    297|					       fee->addrp.addr,
 7395|    297|					       sizeof(fee->addrp.addr));
 7396|    297|					lsa = (struct sockaddr *)&sin6;
 7397|    297|				}
 7398|    347|				break;
 7399|      0|#endif
 7400|    397|			default:
  ------------------
  |  Branch (7400:4): [True: 397, False: 847]
  ------------------
 7401|    397|				break;
 7402|  1.24k|			}
 7403|  1.24k|			if (lsa) {
  ------------------
  |  Branch (7403:8): [True: 782, False: 462]
  ------------------
 7404|    782|				(void)sctp_set_primary_addr(stcb, sa, NULL);
 7405|    782|			}
 7406|  96.1k|		} else if (ptype == SCTP_HAS_NAT_SUPPORT) {
  ------------------
  |  |  437|  96.1k|#define SCTP_HAS_NAT_SUPPORT		0xc007
  ------------------
  |  Branch (7406:14): [True: 2.74k, False: 93.3k]
  ------------------
 7407|  2.74k|			stcb->asoc.peer_supports_nat = 1;
 7408|  93.3k|		} else if (ptype == SCTP_PRSCTP_SUPPORTED) {
  ------------------
  |  |  428|  93.3k|#define SCTP_PRSCTP_SUPPORTED		0xc000
  ------------------
  |  Branch (7408:14): [True: 11.0k, False: 82.3k]
  ------------------
 7409|       |			/* Peer supports pr-sctp */
 7410|  11.0k|			peer_supports_prsctp = 1;
 7411|  82.3k|		} else if (ptype == SCTP_ZERO_CHECKSUM_ACCEPTABLE) {
  ------------------
  |  |  417|  82.3k|#define SCTP_ZERO_CHECKSUM_ACCEPTABLE	0x8001
  ------------------
  |  Branch (7411:14): [True: 186, False: 82.1k]
  ------------------
 7412|    186|			struct sctp_zero_checksum_acceptable zero_chksum, *zero_chksum_p;
 7413|       |
 7414|    186|			phdr = sctp_get_next_param(m, offset,
 7415|    186|			                           (struct sctp_paramhdr *)&zero_chksum,
 7416|    186|			                           sizeof(struct sctp_zero_checksum_acceptable));
 7417|    186|			if (phdr != NULL) {
  ------------------
  |  Branch (7417:8): [True: 185, False: 1]
  ------------------
 7418|       |				/*
 7419|       |				 * Only send zero checksums if the upper layer
 7420|       |				 * has enabled the support for the same method
 7421|       |				 * as allowed by the peer.
 7422|       |				 */
 7423|    185|				zero_chksum_p = (struct sctp_zero_checksum_acceptable *)phdr;
 7424|    185|				if ((ntohl(zero_chksum_p->edmid) != SCTP_EDMID_NONE) &&
  ------------------
  |  |  809|    185|#define SCTP_EDMID_NONE             0
  ------------------
  |  Branch (7424:9): [True: 165, False: 20]
  ------------------
 7425|    185|				    (ntohl(zero_chksum_p->edmid) == stcb->asoc.rcv_edmid)) {
  ------------------
  |  Branch (7425:9): [True: 0, False: 165]
  ------------------
 7426|      0|					stcb->asoc.snd_edmid = stcb->asoc.rcv_edmid;
 7427|      0|				}
 7428|    185|			}
 7429|  82.1k|		} else if (ptype == SCTP_SUPPORTED_CHUNK_EXT) {
  ------------------
  |  |  425|  82.1k|#define SCTP_SUPPORTED_CHUNK_EXT	0x8008
  ------------------
  |  Branch (7429:14): [True: 21.5k, False: 60.6k]
  ------------------
 7430|       |			/* A supported extension chunk */
 7431|  21.5k|			struct sctp_supported_chunk_types_param *pr_supported;
 7432|  21.5k|			uint8_t local_store[SCTP_PARAM_BUFFER_SIZE];
 7433|  21.5k|			int num_ent, i;
 7434|       |
 7435|  21.5k|			if (plen > sizeof(local_store)) {
  ------------------
  |  Branch (7435:8): [True: 0, False: 21.5k]
  ------------------
 7436|      0|				return (-35);
 7437|      0|			}
 7438|  21.5k|			phdr = sctp_get_next_param(m, offset,
 7439|  21.5k|						   (struct sctp_paramhdr *)&local_store, plen);
 7440|  21.5k|			if (phdr == NULL) {
  ------------------
  |  Branch (7440:8): [True: 0, False: 21.5k]
  ------------------
 7441|      0|				return (-25);
 7442|      0|			}
 7443|  21.5k|			pr_supported = (struct sctp_supported_chunk_types_param *)phdr;
 7444|  21.5k|			num_ent = plen - sizeof(struct sctp_paramhdr);
 7445|   234k|			for (i = 0; i < num_ent; i++) {
  ------------------
  |  Branch (7445:16): [True: 212k, False: 21.5k]
  ------------------
 7446|   212k|				switch (pr_supported->chunk_types[i]) {
 7447|  11.0k|				case SCTP_ASCONF:
  ------------------
  |  |  492|  11.0k|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (7447:5): [True: 11.0k, False: 201k]
  ------------------
 7448|  11.0k|					peer_supports_asconf = 1;
 7449|  11.0k|					break;
 7450|  22.5k|				case SCTP_ASCONF_ACK:
  ------------------
  |  |  480|  22.5k|#define	SCTP_ASCONF_ACK		0x80
  ------------------
  |  Branch (7450:5): [True: 22.5k, False: 190k]
  ------------------
 7451|  22.5k|					peer_supports_asconf_ack = 1;
 7452|  22.5k|					break;
 7453|  15.4k|				case SCTP_FORWARD_CUM_TSN:
  ------------------
  |  |  490|  15.4k|#define SCTP_FORWARD_CUM_TSN	0xc0
  ------------------
  |  Branch (7453:5): [True: 15.4k, False: 197k]
  ------------------
 7454|  15.4k|					peer_supports_prsctp = 1;
 7455|  15.4k|					break;
 7456|  3.95k|				case SCTP_PACKET_DROPPED:
  ------------------
  |  |  482|  3.95k|#define SCTP_PACKET_DROPPED	0x81
  ------------------
  |  Branch (7456:5): [True: 3.95k, False: 208k]
  ------------------
 7457|  3.95k|					peer_supports_pktdrop = 1;
 7458|  3.95k|					break;
 7459|  2.93k|				case SCTP_NR_SELECTIVE_ACK:
  ------------------
  |  |  475|  2.93k|#define SCTP_NR_SELECTIVE_ACK	0x10
  ------------------
  |  Branch (7459:5): [True: 2.93k, False: 209k]
  ------------------
 7460|  2.93k|					peer_supports_nrsack = 1;
 7461|  2.93k|					break;
 7462|  11.1k|				case SCTP_STREAM_RESET:
  ------------------
  |  |  484|  11.1k|#define SCTP_STREAM_RESET       0x82
  ------------------
  |  Branch (7462:5): [True: 11.1k, False: 201k]
  ------------------
 7463|  11.1k|					peer_supports_reconfig = 1;
 7464|  11.1k|					break;
 7465|  10.6k|				case SCTP_AUTHENTICATION:
  ------------------
  |  |  473|  10.6k|#define SCTP_AUTHENTICATION     0x0f
  ------------------
  |  Branch (7465:5): [True: 10.6k, False: 202k]
  ------------------
 7466|  10.6k|					peer_supports_auth = 1;
 7467|  10.6k|					break;
 7468|  9.16k|				case SCTP_IDATA:
  ------------------
  |  |  477|  9.16k|#define SCTP_IDATA		0x40
  ------------------
  |  Branch (7468:5): [True: 9.16k, False: 203k]
  ------------------
 7469|  9.16k|					peer_supports_idata = 1;
 7470|  9.16k|					break;
 7471|   125k|				default:
  ------------------
  |  Branch (7471:5): [True: 125k, False: 86.9k]
  ------------------
 7472|       |					/* one I have not learned yet */
 7473|   125k|					break;
 7474|   212k|				}
 7475|   212k|			}
 7476|  60.6k|		} else if (ptype == SCTP_RANDOM) {
  ------------------
  |  |  419|  60.6k|#define SCTP_RANDOM			0x8002
  ------------------
  |  Branch (7476:14): [True: 8.52k, False: 52.1k]
  ------------------
 7477|  8.52k|			if (plen > sizeof(random_store))
  ------------------
  |  Branch (7477:8): [True: 0, False: 8.52k]
  ------------------
 7478|      0|				break;
 7479|  8.52k|			if (got_random) {
  ------------------
  |  Branch (7479:8): [True: 86, False: 8.44k]
  ------------------
 7480|       |				/* already processed a RANDOM */
 7481|     86|				goto next_param;
 7482|     86|			}
 7483|  8.44k|			phdr = sctp_get_next_param(m, offset,
 7484|  8.44k|						   (struct sctp_paramhdr *)random_store,
 7485|  8.44k|						   plen);
 7486|  8.44k|			if (phdr == NULL)
  ------------------
  |  Branch (7486:8): [True: 0, False: 8.44k]
  ------------------
 7487|      0|				return (-26);
 7488|  8.44k|			p_random = (struct sctp_auth_random *)phdr;
 7489|  8.44k|			random_len = plen - sizeof(*p_random);
 7490|       |			/* enforce the random length */
 7491|  8.44k|			if (random_len != SCTP_AUTH_RANDOM_SIZE_REQUIRED) {
  ------------------
  |  |   47|  8.44k|#define SCTP_AUTH_RANDOM_SIZE_REQUIRED	32
  ------------------
  |  Branch (7491:8): [True: 11, False: 8.43k]
  ------------------
 7492|     11|				SCTPDBG(SCTP_DEBUG_AUTH1, "SCTP: invalid RANDOM len\n");
 7493|     11|				return (-27);
 7494|     11|			}
 7495|  8.43k|			got_random = 1;
 7496|  52.1k|		} else if (ptype == SCTP_HMAC_LIST) {
  ------------------
  |  |  421|  52.1k|#define SCTP_HMAC_LIST			0x8004
  ------------------
  |  Branch (7496:14): [True: 8.74k, False: 43.3k]
  ------------------
 7497|  8.74k|			uint16_t num_hmacs;
 7498|  8.74k|			uint16_t i;
 7499|       |
 7500|  8.74k|			if (plen > sizeof(hmacs_store))
  ------------------
  |  Branch (7500:8): [True: 1, False: 8.74k]
  ------------------
 7501|      1|				break;
 7502|  8.74k|			if (got_hmacs) {
  ------------------
  |  Branch (7502:8): [True: 245, False: 8.50k]
  ------------------
 7503|       |				/* already processed a HMAC list */
 7504|    245|				goto next_param;
 7505|    245|			}
 7506|  8.50k|			phdr = sctp_get_next_param(m, offset,
 7507|  8.50k|						   (struct sctp_paramhdr *)hmacs_store,
 7508|  8.50k|						   plen);
 7509|  8.50k|			if (phdr == NULL)
  ------------------
  |  Branch (7509:8): [True: 0, False: 8.50k]
  ------------------
 7510|      0|				return (-28);
 7511|  8.50k|			hmacs = (struct sctp_auth_hmac_algo *)phdr;
 7512|  8.50k|			hmacs_len = plen - sizeof(*hmacs);
 7513|  8.50k|			num_hmacs = hmacs_len / sizeof(hmacs->hmac_ids[0]);
 7514|       |			/* validate the hmac list */
 7515|  8.50k|			if (sctp_verify_hmac_param(hmacs, num_hmacs)) {
  ------------------
  |  Branch (7515:8): [True: 26, False: 8.47k]
  ------------------
 7516|     26|				return (-29);
 7517|     26|			}
 7518|  8.47k|			if (stcb->asoc.peer_hmacs != NULL)
  ------------------
  |  Branch (7518:8): [True: 0, False: 8.47k]
  ------------------
 7519|      0|				sctp_free_hmaclist(stcb->asoc.peer_hmacs);
 7520|  8.47k|			stcb->asoc.peer_hmacs = sctp_alloc_hmaclist(num_hmacs);
 7521|  8.47k|			if (stcb->asoc.peer_hmacs != NULL) {
  ------------------
  |  Branch (7521:8): [True: 8.47k, False: 0]
  ------------------
 7522|  29.0k|				for (i = 0; i < num_hmacs; i++) {
  ------------------
  |  Branch (7522:17): [True: 20.5k, False: 8.47k]
  ------------------
 7523|  20.5k|					(void)sctp_auth_add_hmacid(stcb->asoc.peer_hmacs,
 7524|  20.5k|								   ntohs(hmacs->hmac_ids[i]));
 7525|  20.5k|				}
 7526|  8.47k|			}
 7527|  8.47k|			got_hmacs = 1;
 7528|  43.3k|		} else if (ptype == SCTP_CHUNK_LIST) {
  ------------------
  |  |  420|  43.3k|#define SCTP_CHUNK_LIST			0x8003
  ------------------
  |  Branch (7528:14): [True: 10.8k, False: 32.5k]
  ------------------
 7529|  10.8k|			int i;
 7530|       |
 7531|  10.8k|			if (plen > sizeof(chunks_store))
  ------------------
  |  Branch (7531:8): [True: 0, False: 10.8k]
  ------------------
 7532|      0|				break;
 7533|  10.8k|			if (got_chklist) {
  ------------------
  |  Branch (7533:8): [True: 2.25k, False: 8.57k]
  ------------------
 7534|       |				/* already processed a Chunks list */
 7535|  2.25k|				goto next_param;
 7536|  2.25k|			}
 7537|  8.57k|			phdr = sctp_get_next_param(m, offset,
 7538|  8.57k|						   (struct sctp_paramhdr *)chunks_store,
 7539|  8.57k|						   plen);
 7540|  8.57k|			if (phdr == NULL)
  ------------------
  |  Branch (7540:8): [True: 0, False: 8.57k]
  ------------------
 7541|      0|				return (-30);
 7542|  8.57k|			chunks = (struct sctp_auth_chunk_list *)phdr;
 7543|  8.57k|			num_chunks = plen - sizeof(*chunks);
 7544|  8.57k|			if (stcb->asoc.peer_auth_chunks != NULL)
  ------------------
  |  Branch (7544:8): [True: 0, False: 8.57k]
  ------------------
 7545|      0|				sctp_clear_chunklist(stcb->asoc.peer_auth_chunks);
 7546|  8.57k|			else
 7547|  8.57k|				stcb->asoc.peer_auth_chunks = sctp_alloc_chunklist();
 7548|  31.8k|			for (i = 0; i < num_chunks; i++) {
  ------------------
  |  Branch (7548:16): [True: 23.2k, False: 8.57k]
  ------------------
 7549|  23.2k|				(void)sctp_auth_add_chunk(chunks->chunk_types[i],
 7550|  23.2k|							  stcb->asoc.peer_auth_chunks);
 7551|       |				/* record asconf/asconf-ack if listed */
 7552|  23.2k|				if (chunks->chunk_types[i] == SCTP_ASCONF)
  ------------------
  |  |  492|  23.2k|#define SCTP_ASCONF		0xc1
  ------------------
  |  Branch (7552:9): [True: 8.72k, False: 14.5k]
  ------------------
 7553|  8.72k|					saw_asconf = 1;
 7554|  23.2k|				if (chunks->chunk_types[i] == SCTP_ASCONF_ACK)
  ------------------
  |  |  480|  23.2k|#define	SCTP_ASCONF_ACK		0x80
  ------------------
  |  Branch (7554:9): [True: 8.81k, False: 14.4k]
  ------------------
 7555|  8.81k|					saw_asconf_ack = 1;
 7556|  23.2k|			}
 7557|  8.57k|			got_chklist = 1;
 7558|  32.5k|		} else if ((ptype == SCTP_HEARTBEAT_INFO) ||
  ------------------
  |  |  390|  32.5k|#define SCTP_HEARTBEAT_INFO		0x0001
  ------------------
  |  Branch (7558:14): [True: 574, False: 31.9k]
  ------------------
 7559|  32.5k|			   (ptype == SCTP_STATE_COOKIE) ||
  ------------------
  |  |  396|  31.9k|#define SCTP_STATE_COOKIE		0x0007
  ------------------
  |  Branch (7559:7): [True: 10.6k, False: 21.3k]
  ------------------
 7560|  32.5k|			   (ptype == SCTP_UNRECOG_PARAM) ||
  ------------------
  |  |  397|  21.3k|#define SCTP_UNRECOG_PARAM		0x0008
  ------------------
  |  Branch (7560:7): [True: 1.08k, False: 20.2k]
  ------------------
 7561|  32.5k|			   (ptype == SCTP_COOKIE_PRESERVE) ||
  ------------------
  |  |  398|  20.2k|#define SCTP_COOKIE_PRESERVE		0x0009
  ------------------
  |  Branch (7561:7): [True: 202, False: 20.0k]
  ------------------
 7562|  32.5k|			   (ptype == SCTP_SUPPORTED_ADDRTYPE) ||
  ------------------
  |  |  400|  20.0k|#define SCTP_SUPPORTED_ADDRTYPE		0x000c
  ------------------
  |  Branch (7562:7): [True: 1.11k, False: 18.9k]
  ------------------
 7563|  32.5k|			   (ptype == SCTP_ADD_IP_ADDRESS) ||
  ------------------
  |  |  430|  18.9k|#define SCTP_ADD_IP_ADDRESS		0xc001
  ------------------
  |  Branch (7563:7): [True: 664, False: 18.2k]
  ------------------
 7564|  32.5k|			   (ptype == SCTP_DEL_IP_ADDRESS) ||
  ------------------
  |  |  431|  18.2k|#define SCTP_DEL_IP_ADDRESS		0xc002
  ------------------
  |  Branch (7564:7): [True: 988, False: 17.2k]
  ------------------
 7565|  32.5k|			   (ptype == SCTP_ERROR_CAUSE_IND) ||
  ------------------
  |  |  432|  17.2k|#define SCTP_ERROR_CAUSE_IND		0xc003
  ------------------
  |  Branch (7565:7): [True: 954, False: 16.3k]
  ------------------
 7566|  32.5k|			   (ptype == SCTP_SUCCESS_REPORT)) {
  ------------------
  |  |  434|  16.3k|#define SCTP_SUCCESS_REPORT		0xc005
  ------------------
  |  Branch (7566:7): [True: 243, False: 16.0k]
  ------------------
 7567|       |			/* don't care */
 7568|  16.4k|		} else {
 7569|  16.0k|			if ((ptype & 0x8000) == 0x0000) {
  ------------------
  |  Branch (7569:8): [True: 172, False: 15.9k]
  ------------------
 7570|       |				/*
 7571|       |				 * must stop processing the rest of the
 7572|       |				 * param's. Any report bits were handled
 7573|       |				 * with the call to
 7574|       |				 * sctp_arethere_unrecognized_parameters()
 7575|       |				 * when the INIT or INIT-ACK was first seen.
 7576|       |				 */
 7577|    172|				break;
 7578|    172|			}
 7579|  16.0k|		}
 7580|       |
 7581|   119k|	next_param:
 7582|   119k|		offset += SCTP_SIZE32(plen);
  ------------------
  |  |  383|   119k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 7583|   119k|		if (offset >= limit) {
  ------------------
  |  Branch (7583:7): [True: 8.94k, False: 111k]
  ------------------
 7584|  8.94k|			break;
 7585|  8.94k|		}
 7586|   111k|		phdr = sctp_get_next_param(m, offset, &param_buf,
 7587|   111k|		                           sizeof(param_buf));
 7588|   111k|	}
 7589|       |	/* Now check to see if we need to purge any addresses */
 7590|  9.25k|	TAILQ_FOREACH_SAFE(net, &stcb->asoc.nets, sctp_next, nnet) {
  ------------------
  |  | 1123|  9.25k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  18.5k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 9.25k, False: 9.25k]
  |  |  |  Branch (1124:24): [True: 9.25k, False: 0]
  |  |  ------------------
  |  | 1125|  9.25k|              (var) = (tvar))
  ------------------
 7591|  9.25k|		if ((net->dest_state & SCTP_ADDR_NOT_IN_ASSOC) ==
  ------------------
  |  |  485|  9.25k|#define SCTP_ADDR_NOT_IN_ASSOC		0x010
  ------------------
  |  Branch (7591:7): [True: 0, False: 9.25k]
  ------------------
 7592|  9.25k|		    SCTP_ADDR_NOT_IN_ASSOC) {
  ------------------
  |  |  485|  9.25k|#define SCTP_ADDR_NOT_IN_ASSOC		0x010
  ------------------
 7593|       |			/* This address has been removed from the asoc */
 7594|       |			/* remove and free it */
 7595|      0|			stcb->asoc.numnets--;
 7596|      0|			TAILQ_REMOVE(&stcb->asoc.nets, net, sctp_next);
 7597|      0|			if (net == stcb->asoc.alternate) {
  ------------------
  |  Branch (7597:8): [True: 0, False: 0]
  ------------------
 7598|      0|				sctp_free_remote_addr(stcb->asoc.alternate);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 7599|      0|				stcb->asoc.alternate = NULL;
 7600|      0|			}
 7601|      0|			if (net == stcb->asoc.primary_destination) {
  ------------------
  |  Branch (7601:8): [True: 0, False: 0]
  ------------------
 7602|      0|				stcb->asoc.primary_destination = NULL;
 7603|      0|				sctp_select_primary_destination(stcb);
 7604|      0|			}
 7605|      0|			sctp_free_remote_addr(net);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 7606|      0|		}
 7607|  9.25k|	}
 7608|  9.25k|	if ((stcb->asoc.ecn_supported == 1) &&
  ------------------
  |  Branch (7608:6): [True: 9.25k, False: 0]
  ------------------
 7609|  9.25k|	    (peer_supports_ecn == 0)) {
  ------------------
  |  Branch (7609:6): [True: 789, False: 8.46k]
  ------------------
 7610|    789|		stcb->asoc.ecn_supported = 0;
 7611|    789|	}
 7612|  9.25k|	if ((stcb->asoc.prsctp_supported == 1) &&
  ------------------
  |  Branch (7612:6): [True: 9.25k, False: 0]
  ------------------
 7613|  9.25k|	    (peer_supports_prsctp == 0)) {
  ------------------
  |  Branch (7613:6): [True: 740, False: 8.51k]
  ------------------
 7614|    740|		stcb->asoc.prsctp_supported = 0;
 7615|    740|	}
 7616|  9.25k|	if ((stcb->asoc.auth_supported == 1) &&
  ------------------
  |  Branch (7616:6): [True: 9.25k, False: 0]
  ------------------
 7617|  9.25k|	    ((peer_supports_auth == 0) ||
  ------------------
  |  Branch (7617:7): [True: 737, False: 8.51k]
  ------------------
 7618|  9.25k|	     (got_random == 0) || (got_hmacs == 0))) {
  ------------------
  |  Branch (7618:7): [True: 101, False: 8.41k]
  |  Branch (7618:28): [True: 2, False: 8.41k]
  ------------------
 7619|    840|		stcb->asoc.auth_supported = 0;
 7620|    840|	}
 7621|  9.25k|	if ((stcb->asoc.asconf_supported == 1) &&
  ------------------
  |  Branch (7621:6): [True: 9.25k, False: 0]
  ------------------
 7622|  9.25k|	    ((peer_supports_asconf == 0) || (peer_supports_asconf_ack == 0) ||
  ------------------
  |  Branch (7622:7): [True: 762, False: 8.49k]
  |  Branch (7622:38): [True: 35, False: 8.45k]
  ------------------
 7623|  9.25k|	     (stcb->asoc.auth_supported == 0) ||
  ------------------
  |  Branch (7623:7): [True: 61, False: 8.39k]
  ------------------
 7624|  9.25k|	     (saw_asconf == 0) || (saw_asconf_ack == 0))) {
  ------------------
  |  Branch (7624:7): [True: 1, False: 8.39k]
  |  Branch (7624:28): [True: 1, False: 8.39k]
  ------------------
 7625|    860|		stcb->asoc.asconf_supported = 0;
 7626|    860|	}
 7627|  9.25k|	if ((stcb->asoc.reconfig_supported == 1) &&
  ------------------
  |  Branch (7627:6): [True: 9.25k, False: 0]
  ------------------
 7628|  9.25k|	    (peer_supports_reconfig == 0)) {
  ------------------
  |  Branch (7628:6): [True: 797, False: 8.45k]
  ------------------
 7629|    797|		stcb->asoc.reconfig_supported = 0;
 7630|    797|	}
 7631|  9.25k|	if ((stcb->asoc.idata_supported == 1) &&
  ------------------
  |  Branch (7631:6): [True: 5.09k, False: 4.15k]
  ------------------
 7632|  9.25k|	    (peer_supports_idata == 0)) {
  ------------------
  |  Branch (7632:6): [True: 664, False: 4.43k]
  ------------------
 7633|    664|		stcb->asoc.idata_supported = 0;
 7634|    664|	}
 7635|  9.25k|	if ((stcb->asoc.nrsack_supported == 1) &&
  ------------------
  |  Branch (7635:6): [True: 9.25k, False: 0]
  ------------------
 7636|  9.25k|	    (peer_supports_nrsack == 0)) {
  ------------------
  |  Branch (7636:6): [True: 9.16k, False: 91]
  ------------------
 7637|  9.16k|		stcb->asoc.nrsack_supported = 0;
 7638|  9.16k|	}
 7639|  9.25k|	if ((stcb->asoc.pktdrop_supported == 1) &&
  ------------------
  |  Branch (7639:6): [True: 9.25k, False: 0]
  ------------------
 7640|  9.25k|	    (peer_supports_pktdrop == 0)) {
  ------------------
  |  Branch (7640:6): [True: 9.17k, False: 84]
  ------------------
 7641|  9.17k|		stcb->asoc.pktdrop_supported = 0;
 7642|  9.17k|	}
 7643|       |	/* validate authentication required parameters */
 7644|  9.25k|	if ((peer_supports_auth == 0) && (got_chklist == 1)) {
  ------------------
  |  Branch (7644:6): [True: 737, False: 8.51k]
  |  Branch (7644:35): [True: 103, False: 634]
  ------------------
 7645|       |		/* peer does not support auth but sent a chunks list? */
 7646|    103|		return (-31);
 7647|    103|	}
 7648|  9.15k|	if ((peer_supports_asconf == 1) && (peer_supports_auth == 0)) {
  ------------------
  |  Branch (7648:6): [True: 8.48k, False: 663]
  |  Branch (7648:37): [True: 38, False: 8.45k]
  ------------------
 7649|       |		/* peer supports asconf but not auth? */
 7650|     38|		return (-32);
 7651|  9.11k|	} else if ((peer_supports_asconf == 1) &&
  ------------------
  |  Branch (7651:13): [True: 8.45k, False: 663]
  ------------------
 7652|  9.11k|	           (peer_supports_auth == 1) &&
  ------------------
  |  Branch (7652:13): [True: 8.45k, False: 0]
  ------------------
 7653|  9.11k|		   ((saw_asconf == 0) || (saw_asconf_ack == 0))) {
  ------------------
  |  Branch (7653:7): [True: 47, False: 8.40k]
  |  Branch (7653:28): [True: 2, False: 8.40k]
  ------------------
 7654|     49|		return (-33);
 7655|     49|	}
 7656|       |	/* concatenate the full random key */
 7657|  9.06k|	keylen = sizeof(*p_random) + random_len + sizeof(*hmacs) + hmacs_len;
 7658|  9.06k|	if (chunks != NULL) {
  ------------------
  |  Branch (7658:6): [True: 8.43k, False: 627]
  ------------------
 7659|  8.43k|		keylen += sizeof(*chunks) + num_chunks;
 7660|  8.43k|	}
 7661|  9.06k|	new_key = sctp_alloc_key(keylen);
 7662|  9.06k|	if (new_key != NULL) {
  ------------------
  |  Branch (7662:6): [True: 9.06k, False: 0]
  ------------------
 7663|       |		/* copy in the RANDOM */
 7664|  9.06k|		if (p_random != NULL) {
  ------------------
  |  Branch (7664:7): [True: 8.42k, False: 637]
  ------------------
 7665|  8.42k|			keylen = sizeof(*p_random) + random_len;
 7666|  8.42k|			memcpy(new_key->key, p_random, keylen);
 7667|  8.42k|		} else {
 7668|    637|			keylen = 0;
 7669|    637|		}
 7670|       |		/* append in the AUTH chunks */
 7671|  9.06k|		if (chunks != NULL) {
  ------------------
  |  Branch (7671:7): [True: 8.43k, False: 627]
  ------------------
 7672|  8.43k|			memcpy(new_key->key + keylen, chunks,
 7673|  8.43k|			       sizeof(*chunks) + num_chunks);
 7674|  8.43k|			keylen += sizeof(*chunks) + num_chunks;
 7675|  8.43k|		}
 7676|       |		/* append in the HMACs */
 7677|  9.06k|		if (hmacs != NULL) {
  ------------------
  |  Branch (7677:7): [True: 8.46k, False: 603]
  ------------------
 7678|  8.46k|			memcpy(new_key->key + keylen, hmacs,
 7679|  8.46k|			       sizeof(*hmacs) + hmacs_len);
 7680|  8.46k|		}
 7681|  9.06k|	} else {
 7682|       |		/* failed to get memory for the key */
 7683|      0|		return (-34);
 7684|      0|	}
 7685|  9.06k|	if (stcb->asoc.authinfo.peer_random != NULL)
  ------------------
  |  Branch (7685:6): [True: 0, False: 9.06k]
  ------------------
 7686|      0|		sctp_free_key(stcb->asoc.authinfo.peer_random);
 7687|  9.06k|	stcb->asoc.authinfo.peer_random = new_key;
 7688|  9.06k|	sctp_clear_cachedkeys(stcb, stcb->asoc.authinfo.assoc_keyid);
 7689|  9.06k|	sctp_clear_cachedkeys(stcb, stcb->asoc.authinfo.recv_keyid);
 7690|       |
 7691|  9.06k|	return (0);
 7692|  9.06k|}
sctp_set_primary_addr:
 7697|  6.74k|{
 7698|       |	/* make sure the requested primary address exists in the assoc */
 7699|  6.74k|	if (net == NULL && sa)
  ------------------
  |  Branch (7699:6): [True: 6.74k, False: 0]
  |  Branch (7699:21): [True: 6.74k, False: 0]
  ------------------
 7700|  6.74k|		net = sctp_findnet(stcb, sa);
 7701|       |
 7702|  6.74k|	if (net == NULL) {
  ------------------
  |  Branch (7702:6): [True: 3.72k, False: 3.01k]
  ------------------
 7703|       |		/* didn't find the requested primary address! */
 7704|  3.72k|		return (-1);
 7705|  3.72k|	} else {
 7706|       |		/* set the primary address */
 7707|  3.01k|		if (net->dest_state & SCTP_ADDR_UNCONFIRMED) {
  ------------------
  |  |  487|  3.01k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (7707:7): [True: 520, False: 2.49k]
  ------------------
 7708|       |			/* Must be confirmed, so queue to set */
 7709|    520|			net->dest_state |= SCTP_ADDR_REQ_PRIMARY;
  ------------------
  |  |  488|    520|#define SCTP_ADDR_REQ_PRIMARY           0x400
  ------------------
 7710|    520|			return (0);
 7711|    520|		}
 7712|  2.49k|		stcb->asoc.primary_destination = net;
 7713|  2.49k|		if (((net->dest_state & SCTP_ADDR_PF) == 0) &&
  ------------------
  |  |  490|  2.49k|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (7713:7): [True: 2.49k, False: 0]
  ------------------
 7714|  2.49k|		    (stcb->asoc.alternate != NULL)) {
  ------------------
  |  Branch (7714:7): [True: 5, False: 2.49k]
  ------------------
 7715|      5|			sctp_free_remote_addr(stcb->asoc.alternate);
  ------------------
  |  |  228|      5|#define sctp_free_remote_addr(__net) { \
  |  |  229|      5|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 5, False: 0]
  |  |  ------------------
  |  |  230|      5|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      5|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      5|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 5]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      5|	} \
  |  |  245|      5|}
  ------------------
 7716|      5|			stcb->asoc.alternate = NULL;
 7717|      5|		}
 7718|  2.49k|		net = TAILQ_FIRST(&stcb->asoc.nets);
 7719|  2.49k|		if (net != stcb->asoc.primary_destination) {
  ------------------
  |  Branch (7719:7): [True: 587, False: 1.91k]
  ------------------
 7720|       |			/* first one on the list is NOT the primary
 7721|       |			 * sctp_cmpaddr() is much more efficient if
 7722|       |			 * the primary is the first on the list, make it
 7723|       |			 * so.
 7724|       |			 */
 7725|    587|			TAILQ_REMOVE(&stcb->asoc.nets, stcb->asoc.primary_destination, sctp_next);
 7726|    587|			TAILQ_INSERT_HEAD(&stcb->asoc.nets, stcb->asoc.primary_destination, sctp_next);
 7727|    587|		}
 7728|  2.49k|		return (0);
 7729|  2.49k|	}
 7730|  6.74k|}
sctp_is_vtag_good:
 7734|  28.9k|{
 7735|  28.9k|	struct sctpasochead *head;
 7736|  28.9k|	struct sctp_tcb *stcb;
 7737|       |
 7738|  28.9k|	SCTP_INP_INFO_LOCK_ASSERT();
 7739|       |
 7740|  28.9k|	head = &SCTP_BASE_INFO(sctp_asochash)[SCTP_PCBHASH_ASOC(tag, SCTP_BASE_INFO(hashasocmark))];
  ------------------
  |  |  581|  28.9k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	head = &SCTP_BASE_INFO(sctp_asochash)[SCTP_PCBHASH_ASOC(tag, SCTP_BASE_INFO(hashasocmark))];
  ------------------
  |  |   57|  28.9k|#define SCTP_PCBHASH_ASOC(tag, mask) (tag & mask)
  ------------------
 7741|  28.9k|	LIST_FOREACH(stcb, head, sctp_asocs) {
 7742|       |		/* We choose not to lock anything here. TCB's can't be
 7743|       |		 * removed since we have the read lock, so they can't
 7744|       |		 * be freed on us, same thing for the INP. I may
 7745|       |		 * be wrong with this assumption, but we will go
 7746|       |		 * with it for now :-)
 7747|       |		 */
 7748|      9|		if (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) {
  ------------------
  |  |  550|      9|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (7748:7): [True: 0, False: 9]
  ------------------
 7749|      0|			continue;
 7750|      0|		}
 7751|      9|		if (stcb->asoc.my_vtag == tag) {
  ------------------
  |  Branch (7751:7): [True: 0, False: 9]
  ------------------
 7752|       |			/* candidate */
 7753|      0|			if (stcb->rport != rport) {
  ------------------
  |  Branch (7753:8): [True: 0, False: 0]
  ------------------
 7754|      0|				continue;
 7755|      0|			}
 7756|      0|			if (stcb->sctp_ep->sctp_lport != lport) {
  ------------------
  |  |  426|      0|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|      0|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|      0|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (7756:8): [True: 0, False: 0]
  ------------------
 7757|      0|				continue;
 7758|      0|			}
 7759|       |			/* The tag is currently used, so don't use it. */
 7760|      0|			return (false);
 7761|      0|		}
 7762|      9|	}
 7763|  28.9k|	return (!sctp_is_in_timewait(tag, lport, rport, now->tv_sec));
 7764|  28.9k|}
sctp_pcb_add_flags:
 8130|  7.77k|{
 8131|  7.77k|	uint32_t old_flags, new_flags;
 8132|       |
 8133|  7.77k|	do {
 8134|  7.77k|		old_flags = inp->sctp_flags;
 8135|  7.77k|		new_flags = old_flags | flags;
 8136|  7.77k|	} while (atomic_cmpset_int(&inp->sctp_flags, old_flags, new_flags) == 0);
  ------------------
  |  |  113|  7.77k|#define atomic_cmpset_int(dst, exp, src) __sync_bool_compare_and_swap(dst, exp, src)
  ------------------
  |  Branch (8136:11): [True: 0, False: 7.77k]
  ------------------
 8137|  7.77k|}
sctp_pcb.c:sctp_does_stcb_own_this_addr:
  907|  37.4k|{
  908|  37.4k|	int loopback_scope;
  909|  37.4k|#if defined(INET)
  910|  37.4k|	int ipv4_local_scope, ipv4_addr_legal;
  911|  37.4k|#endif
  912|  37.4k|#if defined(INET6)
  913|  37.4k|	int local_scope, site_scope, ipv6_addr_legal;
  914|  37.4k|#endif
  915|  37.4k|#if defined(__Userspace__)
  916|  37.4k|	int conn_addr_legal;
  917|  37.4k|#endif
  918|  37.4k|	struct sctp_vrf *vrf;
  919|  37.4k|	struct sctp_ifn *sctp_ifn;
  920|  37.4k|	struct sctp_ifa *sctp_ifa;
  921|       |
  922|  37.4k|	loopback_scope = stcb->asoc.scope.loopback_scope;
  923|  37.4k|#if defined(INET)
  924|  37.4k|	ipv4_local_scope = stcb->asoc.scope.ipv4_local_scope;
  925|  37.4k|	ipv4_addr_legal = stcb->asoc.scope.ipv4_addr_legal;
  926|  37.4k|#endif
  927|  37.4k|#if defined(INET6)
  928|  37.4k|	local_scope = stcb->asoc.scope.local_scope;
  929|  37.4k|	site_scope = stcb->asoc.scope.site_scope;
  930|  37.4k|	ipv6_addr_legal = stcb->asoc.scope.ipv6_addr_legal;
  931|  37.4k|#endif
  932|  37.4k|#if defined(__Userspace__)
  933|  37.4k|	conn_addr_legal = stcb->asoc.scope.conn_addr_legal;
  934|  37.4k|#endif
  935|       |
  936|  37.4k|	SCTP_IPI_ADDR_RLOCK();
  ------------------
  |  |  597|  37.4k|	KASSERT(pthread_rwlock_rdlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  37.4k|	do {                         \
  |  |  |  |  113|  37.4k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 37.4k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  37.4k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  937|  37.4k|	vrf = sctp_find_vrf(stcb->asoc.vrf_id);
  938|  37.4k|	if (vrf == NULL) {
  ------------------
  |  Branch (938:6): [True: 0, False: 37.4k]
  ------------------
  939|       |		/* no vrf, no addresses */
  940|      0|		SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  941|      0|		return (0);
  942|      0|	}
  943|       |
  944|  37.4k|	if (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_BOUNDALL) {
  ------------------
  |  |  533|  37.4k|#define SCTP_PCB_FLAGS_BOUNDALL		0x00000004
  ------------------
  |  Branch (944:6): [True: 0, False: 37.4k]
  ------------------
  945|      0|		LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
  946|      0|			if ((loopback_scope == 0) &&
  ------------------
  |  Branch (946:8): [True: 0, False: 0]
  ------------------
  947|      0|			    SCTP_IFN_IS_IFT_LOOP(sctp_ifn)) {
  ------------------
  |  |  650|      0|#define SCTP_IFN_IS_IFT_LOOP(ifn) (strncmp((ifn)->ifn_name, "lo", 2) == 0)
  |  |  ------------------
  |  |  |  Branch (650:35): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  948|      0|				continue;
  949|      0|			}
  950|      0|			LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
  951|      0|				if (sctp_is_addr_restricted(stcb, sctp_ifa) &&
  ------------------
  |  Branch (951:9): [True: 0, False: 0]
  ------------------
  952|      0|				    (!sctp_is_addr_pending(stcb, sctp_ifa))) {
  ------------------
  |  Branch (952:9): [True: 0, False: 0]
  ------------------
  953|       |					/* We allow pending addresses, where we
  954|       |					 * have sent an asconf-add to be considered
  955|       |					 * valid.
  956|       |					 */
  957|      0|					continue;
  958|      0|				}
  959|      0|				if (sctp_ifa->address.sa.sa_family != to->sa_family) {
  ------------------
  |  Branch (959:9): [True: 0, False: 0]
  ------------------
  960|      0|					continue;
  961|      0|				}
  962|      0|				switch (sctp_ifa->address.sa.sa_family) {
  963|      0|#ifdef INET
  964|      0|				case AF_INET:
  ------------------
  |  Branch (964:5): [True: 0, False: 0]
  ------------------
  965|      0|					if (ipv4_addr_legal) {
  ------------------
  |  Branch (965:10): [True: 0, False: 0]
  ------------------
  966|      0|						struct sockaddr_in *sin, *rsin;
  967|       |
  968|      0|						sin = &sctp_ifa->address.sin;
  969|      0|						rsin = (struct sockaddr_in *)to;
  970|      0|						if ((ipv4_local_scope == 0) &&
  ------------------
  |  Branch (970:11): [True: 0, False: 0]
  ------------------
  971|      0|						    IN4_ISPRIVATE_ADDRESS(&sin->sin_addr)) {
  ------------------
  |  |  969|      0|   ((((uint8_t *)&(a)->s_addr)[0] == 10) || \
  |  |  ------------------
  |  |  |  Branch (969:5): [True: 0, False: 0]
  |  |  ------------------
  |  |  970|      0|    ((((uint8_t *)&(a)->s_addr)[0] == 172) && \
  |  |  ------------------
  |  |  |  Branch (970:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  971|      0|     (((uint8_t *)&(a)->s_addr)[1] >= 16) && \
  |  |  ------------------
  |  |  |  Branch (971:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  972|      0|     (((uint8_t *)&(a)->s_addr)[1] <= 32)) || \
  |  |  ------------------
  |  |  |  Branch (972:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  973|      0|    ((((uint8_t *)&(a)->s_addr)[0] == 192) && \
  |  |  ------------------
  |  |  |  Branch (973:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  974|      0|     (((uint8_t *)&(a)->s_addr)[1] == 168)))
  |  |  ------------------
  |  |  |  Branch (974:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  972|      0|							continue;
  973|      0|						}
  974|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  975|       |						if (prison_check_ip4(stcb->sctp_ep->ip_inp.inp.inp_cred,
  976|       |						                     &sin->sin_addr) != 0) {
  977|       |							continue;
  978|       |						}
  979|       |#endif
  980|      0|						if (sin->sin_addr.s_addr == rsin->sin_addr.s_addr) {
  ------------------
  |  Branch (980:11): [True: 0, False: 0]
  ------------------
  981|      0|							SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  982|      0|							return (1);
  983|      0|						}
  984|      0|					}
  985|      0|					break;
  986|      0|#endif
  987|      0|#ifdef INET6
  988|      0|				case AF_INET6:
  ------------------
  |  Branch (988:5): [True: 0, False: 0]
  ------------------
  989|      0|					if (ipv6_addr_legal) {
  ------------------
  |  Branch (989:10): [True: 0, False: 0]
  ------------------
  990|      0|						struct sockaddr_in6 *sin6, *rsin6;
  991|       |#if defined(SCTP_EMBEDDED_V6_SCOPE) && !defined(SCTP_KAME)
  992|       |						struct sockaddr_in6 lsa6;
  993|       |#endif
  994|      0|						sin6 = &sctp_ifa->address.sin6;
  995|      0|						rsin6 = (struct sockaddr_in6 *)to;
  996|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  997|       |						if (prison_check_ip6(stcb->sctp_ep->ip_inp.inp.inp_cred,
  998|       |						                     &sin6->sin6_addr) != 0) {
  999|       |							continue;
 1000|       |						}
 1001|       |#endif
 1002|      0|						if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
 1003|      0|							if (local_scope == 0)
  ------------------
  |  Branch (1003:12): [True: 0, False: 0]
  ------------------
 1004|      0|								continue;
 1005|       |#if defined(SCTP_EMBEDDED_V6_SCOPE)
 1006|       |							if (sin6->sin6_scope_id == 0) {
 1007|       |#ifdef SCTP_KAME
 1008|       |								if (sa6_recoverscope(sin6) != 0)
 1009|       |									continue;
 1010|       |#else
 1011|       |								lsa6 = *sin6;
 1012|       |								if (in6_recoverscope(&lsa6,
 1013|       |								                     &lsa6.sin6_addr,
 1014|       |								                     NULL))
 1015|       |									continue;
 1016|       |								sin6 = &lsa6;
 1017|       |#endif /* SCTP_KAME */
 1018|       |							}
 1019|       |#endif /* SCTP_EMBEDDED_V6_SCOPE */
 1020|      0|						}
 1021|      0|						if ((site_scope == 0) &&
  ------------------
  |  Branch (1021:11): [True: 0, False: 0]
  ------------------
 1022|      0|						    (IN6_IS_ADDR_SITELOCAL(&sin6->sin6_addr))) {
  ------------------
  |  Branch (1022:11): [True: 0, False: 0]
  ------------------
 1023|      0|							continue;
 1024|      0|						}
 1025|      0|						if (SCTP6_ARE_ADDR_EQUAL(sin6, rsin6)) {
  ------------------
  |  Branch (1025:11): [True: 0, False: 0]
  ------------------
 1026|      0|							SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1027|      0|							return (1);
 1028|      0|						}
 1029|      0|					}
 1030|      0|					break;
 1031|      0|#endif
 1032|      0|#if defined(__Userspace__)
 1033|      0|				case AF_CONN:
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (1033:5): [True: 0, False: 0]
  ------------------
 1034|      0|					if (conn_addr_legal) {
  ------------------
  |  Branch (1034:10): [True: 0, False: 0]
  ------------------
 1035|      0|						struct sockaddr_conn *sconn, *rsconn;
 1036|       |
 1037|      0|						sconn = &sctp_ifa->address.sconn;
 1038|      0|						rsconn = (struct sockaddr_conn *)to;
 1039|      0|						if (sconn->sconn_addr == rsconn->sconn_addr) {
  ------------------
  |  Branch (1039:11): [True: 0, False: 0]
  ------------------
 1040|      0|							SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1041|      0|							return (1);
 1042|      0|						}
 1043|      0|					}
 1044|      0|					break;
 1045|      0|#endif
 1046|      0|				default:
  ------------------
  |  Branch (1046:5): [True: 0, False: 0]
  ------------------
 1047|       |					/* TSNH */
 1048|      0|					break;
 1049|      0|				}
 1050|      0|			}
 1051|      0|		}
 1052|  37.4k|	} else {
 1053|  37.4k|		struct sctp_laddr *laddr;
 1054|       |
 1055|  37.4k|		LIST_FOREACH(laddr, &stcb->sctp_ep->sctp_addr_list, sctp_nxt_addr) {
 1056|  37.4k|			if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED) {
  ------------------
  |  |   90|  37.4k|#define SCTP_BEING_DELETED      0x00000002	/* being deleted,
  ------------------
  |  Branch (1056:8): [True: 0, False: 37.4k]
  ------------------
 1057|      0|				SCTPDBG(SCTP_DEBUG_PCB1, "ifa being deleted\n");
 1058|      0|				continue;
 1059|      0|			}
 1060|  37.4k|			if (sctp_is_addr_restricted(stcb, laddr->ifa) &&
  ------------------
  |  Branch (1060:8): [True: 0, False: 37.4k]
  ------------------
 1061|  37.4k|			    (!sctp_is_addr_pending(stcb, laddr->ifa))) {
  ------------------
  |  Branch (1061:8): [True: 0, False: 0]
  ------------------
 1062|       |				/* We allow pending addresses, where we
 1063|       |				 * have sent an asconf-add to be considered
 1064|       |				 * valid.
 1065|       |				 */
 1066|      0|				continue;
 1067|      0|			}
 1068|  37.4k|			if (laddr->ifa->address.sa.sa_family != to->sa_family) {
  ------------------
  |  Branch (1068:8): [True: 0, False: 37.4k]
  ------------------
 1069|      0|				continue;
 1070|      0|			}
 1071|  37.4k|			switch (to->sa_family) {
 1072|      0|#ifdef INET
 1073|      0|			case AF_INET:
  ------------------
  |  Branch (1073:4): [True: 0, False: 37.4k]
  ------------------
 1074|      0|			{
 1075|      0|				struct sockaddr_in *sin, *rsin;
 1076|       |
 1077|      0|				sin = &laddr->ifa->address.sin;
 1078|      0|				rsin = (struct sockaddr_in *)to;
 1079|      0|				if (sin->sin_addr.s_addr == rsin->sin_addr.s_addr) {
  ------------------
  |  Branch (1079:9): [True: 0, False: 0]
  ------------------
 1080|      0|					SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1081|      0|					return (1);
 1082|      0|				}
 1083|      0|				break;
 1084|      0|			}
 1085|      0|#endif
 1086|      0|#ifdef INET6
 1087|      0|			case AF_INET6:
  ------------------
  |  Branch (1087:4): [True: 0, False: 37.4k]
  ------------------
 1088|      0|			{
 1089|      0|				struct sockaddr_in6 *sin6, *rsin6;
 1090|       |
 1091|      0|				sin6 = &laddr->ifa->address.sin6;
 1092|      0|				rsin6 = (struct sockaddr_in6 *)to;
 1093|      0|				if (SCTP6_ARE_ADDR_EQUAL(sin6, rsin6)) {
  ------------------
  |  Branch (1093:9): [True: 0, False: 0]
  ------------------
 1094|      0|					SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1095|      0|					return (1);
 1096|      0|				}
 1097|      0|				break;
 1098|      0|			}
 1099|       |
 1100|      0|#endif
 1101|      0|#if defined(__Userspace__)
 1102|  37.4k|			case AF_CONN:
  ------------------
  |  | 1008|  37.4k|#define AF_CONN 123
  ------------------
  |  Branch (1102:4): [True: 37.4k, False: 0]
  ------------------
 1103|  37.4k|			{
 1104|  37.4k|				struct sockaddr_conn *sconn, *rsconn;
 1105|       |
 1106|  37.4k|				sconn = &laddr->ifa->address.sconn;
 1107|  37.4k|				rsconn = (struct sockaddr_conn *)to;
 1108|  37.4k|				if (sconn->sconn_addr == rsconn->sconn_addr) {
  ------------------
  |  Branch (1108:9): [True: 37.4k, False: 0]
  ------------------
 1109|  37.4k|					SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|  37.4k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  37.4k|	do {                         \
  |  |  |  |  113|  37.4k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 37.4k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  37.4k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1110|  37.4k|					return (1);
 1111|  37.4k|				}
 1112|      0|				break;
 1113|  37.4k|			}
 1114|      0|#endif
 1115|      0|			default:
  ------------------
  |  Branch (1115:4): [True: 0, False: 37.4k]
  ------------------
 1116|       |				/* TSNH */
 1117|      0|				break;
 1118|  37.4k|			}
 1119|  37.4k|		}
 1120|  37.4k|	}
 1121|      0|	SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1122|      0|	return (0);
 1123|      0|}
sctp_pcb.c:sctp_endpoint_probe:
 1861|  11.5k|{
 1862|  11.5k|	struct sctp_inpcb *inp;
 1863|  11.5k|	struct sctp_laddr *laddr;
 1864|  11.5k|#ifdef INET
 1865|  11.5k|	struct sockaddr_in *sin;
 1866|  11.5k|#endif
 1867|  11.5k|#ifdef INET6
 1868|  11.5k|	struct sockaddr_in6 *sin6;
 1869|  11.5k|	struct sockaddr_in6 *intf_addr6;
 1870|  11.5k|#endif
 1871|  11.5k|#if defined(__Userspace__)
 1872|  11.5k|	struct sockaddr_conn *sconn;
 1873|  11.5k|#endif
 1874|       |#ifdef SCTP_MVRF
 1875|       |	int i;
 1876|       |#endif
 1877|  11.5k|	int  fnd;
 1878|       |
 1879|  11.5k|#ifdef INET
 1880|  11.5k|	sin = NULL;
 1881|  11.5k|#endif
 1882|  11.5k|#ifdef INET6
 1883|  11.5k|	sin6 = NULL;
 1884|  11.5k|#endif
 1885|  11.5k|#if defined(__Userspace__)
 1886|  11.5k|	sconn = NULL;
 1887|  11.5k|#endif
 1888|  11.5k|	switch (nam->sa_family) {
 1889|      0|#ifdef INET
 1890|      0|	case AF_INET:
  ------------------
  |  Branch (1890:2): [True: 0, False: 11.5k]
  ------------------
 1891|      0|		sin = (struct sockaddr_in *)nam;
 1892|      0|		break;
 1893|      0|#endif
 1894|      0|#ifdef INET6
 1895|      0|	case AF_INET6:
  ------------------
  |  Branch (1895:2): [True: 0, False: 11.5k]
  ------------------
 1896|      0|		sin6 = (struct sockaddr_in6 *)nam;
 1897|      0|		break;
 1898|      0|#endif
 1899|      0|#if defined(__Userspace__)
 1900|  11.5k|	case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (1900:2): [True: 11.5k, False: 0]
  ------------------
 1901|  11.5k|		sconn = (struct sockaddr_conn *)nam;
 1902|  11.5k|		break;
 1903|      0|#endif
 1904|      0|	default:
  ------------------
  |  Branch (1904:2): [True: 0, False: 11.5k]
  ------------------
 1905|       |		/* unsupported family */
 1906|      0|		return (NULL);
 1907|  11.5k|	}
 1908|       |
 1909|  11.5k|	if (head == NULL)
  ------------------
  |  Branch (1909:6): [True: 0, False: 11.5k]
  ------------------
 1910|      0|		return (NULL);
 1911|       |
 1912|  11.5k|	LIST_FOREACH(inp, head, sctp_hash) {
 1913|      0|		SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1914|      0|		if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) {
  ------------------
  |  |  550|      0|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (1914:7): [True: 0, False: 0]
  ------------------
 1915|      0|			SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1916|      0|			continue;
 1917|      0|		}
 1918|      0|		if ((inp->sctp_flags & SCTP_PCB_FLAGS_BOUNDALL) &&
  ------------------
  |  |  533|      0|#define SCTP_PCB_FLAGS_BOUNDALL		0x00000004
  ------------------
  |  Branch (1918:7): [True: 0, False: 0]
  ------------------
 1919|      0|		    (inp->sctp_lport == lport)) {
  ------------------
  |  |  426|      0|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|      0|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|      0|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (1919:7): [True: 0, False: 0]
  ------------------
 1920|       |			/* got it */
 1921|      0|			switch (nam->sa_family) {
 1922|      0|#ifdef INET
 1923|      0|			case AF_INET:
  ------------------
  |  Branch (1923:4): [True: 0, False: 0]
  ------------------
 1924|      0|				if ((inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) &&
  ------------------
  |  |  547|      0|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  |  Branch (1924:9): [True: 0, False: 0]
  ------------------
 1925|      0|				    SCTP_IPV6_V6ONLY(inp)) {
  ------------------
  |  |  948|      0|#define SCTP_IPV6_V6ONLY(sctp_inpcb)	((sctp_inpcb)->ip_inp.inp.inp_flags & IN6P_IPV6_V6ONLY)
  |  |  ------------------
  |  |  |  |  290|      0|#define IN6P_IPV6_V6ONLY	0x008000 /* restrict AF_INET6 socket for v6 */
  |  |  ------------------
  |  |  |  Branch (948:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1926|       |					/* IPv4 on a IPv6 socket with ONLY IPv6 set */
 1927|      0|					SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1928|      0|					continue;
 1929|      0|				}
 1930|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 1931|       |				if (prison_check_ip4(inp->ip_inp.inp.inp_cred,
 1932|       |				                     &sin->sin_addr) != 0) {
 1933|       |					SCTP_INP_RUNLOCK(inp);
 1934|       |					continue;
 1935|       |				}
 1936|       |#endif
 1937|      0|				break;
 1938|      0|#endif
 1939|      0|#ifdef INET6
 1940|      0|			case AF_INET6:
  ------------------
  |  Branch (1940:4): [True: 0, False: 0]
  ------------------
 1941|       |				/* A V6 address and the endpoint is NOT bound V6 */
 1942|      0|				if ((inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) == 0) {
  ------------------
  |  |  547|      0|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  |  Branch (1942:9): [True: 0, False: 0]
  ------------------
 1943|      0|					SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1944|      0|					continue;
 1945|      0|				}
 1946|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 1947|       |				if (prison_check_ip6(inp->ip_inp.inp.inp_cred,
 1948|       |				                     &sin6->sin6_addr) != 0) {
 1949|       |					SCTP_INP_RUNLOCK(inp);
 1950|       |					continue;
 1951|       |				}
 1952|       |#endif
 1953|      0|				break;
 1954|      0|#endif
 1955|      0|			default:
  ------------------
  |  Branch (1955:4): [True: 0, False: 0]
  ------------------
 1956|      0|				break;
 1957|      0|			}
 1958|       |			/* does a VRF id match? */
 1959|      0|			fnd = 0;
 1960|       |#ifdef SCTP_MVRF
 1961|       |			for (i = 0; i < inp->num_vrfs; i++) {
 1962|       |				if (inp->m_vrf_ids[i] == vrf_id) {
 1963|       |					fnd = 1;
 1964|       |					break;
 1965|       |				}
 1966|       |			}
 1967|       |#else
 1968|      0|			if (inp->def_vrf_id == vrf_id)
  ------------------
  |  Branch (1968:8): [True: 0, False: 0]
  ------------------
 1969|      0|				fnd = 1;
 1970|      0|#endif
 1971|       |
 1972|      0|			SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1973|      0|			if (!fnd)
  ------------------
  |  Branch (1973:8): [True: 0, False: 0]
  ------------------
 1974|      0|				continue;
 1975|      0|			return (inp);
 1976|      0|		}
 1977|      0|		SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1978|      0|	}
 1979|  11.5k|	switch (nam->sa_family) {
 1980|      0|#ifdef INET
 1981|      0|	case AF_INET:
  ------------------
  |  Branch (1981:2): [True: 0, False: 11.5k]
  ------------------
 1982|      0|		if (sin->sin_addr.s_addr == INADDR_ANY) {
  ------------------
  |  Branch (1982:7): [True: 0, False: 0]
  ------------------
 1983|       |			/* Can't hunt for one that has no address specified */
 1984|      0|			return (NULL);
 1985|      0|		}
 1986|      0|		break;
 1987|      0|#endif
 1988|      0|#ifdef INET6
 1989|      0|	case AF_INET6:
  ------------------
  |  Branch (1989:2): [True: 0, False: 11.5k]
  ------------------
 1990|      0|		if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
 1991|       |			/* Can't hunt for one that has no address specified */
 1992|      0|			return (NULL);
 1993|      0|		}
 1994|      0|		break;
 1995|      0|#endif
 1996|      0|#if defined(__Userspace__)
 1997|  11.5k|	case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (1997:2): [True: 11.5k, False: 0]
  ------------------
 1998|  11.5k|		if (sconn->sconn_addr == NULL) {
  ------------------
  |  Branch (1998:7): [True: 0, False: 11.5k]
  ------------------
 1999|      0|			return (NULL);
 2000|      0|		}
 2001|  11.5k|		break;
 2002|  11.5k|#endif
 2003|  11.5k|	default:
  ------------------
  |  Branch (2003:2): [True: 0, False: 11.5k]
  ------------------
 2004|      0|		break;
 2005|  11.5k|	}
 2006|       |	/*
 2007|       |	 * ok, not bound to all so see if we can find a EP bound to this
 2008|       |	 * address.
 2009|       |	 */
 2010|  11.5k|	LIST_FOREACH(inp, head, sctp_hash) {
 2011|      0|		SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2012|      0|		if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) {
  ------------------
  |  |  550|      0|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (2012:7): [True: 0, False: 0]
  ------------------
 2013|      0|			SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2014|      0|			continue;
 2015|      0|		}
 2016|      0|		if ((inp->sctp_flags & SCTP_PCB_FLAGS_BOUNDALL)) {
  ------------------
  |  |  533|      0|#define SCTP_PCB_FLAGS_BOUNDALL		0x00000004
  ------------------
  |  Branch (2016:7): [True: 0, False: 0]
  ------------------
 2017|      0|			SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2018|      0|			continue;
 2019|      0|		}
 2020|       |		/*
 2021|       |		 * Ok this could be a likely candidate, look at all of its
 2022|       |		 * addresses
 2023|       |		 */
 2024|      0|		if (inp->sctp_lport != lport) {
  ------------------
  |  |  426|      0|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|      0|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|      0|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (2024:7): [True: 0, False: 0]
  ------------------
 2025|      0|			SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2026|      0|			continue;
 2027|      0|		}
 2028|       |		/* does a VRF id match? */
 2029|      0|		fnd = 0;
 2030|       |#ifdef SCTP_MVRF
 2031|       |		for (i = 0; i < inp->num_vrfs; i++) {
 2032|       |			if (inp->m_vrf_ids[i] == vrf_id) {
 2033|       |				fnd = 1;
 2034|       |				break;
 2035|       |			}
 2036|       |		}
 2037|       |#else
 2038|      0|		if (inp->def_vrf_id == vrf_id)
  ------------------
  |  Branch (2038:7): [True: 0, False: 0]
  ------------------
 2039|      0|			fnd = 1;
 2040|       |
 2041|      0|#endif
 2042|      0|		if (!fnd) {
  ------------------
  |  Branch (2042:7): [True: 0, False: 0]
  ------------------
 2043|      0|			SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2044|      0|			continue;
 2045|      0|		}
 2046|      0|		LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) {
 2047|      0|			if (laddr->ifa == NULL) {
  ------------------
  |  Branch (2047:8): [True: 0, False: 0]
  ------------------
 2048|      0|				SCTPDBG(SCTP_DEBUG_PCB1, "%s: NULL ifa\n",
 2049|      0|					__func__);
 2050|      0|				continue;
 2051|      0|			}
 2052|      0|			SCTPDBG(SCTP_DEBUG_PCB1, "Ok laddr->ifa:%p is possible, ",
 2053|      0|				(void *)laddr->ifa);
 2054|      0|			if (laddr->ifa->localifa_flags & SCTP_BEING_DELETED) {
  ------------------
  |  |   90|      0|#define SCTP_BEING_DELETED      0x00000002	/* being deleted,
  ------------------
  |  Branch (2054:8): [True: 0, False: 0]
  ------------------
 2055|      0|				SCTPDBG(SCTP_DEBUG_PCB1, "Huh IFA being deleted\n");
 2056|      0|				continue;
 2057|      0|			}
 2058|      0|			if (laddr->ifa->address.sa.sa_family == nam->sa_family) {
  ------------------
  |  Branch (2058:8): [True: 0, False: 0]
  ------------------
 2059|       |				/* possible, see if it matches */
 2060|      0|				switch (nam->sa_family) {
  ------------------
  |  Branch (2060:13): [True: 0, False: 0]
  ------------------
 2061|      0|#ifdef INET
 2062|      0|				case AF_INET:
  ------------------
  |  Branch (2062:5): [True: 0, False: 0]
  ------------------
 2063|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2064|       |					if (sin == NULL) {
 2065|       |						/* TSNH */
 2066|       |						break;
 2067|       |					}
 2068|       |#endif
 2069|      0|					if (sin->sin_addr.s_addr ==
  ------------------
  |  Branch (2069:10): [True: 0, False: 0]
  ------------------
 2070|      0|					    laddr->ifa->address.sin.sin_addr.s_addr) {
 2071|      0|						SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2072|      0|						return (inp);
 2073|      0|					}
 2074|      0|					break;
 2075|      0|#endif
 2076|      0|#ifdef INET6
 2077|      0|				case AF_INET6:
  ------------------
  |  Branch (2077:5): [True: 0, False: 0]
  ------------------
 2078|      0|					intf_addr6 = &laddr->ifa->address.sin6;
 2079|      0|					if (SCTP6_ARE_ADDR_EQUAL(sin6,
  ------------------
  |  Branch (2079:10): [True: 0, False: 0]
  ------------------
 2080|      0|					    intf_addr6)) {
 2081|      0|						SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2082|      0|						return (inp);
 2083|      0|					}
 2084|      0|					break;
 2085|      0|#endif
 2086|      0|#if defined(__Userspace__)
 2087|      0|				case AF_CONN:
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (2087:5): [True: 0, False: 0]
  ------------------
 2088|      0|					if (sconn->sconn_addr == laddr->ifa->address.sconn.sconn_addr) {
  ------------------
  |  Branch (2088:10): [True: 0, False: 0]
  ------------------
 2089|      0|						SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2090|      0|						return (inp);
 2091|      0|					}
 2092|      0|					break;
 2093|      0|#endif
 2094|      0|				}
 2095|      0|			}
 2096|      0|		}
 2097|      0|		SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2098|      0|	}
 2099|  11.5k|	return (NULL);
 2100|  11.5k|}
sctp_pcb.c:sctp_findassoc_by_vtag:
 2453|  28.1k|{
 2454|       |	/*
 2455|       |	 * Use my vtag to hash. If we find it we then verify the source addr
 2456|       |	 * is in the assoc. If all goes well we save a bit on rec of a
 2457|       |	 * packet.
 2458|       |	 */
 2459|  28.1k|	struct sctpasochead *head;
 2460|  28.1k|	struct sctp_nets *net;
 2461|  28.1k|	struct sctp_tcb *stcb;
 2462|       |#ifdef SCTP_MVRF
 2463|       |	unsigned int i;
 2464|       |#endif
 2465|       |
 2466|  28.1k|	SCTP_INP_INFO_RLOCK();
  ------------------
  |  |  295|  28.1k|	KASSERT(pthread_rwlock_rdlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s%d: ipi_ep_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2467|  28.1k|	head = &SCTP_BASE_INFO(sctp_asochash)[SCTP_PCBHASH_ASOC(vtag,
  ------------------
  |  |  581|  28.1k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	head = &SCTP_BASE_INFO(sctp_asochash)[SCTP_PCBHASH_ASOC(vtag,
  ------------------
  |  |   57|  28.1k|#define SCTP_PCBHASH_ASOC(tag, mask) (tag & mask)
  ------------------
 2468|  28.1k|	                                                        SCTP_BASE_INFO(hashasocmark))];
 2469|  28.1k|	LIST_FOREACH(stcb, head, sctp_asocs) {
 2470|  28.1k|		SCTP_INP_RLOCK(stcb->sctp_ep);
  ------------------
  |  |  376|  28.1k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2471|  28.1k|		if (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) {
  ------------------
  |  |  550|  28.1k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (2471:7): [True: 0, False: 28.1k]
  ------------------
 2472|      0|			SCTP_INP_RUNLOCK(stcb->sctp_ep);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2473|      0|			continue;
 2474|      0|		}
 2475|       |#ifdef SCTP_MVRF
 2476|       |		for (i = 0; i < stcb->sctp_ep->num_vrfs; i++) {
 2477|       |			if (stcb->sctp_ep->m_vrf_ids[i] == vrf_id) {
 2478|       |				break;
 2479|       |			}
 2480|       |		}
 2481|       |		if (i == stcb->sctp_ep->num_vrfs) {
 2482|       |			SCTP_INP_RUNLOCK(inp);
 2483|       |			continue;
 2484|       |		}
 2485|       |#else
 2486|  28.1k|		if (stcb->sctp_ep->def_vrf_id != vrf_id) {
  ------------------
  |  Branch (2486:7): [True: 0, False: 28.1k]
  ------------------
 2487|      0|			SCTP_INP_RUNLOCK(stcb->sctp_ep);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2488|      0|			continue;
 2489|      0|		}
 2490|  28.1k|#endif
 2491|  28.1k|		SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|  28.1k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2492|  28.1k|		SCTP_INP_RUNLOCK(stcb->sctp_ep);
  ------------------
  |  |  381|  28.1k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2493|  28.1k|		if (stcb->asoc.my_vtag == vtag) {
  ------------------
  |  Branch (2493:7): [True: 28.1k, False: 0]
  ------------------
 2494|       |			/* candidate */
 2495|  28.1k|			if (stcb->rport != rport) {
  ------------------
  |  Branch (2495:8): [True: 0, False: 28.1k]
  ------------------
 2496|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2497|      0|				continue;
 2498|      0|			}
 2499|  28.1k|			if (stcb->sctp_ep->sctp_lport != lport) {
  ------------------
  |  |  426|  28.1k|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|  28.1k|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|  28.1k|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (2499:8): [True: 0, False: 28.1k]
  ------------------
 2500|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2501|      0|				continue;
 2502|      0|			}
 2503|  28.1k|			if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|  28.1k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (2503:8): [True: 0, False: 28.1k]
  ------------------
 2504|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2505|      0|				continue;
 2506|      0|			}
 2507|       |			/* RRS:Need toaddr check here */
 2508|  28.1k|			if (sctp_does_stcb_own_this_addr(stcb, to) == 0) {
  ------------------
  |  Branch (2508:8): [True: 0, False: 28.1k]
  ------------------
 2509|       |			        /* Endpoint does not own this address */
 2510|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2511|      0|				continue;
 2512|      0|			}
 2513|  28.1k|			if (remote_tag) {
  ------------------
  |  Branch (2513:8): [True: 0, False: 28.1k]
  ------------------
 2514|       |				/* If we have both vtags that's all we match on */
 2515|      0|				if (stcb->asoc.peer_vtag == remote_tag) {
  ------------------
  |  Branch (2515:9): [True: 0, False: 0]
  ------------------
 2516|       |					/* If both tags match we consider it conclusive
 2517|       |					 * and check NO source/destination addresses
 2518|       |					 */
 2519|      0|					goto conclusive;
 2520|      0|				}
 2521|      0|			}
 2522|  28.1k|			if (skip_src_check) {
  ------------------
  |  Branch (2522:8): [True: 0, False: 28.1k]
  ------------------
 2523|      0|			conclusive:
 2524|      0|			        if (from) {
  ------------------
  |  Branch (2524:16): [True: 0, False: 0]
  ------------------
 2525|      0|					*netp = sctp_findnet(stcb, from);
 2526|      0|				} else {
 2527|      0|					*netp = NULL;	/* unknown */
 2528|      0|				}
 2529|      0|				if (inp_p)
  ------------------
  |  Branch (2529:9): [True: 0, False: 0]
  ------------------
 2530|      0|					*inp_p = stcb->sctp_ep;
 2531|      0|				SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2532|      0|				return (stcb);
 2533|      0|			}
 2534|  28.1k|			net = sctp_findnet(stcb, from);
 2535|  28.1k|			if (net) {
  ------------------
  |  Branch (2535:8): [True: 28.1k, False: 0]
  ------------------
 2536|       |				/* yep its him. */
 2537|  28.1k|				*netp = net;
 2538|  28.1k|				SCTP_STAT_INCR(sctps_vtagexpress);
  ------------------
  |  | 1112|  28.1k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  28.1k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  28.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2539|  28.1k|				*inp_p = stcb->sctp_ep;
 2540|  28.1k|				SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|  28.1k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  28.1k|	do {                         \
  |  |  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  28.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2541|  28.1k|				return (stcb);
 2542|  28.1k|			} else {
 2543|       |				/*
 2544|       |				 * not him, this should only happen in rare
 2545|       |				 * cases so I peg it.
 2546|       |				 */
 2547|      0|				SCTP_STAT_INCR(sctps_vtagbogus);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2548|      0|			}
 2549|  28.1k|		}
 2550|      0|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2551|      0|	}
 2552|      0|	SCTP_INP_INFO_RUNLOCK();
  ------------------
  |  |  299|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_ep_mtx)) == 0, ("%s:%d: ipi_ep_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2553|      0|	return (NULL);
 2554|      0|}
sctp_pcb.c:sctp_insert_laddr:
 3207|  11.5k|{
 3208|  11.5k|	struct sctp_laddr *laddr;
 3209|       |
 3210|  11.5k|	laddr = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_laddr), struct sctp_laddr);
  ------------------
  |  |  697|  11.5k|        (type *)malloc(zone);
  ------------------
 3211|  11.5k|	if (laddr == NULL) {
  ------------------
  |  Branch (3211:6): [True: 0, False: 11.5k]
  ------------------
 3212|       |		/* out of memory? */
 3213|      0|		SCTP_LTRACE_ERR_RET(NULL, NULL, NULL, SCTP_FROM_SCTP_PCB, EINVAL);
 3214|      0|		return (EINVAL);
 3215|      0|	}
 3216|  11.5k|	SCTP_INCR_LADDR_COUNT();
  ------------------
  |  |  664|  11.5k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_laddr), 1)
  |  |  ------------------
  |  |  |  |   94|  11.5k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 3217|  11.5k|	memset(laddr, 0, sizeof(*laddr));
 3218|  11.5k|	(void)SCTP_GETTIME_TIMEVAL(&laddr->start_time);
  ------------------
  |  |  991|  11.5k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 3219|  11.5k|	laddr->ifa = ifa;
 3220|  11.5k|	laddr->action = act;
 3221|  11.5k|	atomic_add_int(&ifa->refcount, 1);
  ------------------
  |  |   94|  11.5k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 3222|       |	/* insert it */
 3223|  11.5k|	LIST_INSERT_HEAD(list, laddr, sctp_nxt_addr);
 3224|       |
 3225|  11.5k|	return (0);
 3226|  11.5k|}
sctp_pcb.c:sctp_iterator_inp_being_freed:
 3798|  11.5k|{
 3799|  11.5k|	struct sctp_iterator *it, *nit;
 3800|       |
 3801|       |	/*
 3802|       |	 * We enter with the only the ITERATOR_LOCK in place and a write
 3803|       |	 * lock on the inp_info stuff.
 3804|       |	 */
 3805|  11.5k|	it = sctp_it_ctl.cur_it;
 3806|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3807|       |	if (it && (it->vn != curvnet)) {
 3808|       |		/* Its not looking at our VNET */
 3809|       |		return;
 3810|       |	}
 3811|       |#endif
 3812|  11.5k|	if (it && (it->inp == inp)) {
  ------------------
  |  Branch (3812:6): [True: 0, False: 11.5k]
  |  Branch (3812:12): [True: 0, False: 0]
  ------------------
 3813|       |		/*
 3814|       |		 * This is tricky and we hold the iterator lock,
 3815|       |		 * but when it returns and gets the lock (when we
 3816|       |		 * release it) the iterator will try to operate on
 3817|       |		 * inp. We need to stop that from happening. But
 3818|       |		 * of course the iterator has a reference on the
 3819|       |		 * stcb and inp. We can mark it and it will stop.
 3820|       |		 *
 3821|       |		 * If its a single iterator situation, we
 3822|       |		 * set the end iterator flag. Otherwise
 3823|       |		 * we set the iterator to go to the next inp.
 3824|       |		 *
 3825|       |		 */
 3826|      0|		if (it->iterator_flags & SCTP_ITERATOR_DO_SINGLE_INP) {
  ------------------
  |  |  177|      0|#define SCTP_ITERATOR_DO_SINGLE_INP	0x00000002
  ------------------
  |  Branch (3826:7): [True: 0, False: 0]
  ------------------
 3827|      0|			sctp_it_ctl.iterator_flags |= SCTP_ITERATOR_STOP_CUR_IT;
  ------------------
  |  |  236|      0|#define SCTP_ITERATOR_STOP_CUR_IT	0x00000004
  ------------------
 3828|      0|		} else {
 3829|      0|			sctp_it_ctl.iterator_flags |= SCTP_ITERATOR_STOP_CUR_INP;
  ------------------
  |  |  237|      0|#define SCTP_ITERATOR_STOP_CUR_INP	0x00000008
  ------------------
 3830|      0|		}
 3831|      0|	}
 3832|       |	/* Now go through and remove any single reference to
 3833|       |	 * our inp that may be still pending on the list
 3834|       |	 */
 3835|  11.5k|	SCTP_IPI_ITERATOR_WQ_LOCK();
  ------------------
  |  |  640|  11.5k|	KASSERT(pthread_mutex_lock(&sctp_it_ctl.ipi_iterator_wq_mtx) == 0, ("%s:%d: ipi_iterator_wq_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3836|  11.5k|	TAILQ_FOREACH_SAFE(it, &sctp_it_ctl.iteratorhead, sctp_nxt_itr, nit) {
  ------------------
  |  | 1123|  11.5k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  11.5k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 0, False: 11.5k]
  |  |  |  Branch (1124:24): [True: 0, False: 0]
  |  |  ------------------
  |  | 1125|  11.5k|              (var) = (tvar))
  ------------------
 3837|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 3838|       |		if (it->vn != curvnet) {
 3839|       |			continue;
 3840|       |		}
 3841|       |#endif
 3842|      0|		if (it->inp == inp) {
  ------------------
  |  Branch (3842:7): [True: 0, False: 0]
  ------------------
 3843|       |			/* This one points to me is it inp specific? */
 3844|      0|			if (it->iterator_flags & SCTP_ITERATOR_DO_SINGLE_INP) {
  ------------------
  |  |  177|      0|#define SCTP_ITERATOR_DO_SINGLE_INP	0x00000002
  ------------------
  |  Branch (3844:8): [True: 0, False: 0]
  ------------------
 3845|       |				/* Remove and free this one */
 3846|      0|				TAILQ_REMOVE(&sctp_it_ctl.iteratorhead,
 3847|      0|				    it, sctp_nxt_itr);
 3848|      0|				if (it->function_atend != NULL) {
  ------------------
  |  Branch (3848:9): [True: 0, False: 0]
  ------------------
 3849|      0|					(*it->function_atend) (it->pointer, it->val);
 3850|      0|				}
 3851|      0|				SCTP_FREE(it, SCTP_M_ITER);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 3852|      0|			} else {
 3853|      0|				it->inp = LIST_NEXT(it->inp, sctp_list);
 3854|      0|				if (it->inp) {
  ------------------
  |  Branch (3854:9): [True: 0, False: 0]
  ------------------
 3855|      0|					SCTP_INP_INCR_REF(it->inp);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 3856|      0|				}
 3857|      0|			}
 3858|       |			/* When its put in the refcnt is incremented so decr it */
 3859|      0|			SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 3860|      0|		}
 3861|      0|	}
 3862|  11.5k|	SCTP_IPI_ITERATOR_WQ_UNLOCK();
  ------------------
  |  |  642|  11.5k|	KASSERT(pthread_mutex_unlock(&sctp_it_ctl.ipi_iterator_wq_mtx) == 0, ("%s:%d: ipi_iterator_wq_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3863|  11.5k|}
sctp_pcb.c:sctp_remove_laddr:
 3233|  11.5k|{
 3234|       |
 3235|       |	/* remove from the list */
 3236|  11.5k|	LIST_REMOVE(laddr, sctp_nxt_addr);
 3237|  11.5k|	sctp_free_ifa(laddr->ifa);
 3238|  11.5k|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_laddr), laddr);
  ------------------
  |  |  701|  11.5k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  11.5k|	free(element);  \
  |  |  703|  11.5k|}
  ------------------
 3239|  11.5k|	SCTP_DECR_LADDR_COUNT();
  ------------------
  |  |  667|  11.5k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_laddr), 1)
  |  |  ------------------
  |  |  |  |   97|  11.5k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 3240|  11.5k|}
sctp_pcb.c:sctp_aloc_assoc_locked:
 4893|  11.5k|{
 4894|       |	/* note the p argument is only valid in unbound sockets */
 4895|       |
 4896|  11.5k|	struct sctp_tcb *stcb;
 4897|  11.5k|	struct sctp_association *asoc;
 4898|  11.5k|	struct sctpasochead *head;
 4899|  11.5k|	uint16_t rport;
 4900|  11.5k|	int err;
 4901|       |
 4902|  11.5k|	SCTP_INP_INFO_WLOCK_ASSERT();
 4903|  11.5k|	SCTP_INP_WLOCK_ASSERT(inp);
  ------------------
  |  |  410|  11.5k|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_mtx) == EBUSY, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4904|       |
 4905|       |	/*
 4906|       |	 * Assumption made here: Caller has done a
 4907|       |	 * sctp_findassociation_ep_addr(ep, addr's); to make sure the
 4908|       |	 * address does not exist already.
 4909|       |	 */
 4910|  11.5k|	if (SCTP_BASE_INFO(ipi_count_asoc) >= SCTP_MAX_NUM_OF_ASOC) {
  ------------------
  |  |  581|  11.5k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	if (SCTP_BASE_INFO(ipi_count_asoc) >= SCTP_MAX_NUM_OF_ASOC) {
  ------------------
  |  |  265|  11.5k|#define SCTP_MAX_NUM_OF_ASOC	40000
  ------------------
  |  Branch (4910:6): [True: 0, False: 11.5k]
  ------------------
 4911|       |		/* Hit max assoc, sorry no more */
 4912|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, ENOBUFS);
 4913|      0|		*error = ENOBUFS;
 4914|      0|		return (NULL);
 4915|      0|	}
 4916|  11.5k|	if (firstaddr == NULL) {
  ------------------
  |  Branch (4916:6): [True: 0, False: 11.5k]
  ------------------
 4917|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, EINVAL);
 4918|      0|		*error = EINVAL;
 4919|      0|		return (NULL);
 4920|      0|	}
 4921|  11.5k|	if (inp->sctp_flags & (SCTP_PCB_FLAGS_SOCKET_GONE | SCTP_PCB_FLAGS_SOCKET_ALLGONE)) {
  ------------------
  |  |  549|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
              	if (inp->sctp_flags & (SCTP_PCB_FLAGS_SOCKET_GONE | SCTP_PCB_FLAGS_SOCKET_ALLGONE)) {
  ------------------
  |  |  550|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (4921:6): [True: 0, False: 11.5k]
  ------------------
 4922|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, EINVAL);
 4923|      0|		*error = EINVAL;
 4924|      0|		return (NULL);
 4925|      0|	}
 4926|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) &&
  ------------------
  |  |  543|  11.5k|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (4926:6): [True: 0, False: 11.5k]
  ------------------
 4927|  11.5k|	    ((sctp_is_feature_off(inp, SCTP_PCB_FLAGS_PORTREUSE)) ||
  ------------------
  |  |   53|      0|#define sctp_is_feature_off(inp, feature) ((inp->sctp_features & feature) == 0)
  ------------------
  |  Branch (4927:7): [True: 0, False: 0]
  ------------------
 4928|      0|	     (inp->sctp_flags & SCTP_PCB_FLAGS_CONNECTED))) {
  ------------------
  |  |  542|      0|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
  |  Branch (4928:7): [True: 0, False: 0]
  ------------------
 4929|       |		/*
 4930|       |		 * If its in the TCP pool, its NOT allowed to create an
 4931|       |		 * association. The parent listener needs to call
 4932|       |		 * sctp_aloc_assoc.. or the one-2-many socket. If a peeled
 4933|       |		 * off, or connected one does this.. its an error.
 4934|       |		 */
 4935|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, EINVAL);
 4936|      0|		*error = EINVAL;
 4937|      0|		return (NULL);
 4938|      0|	}
 4939|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|  11.5k|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (4939:6): [True: 0, False: 11.5k]
  ------------------
 4940|  11.5k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE)) {
  ------------------
  |  |  532|  11.5k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (4940:6): [True: 11.5k, False: 0]
  ------------------
 4941|  11.5k|		if ((inp->sctp_flags & SCTP_PCB_FLAGS_WAS_CONNECTED) ||
  ------------------
  |  |  538|  11.5k|#define SCTP_PCB_FLAGS_WAS_CONNECTED    0x00080000
  ------------------
  |  Branch (4941:7): [True: 0, False: 11.5k]
  ------------------
 4942|  11.5k|		    (inp->sctp_flags & SCTP_PCB_FLAGS_WAS_ABORTED)) {
  ------------------
  |  |  539|  11.5k|#define SCTP_PCB_FLAGS_WAS_ABORTED      0x00100000
  ------------------
  |  Branch (4942:7): [True: 0, False: 11.5k]
  ------------------
 4943|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, EINVAL);
 4944|      0|			*error = EINVAL;
 4945|      0|			return (NULL);
 4946|      0|		}
 4947|  11.5k|	}
 4948|  11.5k|	SCTPDBG(SCTP_DEBUG_PCB3, "Allocate an association for peer:");
 4949|       |#ifdef SCTP_DEBUG
 4950|       |	if (firstaddr) {
 4951|       |		SCTPDBG_ADDR(SCTP_DEBUG_PCB3, firstaddr);
 4952|       |		switch (firstaddr->sa_family) {
 4953|       |#ifdef INET
 4954|       |		case AF_INET:
 4955|       |			SCTPDBG(SCTP_DEBUG_PCB3, "Port:%d\n",
 4956|       |			        ntohs(((struct sockaddr_in *)firstaddr)->sin_port));
 4957|       |			break;
 4958|       |#endif
 4959|       |#ifdef INET6
 4960|       |		case AF_INET6:
 4961|       |			SCTPDBG(SCTP_DEBUG_PCB3, "Port:%d\n",
 4962|       |			        ntohs(((struct sockaddr_in6 *)firstaddr)->sin6_port));
 4963|       |			break;
 4964|       |#endif
 4965|       |#if defined(__Userspace__)
 4966|       |		case AF_CONN:
 4967|       |			SCTPDBG(SCTP_DEBUG_PCB3, "Port:%d\n",
 4968|       |			        ntohs(((struct sockaddr_conn *)firstaddr)->sconn_port));
 4969|       |			break;
 4970|       |#endif
 4971|       |		default:
 4972|       |			break;
 4973|       |		}
 4974|       |	} else {
 4975|       |		SCTPDBG(SCTP_DEBUG_PCB3,"None\n");
 4976|       |	}
 4977|       |#endif				/* SCTP_DEBUG */
 4978|  11.5k|	switch (firstaddr->sa_family) {
 4979|      0|#ifdef INET
 4980|      0|	case AF_INET:
  ------------------
  |  Branch (4980:2): [True: 0, False: 11.5k]
  ------------------
 4981|      0|	{
 4982|      0|		struct sockaddr_in *sin;
 4983|       |
 4984|      0|		sin = (struct sockaddr_in *)firstaddr;
 4985|      0|		if ((ntohs(sin->sin_port) == 0) ||
  ------------------
  |  Branch (4985:7): [True: 0, False: 0]
  ------------------
 4986|      0|		    (sin->sin_addr.s_addr == INADDR_ANY) ||
  ------------------
  |  Branch (4986:7): [True: 0, False: 0]
  ------------------
 4987|      0|		    (sin->sin_addr.s_addr == INADDR_BROADCAST) ||
  ------------------
  |  Branch (4987:7): [True: 0, False: 0]
  ------------------
 4988|      0|		    IN_MULTICAST(ntohl(sin->sin_addr.s_addr)) ||
 4989|      0|#if defined(__Userspace__)
 4990|      0|		    ((inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_CONN) ||
  ------------------
  |  |  553|      0|#define SCTP_PCB_FLAGS_BOUND_CONN       0x80000000
  ------------------
  |  Branch (4990:8): [True: 0, False: 0]
  ------------------
 4991|      0|		     ((inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) &&
  ------------------
  |  |  547|      0|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  |  Branch (4991:9): [True: 0, False: 0]
  ------------------
 4992|      0|		      (SCTP_IPV6_V6ONLY(inp) != 0)))) {
  ------------------
  |  |  948|      0|#define SCTP_IPV6_V6ONLY(sctp_inpcb)	((sctp_inpcb)->ip_inp.inp.inp_flags & IN6P_IPV6_V6ONLY)
  |  |  ------------------
  |  |  |  |  290|      0|#define IN6P_IPV6_V6ONLY	0x008000 /* restrict AF_INET6 socket for v6 */
  |  |  ------------------
  ------------------
  |  Branch (4992:9): [True: 0, False: 0]
  ------------------
 4993|       |#else
 4994|       |		    ((inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) &&
 4995|       |		     (SCTP_IPV6_V6ONLY(inp) != 0))) {
 4996|       |#endif
 4997|       |			/* Invalid address */
 4998|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, EINVAL);
 4999|      0|			*error = EINVAL;
 5000|      0|			return (NULL);
 5001|      0|		}
 5002|      0|		rport = sin->sin_port;
 5003|      0|		break;
 5004|      0|	}
 5005|      0|#endif
 5006|      0|#ifdef INET6
 5007|      0|	case AF_INET6:
  ------------------
  |  Branch (5007:2): [True: 0, False: 11.5k]
  ------------------
 5008|      0|	{
 5009|      0|		struct sockaddr_in6 *sin6;
 5010|       |
 5011|      0|		sin6 = (struct sockaddr_in6 *)firstaddr;
 5012|      0|		if ((ntohs(sin6->sin6_port) == 0) ||
  ------------------
  |  Branch (5012:7): [True: 0, False: 0]
  ------------------
 5013|      0|		    IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr) ||
 5014|      0|		    IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr) ||
 5015|      0|		    ((inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) == 0)) {
  ------------------
  |  |  547|      0|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  |  Branch (5015:7): [True: 0, False: 0]
  ------------------
 5016|       |			/* Invalid address */
 5017|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, EINVAL);
 5018|      0|			*error = EINVAL;
 5019|      0|			return (NULL);
 5020|      0|		}
 5021|      0|		rport = sin6->sin6_port;
 5022|      0|		break;
 5023|      0|	}
 5024|      0|#endif
 5025|      0|#if defined(__Userspace__)
 5026|  11.5k|	case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (5026:2): [True: 11.5k, False: 0]
  ------------------
 5027|  11.5k|	{
 5028|  11.5k|		struct sockaddr_conn *sconn;
 5029|       |
 5030|  11.5k|		sconn = (struct sockaddr_conn *)firstaddr;
 5031|  11.5k|		if ((ntohs(sconn->sconn_port) == 0) ||
  ------------------
  |  Branch (5031:7): [True: 0, False: 11.5k]
  ------------------
 5032|  11.5k|		    (sconn->sconn_addr == NULL) ||
  ------------------
  |  Branch (5032:7): [True: 0, False: 11.5k]
  ------------------
 5033|  11.5k|		    ((inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_CONN) == 0)) {
  ------------------
  |  |  553|  11.5k|#define SCTP_PCB_FLAGS_BOUND_CONN       0x80000000
  ------------------
  |  Branch (5033:7): [True: 0, False: 11.5k]
  ------------------
 5034|       |			/* Invalid address */
 5035|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, EINVAL);
 5036|      0|			*error = EINVAL;
 5037|      0|			return (NULL);
 5038|      0|		}
 5039|  11.5k|		rport = sconn->sconn_port;
 5040|  11.5k|		break;
 5041|  11.5k|	}
 5042|      0|#endif
 5043|      0|	default:
  ------------------
  |  Branch (5043:2): [True: 0, False: 11.5k]
  ------------------
 5044|       |		/* not supported family type */
 5045|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, EINVAL);
 5046|      0|		*error = EINVAL;
 5047|      0|		return (NULL);
 5048|  11.5k|	}
 5049|  11.5k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_UNBOUND) {
  ------------------
  |  |  535|  11.5k|#define SCTP_PCB_FLAGS_UNBOUND		0x00000010
  ------------------
  |  Branch (5049:6): [True: 0, False: 11.5k]
  ------------------
 5050|       |		/*
 5051|       |		 * If you have not performed a bind, then we need to do the
 5052|       |		 * ephemeral bind for you.
 5053|       |		 */
 5054|      0|		if ((err = sctp_inpcb_bind_locked(inp, NULL, NULL, p))) {
  ------------------
  |  Branch (5054:7): [True: 0, False: 0]
  ------------------
 5055|       |			/* bind error, probably perm */
 5056|      0|			*error = err;
 5057|      0|			return (NULL);
 5058|      0|		}
 5059|      0|	}
 5060|  11.5k|	stcb = SCTP_ZONE_GET(SCTP_BASE_INFO(ipi_zone_asoc), struct sctp_tcb);
  ------------------
  |  |  697|  11.5k|        (type *)malloc(zone);
  ------------------
 5061|  11.5k|	if (stcb == NULL) {
  ------------------
  |  Branch (5061:6): [True: 0, False: 11.5k]
  ------------------
 5062|       |		/* out of memory? */
 5063|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, ENOMEM);
 5064|      0|		*error = ENOMEM;
 5065|      0|		return (NULL);
 5066|      0|	}
 5067|  11.5k|	SCTP_INCR_ASOC_COUNT();
  ------------------
  |  |  658|  11.5k|	atomic_add_int(&SCTP_BASE_INFO(ipi_count_asoc), 1)
  |  |  ------------------
  |  |  |  |   94|  11.5k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 5068|       |
 5069|  11.5k|	memset(stcb, 0, sizeof(*stcb));
 5070|  11.5k|	asoc = &stcb->asoc;
 5071|       |
 5072|  11.5k|	SCTP_TCB_LOCK_INIT(stcb);
  ------------------
  |  |  454|  11.5k|	(void)pthread_mutex_init(&(_tcb)->tcb_mtx, &SCTP_BASE_VAR(mtx_attr))
  |  |  ------------------
  |  |  |  |  585|  11.5k|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  ------------------
 5073|  11.5k|	stcb->rport = rport;
 5074|       |	/* setup back pointer's */
 5075|  11.5k|	stcb->sctp_ep = inp;
 5076|  11.5k|	stcb->sctp_socket = inp->sctp_socket;
 5077|  11.5k|	if ((err = sctp_init_asoc(inp, stcb, override_tag, initial_tsn, vrf_id, o_streams))) {
  ------------------
  |  Branch (5077:6): [True: 0, False: 11.5k]
  ------------------
 5078|       |		/* failed */
 5079|      0|		SCTP_TCB_LOCK_DESTROY(stcb);
  ------------------
  |  |  456|      0|	(void)pthread_mutex_destroy(&(_tcb)->tcb_mtx)
  ------------------
 5080|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_asoc), stcb);
  ------------------
  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|      0|	free(element);  \
  |  |  703|      0|}
  ------------------
 5081|      0|		SCTP_DECR_ASOC_COUNT();
  ------------------
  |  |  661|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_asoc), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5082|      0|		*error = err;
 5083|      0|		return (NULL);
 5084|      0|	}
 5085|  11.5k|	SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|  11.5k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5086|       |
 5087|  11.5k|	asoc->assoc_id = sctp_aloc_a_assoc_id(inp, stcb);
 5088|       |	/* now that my_vtag is set, add it to the hash */
 5089|  11.5k|	head = &SCTP_BASE_INFO(sctp_asochash)[SCTP_PCBHASH_ASOC(stcb->asoc.my_vtag, SCTP_BASE_INFO(hashasocmark))];
  ------------------
  |  |  581|  11.5k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	head = &SCTP_BASE_INFO(sctp_asochash)[SCTP_PCBHASH_ASOC(stcb->asoc.my_vtag, SCTP_BASE_INFO(hashasocmark))];
  ------------------
  |  |   57|  11.5k|#define SCTP_PCBHASH_ASOC(tag, mask) (tag & mask)
  ------------------
 5090|       |	/* put it in the bucket in the vtag hash of assoc's for the system */
 5091|  11.5k|	LIST_INSERT_HEAD(head, stcb, sctp_asocs);
 5092|       |
 5093|  11.5k|	if (sctp_add_remote_addr(stcb, firstaddr, NULL, port, SCTP_DO_SETSCOPE, SCTP_ALLOC_ASOC)) {
  ------------------
  |  |  823|  11.5k|#define SCTP_DO_SETSCOPE 1
  ------------------
              	if (sctp_add_remote_addr(stcb, firstaddr, NULL, port, SCTP_DO_SETSCOPE, SCTP_ALLOC_ASOC)) {
  ------------------
  |  |  816|  11.5k|#define SCTP_ALLOC_ASOC  1
  ------------------
  |  Branch (5093:6): [True: 0, False: 11.5k]
  ------------------
 5094|       |		/* failure.. memory error? */
 5095|      0|		if (asoc->strmout) {
  ------------------
  |  Branch (5095:7): [True: 0, False: 0]
  ------------------
 5096|      0|			SCTP_FREE(asoc->strmout, SCTP_M_STRMO);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 5097|      0|			asoc->strmout = NULL;
 5098|      0|		}
 5099|      0|		if (asoc->mapping_array) {
  ------------------
  |  Branch (5099:7): [True: 0, False: 0]
  ------------------
 5100|      0|			SCTP_FREE(asoc->mapping_array, SCTP_M_MAP);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 5101|      0|			asoc->mapping_array = NULL;
 5102|      0|		}
 5103|      0|		if (asoc->nr_mapping_array) {
  ------------------
  |  Branch (5103:7): [True: 0, False: 0]
  ------------------
 5104|      0|			SCTP_FREE(asoc->nr_mapping_array, SCTP_M_MAP);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 5105|      0|			asoc->nr_mapping_array = NULL;
 5106|      0|		}
 5107|      0|		SCTP_DECR_ASOC_COUNT();
  ------------------
  |  |  661|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_asoc), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5108|      0|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5109|      0|		SCTP_TCB_LOCK_DESTROY(stcb);
  ------------------
  |  |  456|      0|	(void)pthread_mutex_destroy(&(_tcb)->tcb_mtx)
  ------------------
 5110|      0|		LIST_REMOVE(stcb, sctp_asocs);
 5111|      0|		LIST_REMOVE(stcb, sctp_tcbasocidhash);
 5112|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_asoc), stcb);
  ------------------
  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|      0|	free(element);  \
  |  |  703|      0|}
  ------------------
 5113|      0|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5114|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, ENOBUFS);
 5115|      0|		*error = ENOBUFS;
 5116|      0|		return (NULL);
 5117|      0|	}
 5118|       |	/* Init all the timers */
 5119|  11.5k|	SCTP_OS_TIMER_INIT(&asoc->dack_timer.timer);
  ------------------
  |  |   92|  11.5k|#define SCTP_OS_TIMER_INIT	sctp_os_timer_init
  ------------------
 5120|  11.5k|	SCTP_OS_TIMER_INIT(&asoc->strreset_timer.timer);
  ------------------
  |  |   92|  11.5k|#define SCTP_OS_TIMER_INIT	sctp_os_timer_init
  ------------------
 5121|  11.5k|	SCTP_OS_TIMER_INIT(&asoc->asconf_timer.timer);
  ------------------
  |  |   92|  11.5k|#define SCTP_OS_TIMER_INIT	sctp_os_timer_init
  ------------------
 5122|  11.5k|	SCTP_OS_TIMER_INIT(&asoc->shut_guard_timer.timer);
  ------------------
  |  |   92|  11.5k|#define SCTP_OS_TIMER_INIT	sctp_os_timer_init
  ------------------
 5123|  11.5k|	SCTP_OS_TIMER_INIT(&asoc->autoclose_timer.timer);
  ------------------
  |  |   92|  11.5k|#define SCTP_OS_TIMER_INIT	sctp_os_timer_init
  ------------------
 5124|  11.5k|	SCTP_OS_TIMER_INIT(&asoc->delete_prim_timer.timer);
  ------------------
  |  |   92|  11.5k|#define SCTP_OS_TIMER_INIT	sctp_os_timer_init
  ------------------
 5125|       |
 5126|  11.5k|	LIST_INSERT_HEAD(&inp->sctp_asoc_list, stcb, sctp_tcblist);
 5127|       |	/* now file the port under the hash as well */
 5128|  11.5k|	if (inp->sctp_tcbhash != NULL) {
  ------------------
  |  Branch (5128:6): [True: 11.5k, False: 0]
  ------------------
 5129|  11.5k|		head = &inp->sctp_tcbhash[SCTP_PCBHASH_ALLADDR(stcb->rport,
  ------------------
  |  |   56|  11.5k|#define SCTP_PCBHASH_ALLADDR(port, mask) (port & mask)
  ------------------
 5130|  11.5k|		    inp->sctp_hashmark)];
 5131|  11.5k|		LIST_INSERT_HEAD(head, stcb, sctp_tcbhash);
 5132|  11.5k|	}
 5133|  11.5k|	if (initialize_auth_params == SCTP_INITIALIZE_AUTH_PARAMS) {
  ------------------
  |  |  782|  11.5k|#define SCTP_INITIALIZE_AUTH_PARAMS		1
  ------------------
  |  Branch (5133:6): [True: 11.5k, False: 0]
  ------------------
 5134|  11.5k|		sctp_initialize_auth_params(inp, stcb);
 5135|  11.5k|	}
 5136|  11.5k|	SCTPDBG(SCTP_DEBUG_PCB1, "Association %p now allocated\n", (void *)stcb);
 5137|  11.5k|	return (stcb);
 5138|  11.5k|}
sctp_pcb.c:sctp_aloc_a_assoc_id:
 4844|  11.5k|{
 4845|  11.5k|	uint32_t id;
 4846|  11.5k|	struct sctpasochead *head;
 4847|  11.5k|	struct sctp_tcb *lstcb;
 4848|       |
 4849|  11.5k| try_again:
 4850|  11.5k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) {
  ------------------
  |  |  550|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (4850:6): [True: 0, False: 11.5k]
  ------------------
 4851|       |		/* TSNH */
 4852|      0|		return (0);
 4853|      0|	}
 4854|       |	/*
 4855|       |	 * We don't allow assoc id to be one of SCTP_FUTURE_ASSOC,
 4856|       |	 * SCTP_CURRENT_ASSOC and SCTP_ALL_ASSOC.
 4857|       |	 */
 4858|  11.5k|	if (inp->sctp_associd_counter <= SCTP_ALL_ASSOC) {
  ------------------
  |  |   65|  11.5k|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (4858:6): [True: 11.5k, False: 0]
  ------------------
 4859|  11.5k|		inp->sctp_associd_counter = SCTP_ALL_ASSOC + 1;
  ------------------
  |  |   65|  11.5k|#define SCTP_ALL_ASSOC     2
  ------------------
 4860|  11.5k|	}
 4861|  11.5k|	id = inp->sctp_associd_counter;
 4862|  11.5k|	inp->sctp_associd_counter++;
 4863|  11.5k|	lstcb = sctp_findasoc_ep_asocid_locked(inp, (sctp_assoc_t)id, 0);
 4864|  11.5k|	if (lstcb) {
  ------------------
  |  Branch (4864:6): [True: 0, False: 11.5k]
  ------------------
 4865|      0|		goto try_again;
 4866|      0|	}
 4867|  11.5k|	head = &inp->sctp_asocidhash[SCTP_PCBHASH_ASOC(id, inp->hashasocidmark)];
  ------------------
  |  |   57|  11.5k|#define SCTP_PCBHASH_ASOC(tag, mask) (tag & mask)
  ------------------
 4868|  11.5k|	LIST_INSERT_HEAD(head, stcb, sctp_tcbasocidhash);
 4869|  11.5k|	stcb->asoc.in_asocid_hash = 1;
 4870|  11.5k|	return (id);
 4871|  11.5k|}
sctp_pcb.c:sctp_add_vtag_to_timewait:
 5339|  11.5k|{
 5340|  11.5k|	struct sctpvtaghead *chain;
 5341|  11.5k|	struct sctp_tagblock *twait_block;
 5342|  11.5k|	struct timeval now;
 5343|  11.5k|	time_t time;
 5344|  11.5k|	int i;
 5345|  11.5k|	bool set;
 5346|       |
 5347|  11.5k|	SCTP_INP_INFO_WLOCK_ASSERT();
 5348|  11.5k|	(void)SCTP_GETTIME_TIMEVAL(&now);
  ------------------
  |  |  991|  11.5k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 5349|  11.5k|	time = now.tv_sec + SCTP_BASE_SYSCTL(sctp_vtag_time_wait);
  ------------------
  |  |  584|  11.5k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 5350|  11.5k|	chain = &SCTP_BASE_INFO(vtag_timewait)[(tag % SCTP_STACK_VTAG_HASH_SIZE)];
  ------------------
  |  |  581|  11.5k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	chain = &SCTP_BASE_INFO(vtag_timewait)[(tag % SCTP_STACK_VTAG_HASH_SIZE)];
  ------------------
  |  |  924|  11.5k|#define SCTP_STACK_VTAG_HASH_SIZE   32
  ------------------
 5351|  11.5k|	set = false;
 5352|  20.1k|	LIST_FOREACH(twait_block, chain, sctp_nxt_tagblock) {
 5353|       |		/* Block(s) present, lets find space, and expire on the fly */
 5354|   321k|		for (i = 0; i < SCTP_NUMBER_IN_VTAG_BLOCK; i++) {
  ------------------
  |  |  917|   321k|#define SCTP_NUMBER_IN_VTAG_BLOCK 15
  ------------------
  |  Branch (5354:15): [True: 301k, False: 20.1k]
  ------------------
 5355|   301k|			if ((twait_block->vtag_block[i].v_tag == 0) && !set) {
  ------------------
  |  Branch (5355:8): [True: 81.3k, False: 220k]
  |  Branch (5355:51): [True: 10.7k, False: 70.5k]
  ------------------
 5356|  10.7k|				sctp_set_vtag_block(twait_block->vtag_block + i, time, tag, lport, rport);
 5357|  10.7k|				set = true;
 5358|  10.7k|				continue;
 5359|  10.7k|			}
 5360|   290k|			if ((twait_block->vtag_block[i].v_tag != 0) &&
  ------------------
  |  Branch (5360:8): [True: 220k, False: 70.5k]
  ------------------
 5361|   290k|			    (twait_block->vtag_block[i].tv_sec_at_expire < now.tv_sec)) {
  ------------------
  |  Branch (5361:8): [True: 0, False: 220k]
  ------------------
 5362|      0|				if (set) {
  ------------------
  |  Branch (5362:9): [True: 0, False: 0]
  ------------------
 5363|       |					/* Audit expires this guy */
 5364|      0|					sctp_set_vtag_block(twait_block->vtag_block + i, 0, 0, 0, 0);
 5365|      0|				} else {
 5366|       |					/* Reuse it for the new tag */
 5367|      0|					sctp_set_vtag_block(twait_block->vtag_block + i, time, tag, lport, rport);
 5368|      0|					set = true;
 5369|      0|				}
 5370|      0|			}
 5371|   290k|		}
 5372|  20.1k|		if (set) {
  ------------------
  |  Branch (5372:7): [True: 10.7k, False: 9.33k]
  ------------------
 5373|       |			/*
 5374|       |			 * We only do up to the block where we can
 5375|       |			 * place our tag for audits
 5376|       |			 */
 5377|  10.7k|			break;
 5378|  10.7k|		}
 5379|  20.1k|	}
 5380|       |	/* Need to add a new block to chain */
 5381|  11.5k|	if (!set) {
  ------------------
  |  Branch (5381:6): [True: 788, False: 10.7k]
  ------------------
 5382|    788|		SCTP_MALLOC(twait_block, struct sctp_tagblock *,
  ------------------
  |  |  669|    788|	do {								\
  |  |  670|    788|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|    788|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|    788|    do {								\
  |  |  |  |  198|    788|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  1.57k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|    788|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|    788|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5383|    788|		    sizeof(struct sctp_tagblock), SCTP_M_TIMW);
 5384|    788|		if (twait_block == NULL) {
  ------------------
  |  Branch (5384:7): [True: 0, False: 788]
  ------------------
 5385|      0|			return;
 5386|      0|		}
 5387|    788|		memset(twait_block, 0, sizeof(struct sctp_tagblock));
 5388|    788|		LIST_INSERT_HEAD(chain, twait_block, sctp_nxt_tagblock);
 5389|    788|		sctp_set_vtag_block(twait_block->vtag_block, time, tag, lport, rport);
 5390|    788|	}
 5391|  11.5k|}
sctp_pcb.c:sctp_set_vtag_block:
 5330|  11.5k|{
 5331|  11.5k|	vtag_block->tv_sec_at_expire = time;
 5332|  11.5k|	vtag_block->v_tag = tag;
 5333|  11.5k|	vtag_block->lport = lport;
 5334|  11.5k|	vtag_block->rport = rport;
 5335|  11.5k|}
sctp_pcb.c:sctp_is_in_timewait:
 5307|  28.9k|{
 5308|  28.9k|	struct sctpvtaghead *chain;
 5309|  28.9k|	struct sctp_tagblock *twait_block;
 5310|  28.9k|	int i;
 5311|       |
 5312|  28.9k|	SCTP_INP_INFO_LOCK_ASSERT();
 5313|  28.9k|	chain = &SCTP_BASE_INFO(vtag_timewait)[(tag % SCTP_STACK_VTAG_HASH_SIZE)];
  ------------------
  |  |  581|  28.9k|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
              	chain = &SCTP_BASE_INFO(vtag_timewait)[(tag % SCTP_STACK_VTAG_HASH_SIZE)];
  ------------------
  |  |  924|  28.9k|#define SCTP_STACK_VTAG_HASH_SIZE   32
  ------------------
 5314|   543k|	LIST_FOREACH(twait_block, chain, sctp_nxt_tagblock) {
 5315|  8.68M|		for (i = 0; i < SCTP_NUMBER_IN_VTAG_BLOCK; i++) {
  ------------------
  |  |  917|  8.68M|#define SCTP_NUMBER_IN_VTAG_BLOCK 15
  ------------------
  |  Branch (5315:15): [True: 8.14M, False: 543k]
  ------------------
 5316|  8.14M|			if ((twait_block->vtag_block[i].tv_sec_at_expire >= now) &&
  ------------------
  |  Branch (5316:8): [True: 7.93M, False: 211k]
  ------------------
 5317|  8.14M|			    (twait_block->vtag_block[i].v_tag == tag) &&
  ------------------
  |  Branch (5317:8): [True: 0, False: 7.93M]
  ------------------
 5318|  8.14M|			    (twait_block->vtag_block[i].lport == lport) &&
  ------------------
  |  Branch (5318:8): [True: 0, False: 0]
  ------------------
 5319|  8.14M|			    (twait_block->vtag_block[i].rport == rport)) {
  ------------------
  |  Branch (5319:8): [True: 0, False: 0]
  ------------------
 5320|      0|				return (true);
 5321|      0|			}
 5322|  8.14M|		}
 5323|   543k|	}
 5324|  28.9k|	return (false);
 5325|  28.9k|}

sctp_sha1_init:
  114|  3.70k|{
  115|       |	/* Init the SHA-1 context structure */
  116|  3.70k|	ctx->A = 0;
  117|  3.70k|	ctx->B = 0;
  118|  3.70k|	ctx->C = 0;
  119|  3.70k|	ctx->D = 0;
  120|  3.70k|	ctx->E = 0;
  121|  3.70k|	ctx->H0 = H0INIT;
  ------------------
  |  |  106|  3.70k|#define H0INIT 0x67452301
  ------------------
  122|  3.70k|	ctx->H1 = H1INIT;
  ------------------
  |  |  107|  3.70k|#define H1INIT 0xefcdab89
  ------------------
  123|  3.70k|	ctx->H2 = H2INIT;
  ------------------
  |  |  108|  3.70k|#define H2INIT 0x98badcfe
  ------------------
  124|  3.70k|	ctx->H3 = H3INIT;
  ------------------
  |  |  109|  3.70k|#define H3INIT 0x10325476
  ------------------
  125|  3.70k|	ctx->H4 = H4INIT;
  ------------------
  |  |  110|  3.70k|#define H4INIT 0xc3d2e1f0
  ------------------
  126|  3.70k|	ctx->TEMP = 0;
  127|  3.70k|	memset(ctx->words, 0, sizeof(ctx->words));
  128|  3.70k|	ctx->how_many_in_block = 0;
  129|  3.70k|	ctx->running_total = 0;
  130|  3.70k|}
sctp_sha1_update:
  199|  22.3k|{
  200|  22.3k|	unsigned int number_left, left_to_fill;
  201|       |
  202|  22.3k|	number_left = siz;
  203|  30.2k|	while (number_left > 0) {
  ------------------
  |  Branch (203:9): [True: 26.9k, False: 3.29k]
  ------------------
  204|  26.9k|		left_to_fill = sizeof(ctx->sha_block) - ctx->how_many_in_block;
  205|  26.9k|		if (left_to_fill > number_left) {
  ------------------
  |  Branch (205:7): [True: 19.0k, False: 7.87k]
  ------------------
  206|       |			/* can only partially fill up this one */
  207|  19.0k|			memcpy(&ctx->sha_block[ctx->how_many_in_block],
  208|  19.0k|			    ptr, number_left);
  209|  19.0k|			ctx->how_many_in_block += number_left;
  210|  19.0k|			ctx->running_total += number_left;
  211|  19.0k|			break;
  212|  19.0k|		} else {
  213|       |			/* block is now full, process it */
  214|  7.87k|			memcpy(&ctx->sha_block[ctx->how_many_in_block],
  215|  7.87k|			    ptr, left_to_fill);
  216|  7.87k|			sctp_sha1_process_a_block(ctx,
  217|  7.87k|			    (unsigned int *)ctx->sha_block);
  218|  7.87k|			number_left -= left_to_fill;
  219|  7.87k|			ctx->running_total += left_to_fill;
  220|  7.87k|			ctx->how_many_in_block = 0;
  221|  7.87k|			ptr = (const unsigned char *)(ptr + left_to_fill);
  222|  7.87k|		}
  223|  26.9k|	}
  224|  22.3k|}
sctp_sha1_final:
  228|  3.70k|{
  229|       |	/*
  230|       |	 * if any left in block fill with padding and process. Then transfer
  231|       |	 * the digest to the pointer. At the last block some special rules
  232|       |	 * need to apply. We must add a 1 bit following the message, then we
  233|       |	 * pad with 0's. The total size is encoded as a 64 bit number at the
  234|       |	 * end. Now if the last buffer has more than 55 octets in it we
  235|       |	 * cannot fit the 64 bit number + 10000000 pad on the end and must
  236|       |	 * add the 10000000 pad, pad the rest of the message with 0's and
  237|       |	 * then create an all 0 message with just the 64 bit size at the end
  238|       |	 * and run this block through by itself.  Also the 64 bit int must
  239|       |	 * be in network byte order.
  240|       |	 */
  241|  3.70k|	int left_to_fill;
  242|  3.70k|	unsigned int i, *ptr;
  243|       |
  244|  3.70k|	if (ctx->how_many_in_block > 55) {
  ------------------
  |  Branch (244:6): [True: 33, False: 3.66k]
  ------------------
  245|       |		/*
  246|       |		 * special case, we need to process two blocks here. One for
  247|       |		 * the current stuff plus possibly the pad. The other for
  248|       |		 * the size.
  249|       |		 */
  250|     33|		left_to_fill = sizeof(ctx->sha_block) - ctx->how_many_in_block;
  251|     33|		if (left_to_fill == 0) {
  ------------------
  |  Branch (251:7): [True: 0, False: 33]
  ------------------
  252|       |			/* Should not really happen but I am paranoid */
  253|      0|			sctp_sha1_process_a_block(ctx,
  254|      0|			    (unsigned int *)ctx->sha_block);
  255|       |			/* init last block, a bit different than the rest */
  256|      0|			ctx->sha_block[0] = '\x80';
  257|      0|			for (i = 1; i < sizeof(ctx->sha_block); i++) {
  ------------------
  |  Branch (257:16): [True: 0, False: 0]
  ------------------
  258|      0|				ctx->sha_block[i] = 0x0;
  259|      0|			}
  260|     33|		} else if (left_to_fill == 1) {
  ------------------
  |  Branch (260:14): [True: 5, False: 28]
  ------------------
  261|      5|			ctx->sha_block[ctx->how_many_in_block] = '\x80';
  262|      5|			sctp_sha1_process_a_block(ctx,
  263|      5|			    (unsigned int *)ctx->sha_block);
  264|       |			/* init last block */
  265|      5|			memset(ctx->sha_block, 0, sizeof(ctx->sha_block));
  266|     28|		} else {
  267|     28|			ctx->sha_block[ctx->how_many_in_block] = '\x80';
  268|     28|			for (i = (ctx->how_many_in_block + 1);
  269|    157|			    i < sizeof(ctx->sha_block);
  ------------------
  |  Branch (269:8): [True: 129, False: 28]
  ------------------
  270|    129|			    i++) {
  271|    129|				ctx->sha_block[i] = 0x0;
  272|    129|			}
  273|     28|			sctp_sha1_process_a_block(ctx,
  274|     28|			    (unsigned int *)ctx->sha_block);
  275|       |			/* init last block */
  276|     28|			memset(ctx->sha_block, 0, sizeof(ctx->sha_block));
  277|     28|		}
  278|       |		/* This is in bits so multiply by 8 */
  279|     33|		ctx->running_total *= 8;
  280|     33|		ptr = (unsigned int *)&ctx->sha_block[60];
  281|     33|		*ptr = htonl(ctx->running_total);
  282|     33|		sctp_sha1_process_a_block(ctx, (unsigned int *)ctx->sha_block);
  283|  3.66k|	} else {
  284|       |		/*
  285|       |		 * easy case, we just pad this message to size - end with 0
  286|       |		 * add the magic 0x80 to the next word and then put the
  287|       |		 * network byte order size in the last spot and process the
  288|       |		 * block.
  289|       |		 */
  290|  3.66k|		ctx->sha_block[ctx->how_many_in_block] = '\x80';
  291|  3.66k|		for (i = (ctx->how_many_in_block + 1);
  292|   130k|		    i < sizeof(ctx->sha_block);
  ------------------
  |  Branch (292:7): [True: 126k, False: 3.66k]
  ------------------
  293|   126k|		    i++) {
  294|   126k|			ctx->sha_block[i] = 0x0;
  295|   126k|		}
  296|       |		/* get last int spot */
  297|  3.66k|		ctx->running_total *= 8;
  298|  3.66k|		ptr = (unsigned int *)&ctx->sha_block[60];
  299|  3.66k|		*ptr = htonl(ctx->running_total);
  300|  3.66k|		sctp_sha1_process_a_block(ctx, (unsigned int *)ctx->sha_block);
  301|  3.66k|	}
  302|       |	/* transfer the digest back to the user */
  303|  3.70k|	digest[3] = (ctx->H0 & 0xff);
  304|  3.70k|	digest[2] = ((ctx->H0 >> 8) & 0xff);
  305|  3.70k|	digest[1] = ((ctx->H0 >> 16) & 0xff);
  306|  3.70k|	digest[0] = ((ctx->H0 >> 24) & 0xff);
  307|       |
  308|  3.70k|	digest[7] = (ctx->H1 & 0xff);
  309|  3.70k|	digest[6] = ((ctx->H1 >> 8) & 0xff);
  310|  3.70k|	digest[5] = ((ctx->H1 >> 16) & 0xff);
  311|  3.70k|	digest[4] = ((ctx->H1 >> 24) & 0xff);
  312|       |
  313|  3.70k|	digest[11] = (ctx->H2 & 0xff);
  314|  3.70k|	digest[10] = ((ctx->H2 >> 8) & 0xff);
  315|  3.70k|	digest[9] = ((ctx->H2 >> 16) & 0xff);
  316|  3.70k|	digest[8] = ((ctx->H2 >> 24) & 0xff);
  317|       |
  318|  3.70k|	digest[15] = (ctx->H3 & 0xff);
  319|  3.70k|	digest[14] = ((ctx->H3 >> 8) & 0xff);
  320|  3.70k|	digest[13] = ((ctx->H3 >> 16) & 0xff);
  321|  3.70k|	digest[12] = ((ctx->H3 >> 24) & 0xff);
  322|       |
  323|  3.70k|	digest[19] = (ctx->H4 & 0xff);
  324|  3.70k|	digest[18] = ((ctx->H4 >> 8) & 0xff);
  325|  3.70k|	digest[17] = ((ctx->H4 >> 16) & 0xff);
  326|  3.70k|	digest[16] = ((ctx->H4 >> 24) & 0xff);
  327|  3.70k|}
sctp_sha1.c:sctp_sha1_process_a_block:
  134|  11.6k|{
  135|  11.6k|	int i;
  136|       |
  137|       |	/* init the W0-W15 to the block of words being hashed. */
  138|       |	/* step a) */
  139|   197k|	for (i = 0; i < 16; i++) {
  ------------------
  |  Branch (139:14): [True: 185k, False: 11.6k]
  ------------------
  140|   185k|		ctx->words[i] = ntohl(block[i]);
  141|   185k|	}
  142|       |	/* now init the rest based on the SHA-1 formula, step b) */
  143|   754k|	for (i = 16; i < 80; i++) {
  ------------------
  |  Branch (143:15): [True: 742k, False: 11.6k]
  ------------------
  144|   742k|		ctx->words[i] = CSHIFT(1, ((ctx->words[(i - 3)]) ^
  ------------------
  |  |   99|   742k|#define CSHIFT(A,B) ((B << A) | (B >> (32-A)))
  ------------------
  145|   742k|		    (ctx->words[(i - 8)]) ^
  146|   742k|		    (ctx->words[(i - 14)]) ^
  147|   742k|		    (ctx->words[(i - 16)])));
  148|   742k|	}
  149|       |	/* step c) */
  150|  11.6k|	ctx->A = ctx->H0;
  151|  11.6k|	ctx->B = ctx->H1;
  152|  11.6k|	ctx->C = ctx->H2;
  153|  11.6k|	ctx->D = ctx->H3;
  154|  11.6k|	ctx->E = ctx->H4;
  155|       |
  156|       |	/* step d) */
  157|   940k|	for (i = 0; i < 80; i++) {
  ------------------
  |  Branch (157:14): [True: 928k, False: 11.6k]
  ------------------
  158|   928k|		if (i < 20) {
  ------------------
  |  Branch (158:7): [True: 232k, False: 696k]
  ------------------
  159|   232k|			ctx->TEMP = ((CSHIFT(5, ctx->A)) +
  ------------------
  |  |   99|   232k|#define CSHIFT(A,B) ((B << A) | (B >> (32-A)))
  ------------------
  160|   232k|			    (F1(ctx->B, ctx->C, ctx->D)) +
  ------------------
  |  |   93|   232k|#define F1(B,C,D) (((B & C) | ((~B) & D)))	/* 0  <= t <= 19 */
  ------------------
  161|   232k|			    (ctx->E) +
  162|   232k|			    ctx->words[i] +
  163|   232k|			    K1);
  ------------------
  |  |  101|   232k|#define K1 0x5a827999		/* 0  <= t <= 19 */
  ------------------
  164|   696k|		} else if (i < 40) {
  ------------------
  |  Branch (164:14): [True: 232k, False: 464k]
  ------------------
  165|   232k|			ctx->TEMP = ((CSHIFT(5, ctx->A)) +
  ------------------
  |  |   99|   232k|#define CSHIFT(A,B) ((B << A) | (B >> (32-A)))
  ------------------
  166|   232k|			    (F2(ctx->B, ctx->C, ctx->D)) +
  ------------------
  |  |   94|   232k|#define F2(B,C,D) (B ^ C ^ D)	/* 20 <= t <= 39 */
  ------------------
  167|   232k|			    (ctx->E) +
  168|   232k|			    (ctx->words[i]) +
  169|   232k|			    K2);
  ------------------
  |  |  102|   232k|#define K2 0x6ed9eba1		/* 20 <= t <= 39 */
  ------------------
  170|   464k|		} else if (i < 60) {
  ------------------
  |  Branch (170:14): [True: 232k, False: 232k]
  ------------------
  171|   232k|			ctx->TEMP = ((CSHIFT(5, ctx->A)) +
  ------------------
  |  |   99|   232k|#define CSHIFT(A,B) ((B << A) | (B >> (32-A)))
  ------------------
  172|   232k|			    (F3(ctx->B, ctx->C, ctx->D)) +
  ------------------
  |  |   95|   232k|#define F3(B,C,D) ((B & C) | (B & D) | (C & D))	/* 40 <= t <= 59 */
  ------------------
  173|   232k|			    (ctx->E) +
  174|   232k|			    (ctx->words[i]) +
  175|   232k|			    K3);
  ------------------
  |  |  103|   232k|#define K3 0x8f1bbcdc		/* 40 <= t <= 59 */
  ------------------
  176|   232k|		} else {
  177|   232k|			ctx->TEMP = ((CSHIFT(5, ctx->A)) +
  ------------------
  |  |   99|   232k|#define CSHIFT(A,B) ((B << A) | (B >> (32-A)))
  ------------------
  178|   232k|			    (F4(ctx->B, ctx->C, ctx->D)) +
  ------------------
  |  |   96|   232k|#define F4(B,C,D) (B ^ C ^ D)	/* 600 <= t <= 79 */
  ------------------
  179|   232k|			    (ctx->E) +
  180|   232k|			    (ctx->words[i]) +
  181|   232k|			    K4);
  ------------------
  |  |  104|   232k|#define K4 0xca62c1d6		/* 60 <= t <= 79 */
  ------------------
  182|   232k|		}
  183|   928k|		ctx->E = ctx->D;
  184|   928k|		ctx->D = ctx->C;
  185|   928k|		ctx->C = CSHIFT(30, ctx->B);
  ------------------
  |  |   99|   928k|#define CSHIFT(A,B) ((B << A) | (B >> (32-A)))
  ------------------
  186|   928k|		ctx->B = ctx->A;
  187|   928k|		ctx->A = ctx->TEMP;
  188|   928k|	}
  189|       |	/* step e) */
  190|  11.6k|	ctx->H0 = (ctx->H0) + (ctx->A);
  191|  11.6k|	ctx->H1 = (ctx->H1) + (ctx->B);
  192|  11.6k|	ctx->H2 = (ctx->H2) + (ctx->C);
  193|  11.6k|	ctx->H3 = (ctx->H3) + (ctx->D);
  194|  11.6k|	ctx->H4 = (ctx->H4) + (ctx->E);
  195|  11.6k|}

sctp_ss_functions.c:sctp_ss_default_init:
   51|  11.6k|{
   52|  11.6k|	uint16_t i;
   53|       |
   54|  11.6k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  11.6k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.6k|	do {                         \
  |  |  |  |  113|  11.6k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.6k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.6k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|       |
   56|  11.6k|	asoc->ss_data.locked_on_sending = NULL;
   57|  11.6k|	asoc->ss_data.last_out_stream = NULL;
   58|  11.6k|	TAILQ_INIT(&asoc->ss_data.out.wheel);
   59|       |	/*
   60|       |	 * If there is data in the stream queues already,
   61|       |	 * the scheduler of an existing association has
   62|       |	 * been changed. We need to add all stream queues
   63|       |	 * to the wheel.
   64|       |	 */
   65|  2.99M|	for (i = 0; i < asoc->streamoutcnt; i++) {
  ------------------
  |  Branch (65:14): [True: 2.98M, False: 11.6k]
  ------------------
   66|  2.98M|		stcb->asoc.ss_functions.sctp_ss_add_to_stream(stcb, asoc,
   67|  2.98M|		                                              &asoc->strmout[i],
   68|  2.98M|		                                              NULL);
   69|  2.98M|	}
   70|  11.6k|	return;
   71|  11.6k|}
sctp_ss_functions.c:sctp_ss_default_clear:
   76|     62|{
   77|     62|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|     62|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     62|	do {                         \
  |  |  |  |  113|     62|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 62]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     62|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   78|       |
   79|     72|	while (!TAILQ_EMPTY(&asoc->ss_data.out.wheel)) {
  ------------------
  |  Branch (79:9): [True: 10, False: 62]
  ------------------
   80|     10|		struct sctp_stream_out *strq;
   81|       |
   82|     10|		strq = TAILQ_FIRST(&asoc->ss_data.out.wheel);
   83|     10|		KASSERT(strq->ss_params.scheduled, ("strq %p not scheduled", (void *)strq));
  ------------------
  |  |  112|     10|	do {                         \
  |  |  113|     10|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 10]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|     10|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
   84|     10|		TAILQ_REMOVE(&asoc->ss_data.out.wheel, strq, ss_params.ss.rr.next_spoke);
   85|     10|		strq->ss_params.scheduled = false;
   86|     10|	}
   87|     62|	asoc->ss_data.last_out_stream = NULL;
   88|     62|	return;
   89|     62|}
sctp_ss_functions.c:sctp_ss_default_init_stream:
   93|  5.46M|{
   94|  5.46M|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  5.46M|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  5.46M|	do {                         \
  |  |  |  |  113|  5.46M|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 5.46M]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  5.46M|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   95|       |
   96|  5.46M|	if (with_strq != NULL) {
  ------------------
  |  Branch (96:6): [True: 15.9k, False: 5.45M]
  ------------------
   97|  15.9k|		if (stcb->asoc.ss_data.locked_on_sending == with_strq) {
  ------------------
  |  Branch (97:7): [True: 0, False: 15.9k]
  ------------------
   98|      0|			stcb->asoc.ss_data.locked_on_sending = strq;
   99|      0|		}
  100|  15.9k|		if (stcb->asoc.ss_data.last_out_stream == with_strq) {
  ------------------
  |  Branch (100:7): [True: 0, False: 15.9k]
  ------------------
  101|      0|			stcb->asoc.ss_data.last_out_stream = strq;
  102|      0|		}
  103|  15.9k|	}
  104|  5.46M|	strq->ss_params.scheduled = false;
  105|  5.46M|	return;
  106|  5.46M|}
sctp_ss_functions.c:sctp_ss_default_add:
  112|  2.99M|{
  113|  2.99M|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  2.99M|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  2.99M|	do {                         \
  |  |  |  |  113|  2.99M|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.99M]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  2.99M|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  114|       |
  115|       |	/* Add to wheel if not already on it and stream queue not empty */
  116|  2.99M|	if (!TAILQ_EMPTY(&strq->outqueue) && !strq->ss_params.scheduled) {
  ------------------
  |  Branch (116:6): [True: 6.21k, False: 2.98M]
  |  Branch (116:39): [True: 6.21k, False: 0]
  ------------------
  117|  6.21k|		TAILQ_INSERT_TAIL(&asoc->ss_data.out.wheel,
  118|  6.21k|		                  strq, ss_params.ss.rr.next_spoke);
  119|  6.21k|		strq->ss_params.scheduled = true;
  120|  6.21k|	}
  121|  2.99M|	return;
  122|  2.99M|}
sctp_ss_functions.c:sctp_ss_default_is_empty:
  126|  47.3k|{
  127|  47.3k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  47.3k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  47.3k|	do {                         \
  |  |  |  |  113|  47.3k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 47.3k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  47.3k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  128|       |
  129|  47.3k|	return (TAILQ_EMPTY(&asoc->ss_data.out.wheel));
  130|  47.3k|}
sctp_ss_functions.c:sctp_ss_default_remove:
  136|  6.20k|{
  137|  6.20k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.20k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.20k|	do {                         \
  |  |  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.20k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  138|       |
  139|       |	/* Remove from wheel if stream queue is empty and actually is on the wheel */
  140|  6.20k|	if (TAILQ_EMPTY(&strq->outqueue) && strq->ss_params.scheduled) {
  ------------------
  |  Branch (140:38): [True: 6.20k, False: 0]
  ------------------
  141|  6.20k|		if (asoc->ss_data.last_out_stream == strq) {
  ------------------
  |  Branch (141:7): [True: 5.57k, False: 623]
  ------------------
  142|  5.57k|			asoc->ss_data.last_out_stream = TAILQ_PREV(asoc->ss_data.last_out_stream,
  143|  5.57k|			                                           sctpwheel_listhead,
  144|  5.57k|			                                           ss_params.ss.rr.next_spoke);
  145|  5.57k|			if (asoc->ss_data.last_out_stream == NULL) {
  ------------------
  |  Branch (145:8): [True: 5.57k, False: 0]
  ------------------
  146|  5.57k|				asoc->ss_data.last_out_stream = TAILQ_LAST(&asoc->ss_data.out.wheel,
  147|  5.57k|				                                           sctpwheel_listhead);
  148|  5.57k|			}
  149|  5.57k|			if (asoc->ss_data.last_out_stream == strq) {
  ------------------
  |  Branch (149:8): [True: 5.57k, False: 0]
  ------------------
  150|  5.57k|				asoc->ss_data.last_out_stream = NULL;
  151|  5.57k|			}
  152|  5.57k|		}
  153|  6.20k|		if (asoc->ss_data.locked_on_sending == strq) {
  ------------------
  |  Branch (153:7): [True: 0, False: 6.20k]
  ------------------
  154|      0|			asoc->ss_data.locked_on_sending = NULL;
  155|      0|		}
  156|  6.20k|		TAILQ_REMOVE(&asoc->ss_data.out.wheel, strq, ss_params.ss.rr.next_spoke);
  157|  6.20k|		strq->ss_params.scheduled = false;
  158|  6.20k|	}
  159|  6.20k|	return;
  160|  6.20k|}
sctp_ss_functions.c:sctp_ss_default_select:
  165|  11.9k|{
  166|  11.9k|	struct sctp_stream_out *strq, *strqt;
  167|       |
  168|  11.9k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  11.9k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.9k|	do {                         \
  |  |  |  |  113|  11.9k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.9k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.9k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  169|       |
  170|  11.9k|	if (asoc->ss_data.locked_on_sending != NULL) {
  ------------------
  |  Branch (170:6): [True: 0, False: 11.9k]
  ------------------
  171|      0|		KASSERT(asoc->ss_data.locked_on_sending->ss_params.scheduled,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  172|      0|		        ("locked_on_sending %p not scheduled",
  173|      0|		         (void *)asoc->ss_data.locked_on_sending));
  174|      0|		return (asoc->ss_data.locked_on_sending);
  175|      0|	}
  176|  11.9k|	strqt = asoc->ss_data.last_out_stream;
  177|  11.9k|	KASSERT(strqt == NULL || strqt->ss_params.scheduled,
  ------------------
  |  |  112|  11.9k|	do {                         \
  |  |  113|  11.9k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 11.9k, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  11.9k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  178|  11.9k|	        ("last_out_stream %p not scheduled", (void *)strqt));
  179|  11.9k|default_again:
  180|       |	/* Find the next stream to use */
  181|  11.9k|	if (strqt == NULL) {
  ------------------
  |  Branch (181:6): [True: 11.9k, False: 0]
  ------------------
  182|  11.9k|		strq = TAILQ_FIRST(&asoc->ss_data.out.wheel);
  183|  11.9k|	} else {
  184|      0|		strq = TAILQ_NEXT(strqt, ss_params.ss.rr.next_spoke);
  185|      0|		if (strq == NULL) {
  ------------------
  |  Branch (185:7): [True: 0, False: 0]
  ------------------
  186|      0|			strq = TAILQ_FIRST(&asoc->ss_data.out.wheel);
  187|      0|		}
  188|      0|	}
  189|  11.9k|	KASSERT(strq == NULL || strq->ss_params.scheduled,
  ------------------
  |  |  112|  11.9k|	do {                         \
  |  |  113|  17.5k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 6.36k, False: 5.57k]
  |  |  |  Branch (113:9): [True: 5.57k, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  11.9k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  190|  11.9k|		("strq %p not scheduled", (void *)strq));
  191|       |
  192|       |	/* If CMT is off, we must validate that
  193|       |	 * the stream in question has the first
  194|       |	 * item pointed towards are network destination
  195|       |	 * requested by the caller. Note that if we
  196|       |	 * turn out to be locked to a stream (assigning
  197|       |	 * TSN's then we must stop, since we cannot
  198|       |	 * look for another stream with data to send
  199|       |	 * to that destination). In CMT's case, by
  200|       |	 * skipping this check, we will send one
  201|       |	 * data packet towards the requested net.
  202|       |	 */
  203|  11.9k|	if (net != NULL && strq != NULL &&
  ------------------
  |  Branch (203:6): [True: 11.9k, False: 0]
  |  Branch (203:21): [True: 5.57k, False: 6.36k]
  ------------------
  204|  11.9k|	    SCTP_BASE_SYSCTL(sctp_cmt_on_off) == 0) {
  ------------------
  |  |  584|  5.57k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (204:6): [True: 5.57k, False: 0]
  ------------------
  205|  5.57k|		if (TAILQ_FIRST(&strq->outqueue) &&
  206|  5.57k|		    TAILQ_FIRST(&strq->outqueue)->net != NULL &&
  ------------------
  |  Branch (206:7): [True: 0, False: 5.57k]
  ------------------
  207|  5.57k|		    TAILQ_FIRST(&strq->outqueue)->net != net) {
  ------------------
  |  Branch (207:7): [True: 0, False: 0]
  ------------------
  208|      0|			if (strq == asoc->ss_data.last_out_stream) {
  ------------------
  |  Branch (208:8): [True: 0, False: 0]
  ------------------
  209|      0|				return (NULL);
  210|      0|			} else {
  211|      0|				strqt = strq;
  212|      0|				goto default_again;
  213|      0|			}
  214|      0|		}
  215|  5.57k|	}
  216|  11.9k|	return (strq);
  217|  11.9k|}
sctp_ss_functions.c:sctp_ss_default_scheduled:
  225|  5.57k|{
  226|  5.57k|	struct sctp_stream_queue_pending *sp;
  227|       |
  228|  5.57k|	KASSERT(strq != NULL, ("strq is NULL"));
  ------------------
  |  |  112|  5.57k|	do {                         \
  |  |  113|  5.57k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 5.57k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  5.57k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  229|  5.57k|	KASSERT(strq->ss_params.scheduled, ("strq %p is not scheduled", (void *)strq));
  ------------------
  |  |  112|  5.57k|	do {                         \
  |  |  113|  5.57k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 5.57k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  5.57k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  230|  5.57k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  5.57k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  5.57k|	do {                         \
  |  |  |  |  113|  5.57k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 5.57k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  5.57k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  231|       |
  232|  5.57k|	asoc->ss_data.last_out_stream = strq;
  233|  5.57k|	if (asoc->idata_supported == 0) {
  ------------------
  |  Branch (233:6): [True: 1.60k, False: 3.97k]
  ------------------
  234|  1.60k|		sp = TAILQ_FIRST(&strq->outqueue);
  235|  1.60k|		if ((sp != NULL) && (sp->some_taken == 1)) {
  ------------------
  |  Branch (235:7): [True: 1.60k, False: 0]
  |  Branch (235:23): [True: 0, False: 1.60k]
  ------------------
  236|      0|			asoc->ss_data.locked_on_sending = strq;
  237|  1.60k|		} else {
  238|  1.60k|			asoc->ss_data.locked_on_sending = NULL;
  239|  1.60k|		}
  240|  3.97k|	} else {
  241|  3.97k|		asoc->ss_data.locked_on_sending = NULL;
  242|  3.97k|	}
  243|  5.57k|	return;
  244|  5.57k|}
sctp_ss_functions.c:sctp_ss_default_packet_done:
  249|  6.36k|{
  250|  6.36k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.36k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.36k|	do {                         \
  |  |  |  |  113|  6.36k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.36k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.36k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  251|       |
  252|       |	/* Nothing to be done here */
  253|  6.36k|	return;
  254|  6.36k|}

sctp_init_sysctls:
   60|      1|{
   61|      1|	SCTP_BASE_SYSCTL(sctp_sendspace) = SCTPCTL_MAXDGRAM_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_sendspace) = SCTPCTL_MAXDGRAM_DEFAULT;
  ------------------
  |  |  147|      1|#define SCTPCTL_MAXDGRAM_DEFAULT	SB_MAX
  |  |  ------------------
  |  |  |  |  198|      1|#define	SB_MAX		(256*1024)	/* default for max chars in sockbuf */
  |  |  ------------------
  ------------------
   62|      1|	SCTP_BASE_SYSCTL(sctp_recvspace) = SCTPCTL_RECVSPACE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_recvspace) = SCTPCTL_RECVSPACE_DEFAULT;
  ------------------
  |  |  157|      1|#define SCTPCTL_RECVSPACE_DEFAULT	SB_RAW
  |  |  ------------------
  |  |  |  |  199|      1|#define SB_RAW          (64*1024*2)    /*Aligning so->so_rcv.sb_hiwat with the receive buffer size of raw socket*/
  |  |  ------------------
  ------------------
   63|      1|	SCTP_BASE_SYSCTL(sctp_auto_asconf) = SCTPCTL_AUTOASCONF_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_auto_asconf) = SCTPCTL_AUTOASCONF_DEFAULT;
  ------------------
  |  |  166|      1|#define SCTPCTL_AUTOASCONF_DEFAULT	1
  ------------------
   64|      1|	SCTP_BASE_SYSCTL(sctp_multiple_asconfs) = SCTPCTL_MULTIPLEASCONFS_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_multiple_asconfs) = SCTPCTL_MULTIPLEASCONFS_DEFAULT;
  ------------------
  |  |  172|      1|#define SCTPCTL_MULTIPLEASCONFS_DEFAULT	SCTP_DEFAULT_MULTIPLE_ASCONFS
  |  |  ------------------
  |  |  |  |  270|      1|#define SCTP_DEFAULT_MULTIPLE_ASCONFS	0
  |  |  ------------------
  ------------------
   65|      1|	SCTP_BASE_SYSCTL(sctp_ecn_enable) = SCTPCTL_ECN_ENABLE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_ecn_enable) = SCTPCTL_ECN_ENABLE_DEFAULT;
  ------------------
  |  |  178|      1|#define SCTPCTL_ECN_ENABLE_DEFAULT	1
  ------------------
   66|      1|	SCTP_BASE_SYSCTL(sctp_pr_enable) = SCTPCTL_PR_ENABLE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_pr_enable) = SCTPCTL_PR_ENABLE_DEFAULT;
  ------------------
  |  |  184|      1|#define SCTPCTL_PR_ENABLE_DEFAULT	1
  ------------------
   67|      1|	SCTP_BASE_SYSCTL(sctp_auth_enable) = SCTPCTL_AUTH_ENABLE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_auth_enable) = SCTPCTL_AUTH_ENABLE_DEFAULT;
  ------------------
  |  |  190|      1|#define SCTPCTL_AUTH_ENABLE_DEFAULT	1
  ------------------
   68|      1|	SCTP_BASE_SYSCTL(sctp_asconf_enable) = SCTPCTL_ASCONF_ENABLE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_asconf_enable) = SCTPCTL_ASCONF_ENABLE_DEFAULT;
  ------------------
  |  |  196|      1|#define SCTPCTL_ASCONF_ENABLE_DEFAULT	1
  ------------------
   69|      1|	SCTP_BASE_SYSCTL(sctp_reconfig_enable) = SCTPCTL_RECONFIG_ENABLE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_reconfig_enable) = SCTPCTL_RECONFIG_ENABLE_DEFAULT;
  ------------------
  |  |  202|      1|#define SCTPCTL_RECONFIG_ENABLE_DEFAULT	1
  ------------------
   70|      1|	SCTP_BASE_SYSCTL(sctp_nrsack_enable) = SCTPCTL_NRSACK_ENABLE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_nrsack_enable) = SCTPCTL_NRSACK_ENABLE_DEFAULT;
  ------------------
  |  |  208|      1|#define SCTPCTL_NRSACK_ENABLE_DEFAULT	0
  ------------------
   71|      1|	SCTP_BASE_SYSCTL(sctp_pktdrop_enable) = SCTPCTL_PKTDROP_ENABLE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_pktdrop_enable) = SCTPCTL_PKTDROP_ENABLE_DEFAULT;
  ------------------
  |  |  214|      1|#define SCTPCTL_PKTDROP_ENABLE_DEFAULT	0
  ------------------
   72|      1|#if !(defined(__FreeBSD__) && !defined(__Userspace__))
   73|      1|	SCTP_BASE_SYSCTL(sctp_no_csum_on_loopback) = SCTPCTL_LOOPBACK_NOCSUM_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_no_csum_on_loopback) = SCTPCTL_LOOPBACK_NOCSUM_DEFAULT;
  ------------------
  |  |  220|      1|#define SCTPCTL_LOOPBACK_NOCSUM_DEFAULT	1
  ------------------
   74|      1|#endif
   75|      1|	SCTP_BASE_SYSCTL(sctp_peer_chunk_oh) = SCTPCTL_PEER_CHKOH_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_peer_chunk_oh) = SCTPCTL_PEER_CHKOH_DEFAULT;
  ------------------
  |  |  226|      1|#define SCTPCTL_PEER_CHKOH_DEFAULT	256
  ------------------
   76|      1|	SCTP_BASE_SYSCTL(sctp_max_burst_default) = SCTPCTL_MAXBURST_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_max_burst_default) = SCTPCTL_MAXBURST_DEFAULT;
  ------------------
  |  |  232|      1|#define SCTPCTL_MAXBURST_DEFAULT	SCTP_DEF_MAX_BURST
  |  |  ------------------
  |  |  |  |  333|      1|#define SCTP_DEF_MAX_BURST 4
  |  |  ------------------
  ------------------
   77|      1|	SCTP_BASE_SYSCTL(sctp_fr_max_burst_default) = SCTPCTL_FRMAXBURST_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_fr_max_burst_default) = SCTPCTL_FRMAXBURST_DEFAULT;
  ------------------
  |  |  238|      1|#define SCTPCTL_FRMAXBURST_DEFAULT	SCTP_DEF_FRMAX_BURST
  |  |  ------------------
  |  |  |  |  335|      1|#define SCTP_DEF_FRMAX_BURST 4
  |  |  ------------------
  ------------------
   78|      1|	SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue) = SCTPCTL_MAXCHUNKS_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue) = SCTPCTL_MAXCHUNKS_DEFAULT;
  ------------------
  |  |  244|      1|#define SCTPCTL_MAXCHUNKS_DEFAULT	SCTP_ASOC_MAX_CHUNKS_ON_QUEUE
  |  |  ------------------
  |  |  |  |  578|      1|#define SCTP_ASOC_MAX_CHUNKS_ON_QUEUE 512
  |  |  ------------------
  ------------------
   79|      1|#if defined(__Userspace__)
   80|      1|	if (SCTP_BASE_SYSCTL(sctp_hashtblsize) == 0) {
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (80:6): [True: 1, False: 0]
  ------------------
   81|      1|		SCTP_BASE_SYSCTL(sctp_hashtblsize) = SCTPCTL_TCBHASHSIZE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		SCTP_BASE_SYSCTL(sctp_hashtblsize) = SCTPCTL_TCBHASHSIZE_DEFAULT;
  ------------------
  |  |  250|      1|#define SCTPCTL_TCBHASHSIZE_DEFAULT	SCTP_TCBHASHSIZE
  |  |  ------------------
  |  |  |  |  844|      1|#define SCTP_TCBHASHSIZE 1024
  |  |  ------------------
  ------------------
   82|      1|	}
   83|       |#else
   84|       |	SCTP_BASE_SYSCTL(sctp_hashtblsize) = SCTPCTL_TCBHASHSIZE_DEFAULT;
   85|       |#endif
   86|      1|#if defined(__Userspace__)
   87|      1|	if (SCTP_BASE_SYSCTL(sctp_pcbtblsize) == 0) {
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (87:6): [True: 1, False: 0]
  ------------------
   88|      1|		SCTP_BASE_SYSCTL(sctp_pcbtblsize) = SCTPCTL_PCBHASHSIZE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		SCTP_BASE_SYSCTL(sctp_pcbtblsize) = SCTPCTL_PCBHASHSIZE_DEFAULT;
  ------------------
  |  |  256|      1|#define SCTPCTL_PCBHASHSIZE_DEFAULT	SCTP_PCBHASHSIZE
  |  |  ------------------
  |  |  |  |  841|      1|#define SCTP_PCBHASHSIZE 256
  |  |  ------------------
  ------------------
   89|      1|	}
   90|       |#else
   91|       |	SCTP_BASE_SYSCTL(sctp_pcbtblsize) = SCTPCTL_PCBHASHSIZE_DEFAULT;
   92|       |#endif
   93|      1|	SCTP_BASE_SYSCTL(sctp_min_split_point) = SCTPCTL_MIN_SPLIT_POINT_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_min_split_point) = SCTPCTL_MIN_SPLIT_POINT_DEFAULT;
  ------------------
  |  |  262|      1|#define SCTPCTL_MIN_SPLIT_POINT_DEFAULT	SCTP_DEFAULT_SPLIT_POINT_MIN
  |  |  ------------------
  |  |  |  |  740|      1|#define SCTP_DEFAULT_SPLIT_POINT_MIN 2904
  |  |  ------------------
  ------------------
   94|      1|#if defined(__Userspace__)
   95|      1|	if (SCTP_BASE_SYSCTL(sctp_chunkscale) == 0) {
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (95:6): [True: 1, False: 0]
  ------------------
   96|      1|		SCTP_BASE_SYSCTL(sctp_chunkscale) = SCTPCTL_CHUNKSCALE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		SCTP_BASE_SYSCTL(sctp_chunkscale) = SCTPCTL_CHUNKSCALE_DEFAULT;
  ------------------
  |  |  268|      1|#define SCTPCTL_CHUNKSCALE_DEFAULT	SCTP_CHUNKQUEUE_SCALE
  |  |  ------------------
  |  |  |  |  848|      1|#define SCTP_CHUNKQUEUE_SCALE 10
  |  |  ------------------
  ------------------
   97|      1|	}
   98|       |#else
   99|       |	SCTP_BASE_SYSCTL(sctp_chunkscale) = SCTPCTL_CHUNKSCALE_DEFAULT;
  100|       |#endif
  101|      1|	SCTP_BASE_SYSCTL(sctp_delayed_sack_time_default) = SCTPCTL_DELAYED_SACK_TIME_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_delayed_sack_time_default) = SCTPCTL_DELAYED_SACK_TIME_DEFAULT;
  ------------------
  |  |  274|      1|#define SCTPCTL_DELAYED_SACK_TIME_DEFAULT	SCTP_RECV_MSEC
  |  |  ------------------
  |  |  |  |  595|      1|#define SCTP_RECV_MSEC	200
  |  |  ------------------
  ------------------
  102|      1|	SCTP_BASE_SYSCTL(sctp_sack_freq_default) = SCTPCTL_SACK_FREQ_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_sack_freq_default) = SCTPCTL_SACK_FREQ_DEFAULT;
  ------------------
  |  |  280|      1|#define SCTPCTL_SACK_FREQ_DEFAULT	SCTP_DEFAULT_SACK_FREQ
  |  |  ------------------
  |  |  |  |   46|      1|#define SCTP_DEFAULT_SACK_FREQ 2
  |  |  ------------------
  ------------------
  103|      1|	SCTP_BASE_SYSCTL(sctp_system_free_resc_limit) = SCTPCTL_SYS_RESOURCE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_system_free_resc_limit) = SCTPCTL_SYS_RESOURCE_DEFAULT;
  ------------------
  |  |  286|      1|#define SCTPCTL_SYS_RESOURCE_DEFAULT	SCTP_DEF_SYSTEM_RESC_LIMIT
  |  |  ------------------
  |  |  |  |  953|      1|#define SCTP_DEF_SYSTEM_RESC_LIMIT 1000
  |  |  ------------------
  ------------------
  104|      1|	SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit) = SCTPCTL_ASOC_RESOURCE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit) = SCTPCTL_ASOC_RESOURCE_DEFAULT;
  ------------------
  |  |  292|      1|#define SCTPCTL_ASOC_RESOURCE_DEFAULT	SCTP_DEF_ASOC_RESC_LIMIT
  |  |  ------------------
  |  |  |  |  952|      1|#define SCTP_DEF_ASOC_RESC_LIMIT 10
  |  |  ------------------
  ------------------
  105|      1|	SCTP_BASE_SYSCTL(sctp_heartbeat_interval_default) = SCTPCTL_HEARTBEAT_INTERVAL_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_heartbeat_interval_default) = SCTPCTL_HEARTBEAT_INTERVAL_DEFAULT;
  ------------------
  |  |  298|      1|#define SCTPCTL_HEARTBEAT_INTERVAL_DEFAULT	SCTP_HB_DEFAULT_MSEC
  |  |  ------------------
  |  |  |  |  598|      1|#define SCTP_HB_DEFAULT_MSEC	30000
  |  |  ------------------
  ------------------
  106|      1|	SCTP_BASE_SYSCTL(sctp_pmtu_raise_time_default) = SCTPCTL_PMTU_RAISE_TIME_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_pmtu_raise_time_default) = SCTPCTL_PMTU_RAISE_TIME_DEFAULT;
  ------------------
  |  |  304|      1|#define SCTPCTL_PMTU_RAISE_TIME_DEFAULT	SCTP_DEF_PMTU_RAISE_SEC
  |  |  ------------------
  |  |  |  |  618|      1|#define SCTP_DEF_PMTU_RAISE_SEC	600	/* 10 min between raise attempts */
  |  |  ------------------
  ------------------
  107|      1|	SCTP_BASE_SYSCTL(sctp_shutdown_guard_time_default) = SCTPCTL_SHUTDOWN_GUARD_TIME_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_shutdown_guard_time_default) = SCTPCTL_SHUTDOWN_GUARD_TIME_DEFAULT;
  ------------------
  |  |  310|      1|#define SCTPCTL_SHUTDOWN_GUARD_TIME_DEFAULT	0
  ------------------
  108|      1|	SCTP_BASE_SYSCTL(sctp_secret_lifetime_default) = SCTPCTL_SECRET_LIFETIME_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_secret_lifetime_default) = SCTPCTL_SECRET_LIFETIME_DEFAULT;
  ------------------
  |  |  316|      1|#define SCTPCTL_SECRET_LIFETIME_DEFAULT	SCTP_DEFAULT_SECRET_LIFE_SEC
  |  |  ------------------
  |  |  |  |  604|      1|#define SCTP_DEFAULT_SECRET_LIFE_SEC 3600
  |  |  ------------------
  ------------------
  109|      1|	SCTP_BASE_SYSCTL(sctp_rto_max_default) = SCTPCTL_RTO_MAX_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_rto_max_default) = SCTPCTL_RTO_MAX_DEFAULT;
  ------------------
  |  |  322|      1|#define SCTPCTL_RTO_MAX_DEFAULT		SCTP_RTO_UPPER_BOUND
  |  |  ------------------
  |  |  |  |  606|      1|#define SCTP_RTO_UPPER_BOUND	(60000)	/* 60 sec in ms */
  |  |  ------------------
  ------------------
  110|      1|	SCTP_BASE_SYSCTL(sctp_rto_min_default) = SCTPCTL_RTO_MIN_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_rto_min_default) = SCTPCTL_RTO_MIN_DEFAULT;
  ------------------
  |  |  328|      1|#define SCTPCTL_RTO_MIN_DEFAULT		SCTP_RTO_LOWER_BOUND
  |  |  ------------------
  |  |  |  |  607|      1|#define SCTP_RTO_LOWER_BOUND	(1000)	/* 1 sec is ms */
  |  |  ------------------
  ------------------
  111|      1|	SCTP_BASE_SYSCTL(sctp_rto_initial_default) = SCTPCTL_RTO_INITIAL_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_rto_initial_default) = SCTPCTL_RTO_INITIAL_DEFAULT;
  ------------------
  |  |  334|      1|#define SCTPCTL_RTO_INITIAL_DEFAULT	SCTP_RTO_INITIAL
  |  |  ------------------
  |  |  |  |  608|      1|#define SCTP_RTO_INITIAL	(1000)	/* 1 sec in ms */
  |  |  ------------------
  ------------------
  112|      1|	SCTP_BASE_SYSCTL(sctp_init_rto_max_default) = SCTPCTL_INIT_RTO_MAX_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_init_rto_max_default) = SCTPCTL_INIT_RTO_MAX_DEFAULT;
  ------------------
  |  |  340|      1|#define SCTPCTL_INIT_RTO_MAX_DEFAULT	SCTP_RTO_UPPER_BOUND
  |  |  ------------------
  |  |  |  |  606|      1|#define SCTP_RTO_UPPER_BOUND	(60000)	/* 60 sec in ms */
  |  |  ------------------
  ------------------
  113|      1|	SCTP_BASE_SYSCTL(sctp_valid_cookie_life_default) = SCTPCTL_VALID_COOKIE_LIFE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_valid_cookie_life_default) = SCTPCTL_VALID_COOKIE_LIFE_DEFAULT;
  ------------------
  |  |  346|      1|#define SCTPCTL_VALID_COOKIE_LIFE_DEFAULT	SCTP_DEFAULT_COOKIE_LIFE
  |  |  ------------------
  |  |  |  |  503|      1|#define SCTP_DEFAULT_COOKIE_LIFE	60000
  |  |  ------------------
  ------------------
  114|      1|	SCTP_BASE_SYSCTL(sctp_init_rtx_max_default) = SCTPCTL_INIT_RTX_MAX_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_init_rtx_max_default) = SCTPCTL_INIT_RTX_MAX_DEFAULT;
  ------------------
  |  |  352|      1|#define SCTPCTL_INIT_RTX_MAX_DEFAULT	SCTP_DEF_MAX_INIT
  |  |  ------------------
  |  |  |  |  613|      1|#define SCTP_DEF_MAX_INIT		8
  |  |  ------------------
  ------------------
  115|      1|	SCTP_BASE_SYSCTL(sctp_assoc_rtx_max_default) = SCTPCTL_ASSOC_RTX_MAX_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_assoc_rtx_max_default) = SCTPCTL_ASSOC_RTX_MAX_DEFAULT;
  ------------------
  |  |  358|      1|#define SCTPCTL_ASSOC_RTX_MAX_DEFAULT	SCTP_DEF_MAX_SEND
  |  |  ------------------
  |  |  |  |  614|      1|#define SCTP_DEF_MAX_SEND		10
  |  |  ------------------
  ------------------
  116|      1|	SCTP_BASE_SYSCTL(sctp_path_rtx_max_default) = SCTPCTL_PATH_RTX_MAX_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_path_rtx_max_default) = SCTPCTL_PATH_RTX_MAX_DEFAULT;
  ------------------
  |  |  364|      1|#define SCTPCTL_PATH_RTX_MAX_DEFAULT	SCTP_DEF_MAX_PATH_RTX
  |  |  ------------------
  |  |  |  |  615|      1|#define SCTP_DEF_MAX_PATH_RTX		5
  |  |  ------------------
  ------------------
  117|      1|	SCTP_BASE_SYSCTL(sctp_path_pf_threshold) = SCTPCTL_PATH_PF_THRESHOLD_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_path_pf_threshold) = SCTPCTL_PATH_PF_THRESHOLD_DEFAULT;
  ------------------
  |  |  370|      1|#define SCTPCTL_PATH_PF_THRESHOLD_DEFAULT	SCTPCTL_PATH_PF_THRESHOLD_MAX
  |  |  ------------------
  |  |  |  |  369|      1|#define SCTPCTL_PATH_PF_THRESHOLD_MAX		0xFFFF
  |  |  ------------------
  ------------------
  118|      1|	SCTP_BASE_SYSCTL(sctp_add_more_threshold) = SCTPCTL_ADD_MORE_ON_OUTPUT_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_add_more_threshold) = SCTPCTL_ADD_MORE_ON_OUTPUT_DEFAULT;
  ------------------
  |  |  376|      1|#define SCTPCTL_ADD_MORE_ON_OUTPUT_DEFAULT SCTP_DEFAULT_ADD_MORE
  |  |  ------------------
  |  |  |  |  837|      1|#define SCTP_DEFAULT_ADD_MORE 1452
  |  |  ------------------
  ------------------
  119|      1|	SCTP_BASE_SYSCTL(sctp_nr_incoming_streams_default) = SCTPCTL_INCOMING_STREAMS_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_nr_incoming_streams_default) = SCTPCTL_INCOMING_STREAMS_DEFAULT;
  ------------------
  |  |  382|      1|#define SCTPCTL_INCOMING_STREAMS_DEFAULT SCTP_ISTREAM_INITIAL
  |  |  ------------------
  |  |  |  |  622|      1|#define SCTP_ISTREAM_INITIAL 2048
  |  |  ------------------
  ------------------
  120|      1|	SCTP_BASE_SYSCTL(sctp_nr_outgoing_streams_default) = SCTPCTL_OUTGOING_STREAMS_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_nr_outgoing_streams_default) = SCTPCTL_OUTGOING_STREAMS_DEFAULT;
  ------------------
  |  |  388|      1|#define SCTPCTL_OUTGOING_STREAMS_DEFAULT SCTP_OSTREAM_INITIAL
  |  |  ------------------
  |  |  |  |  621|      1|#define SCTP_OSTREAM_INITIAL 10
  |  |  ------------------
  ------------------
  121|      1|	SCTP_BASE_SYSCTL(sctp_cmt_on_off) = SCTPCTL_CMT_ON_OFF_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_cmt_on_off) = SCTPCTL_CMT_ON_OFF_DEFAULT;
  ------------------
  |  |  394|      1|#define SCTPCTL_CMT_ON_OFF_DEFAULT	SCTP_CMT_OFF
  |  |  ------------------
  |  |  |  |  314|      1|#define SCTP_CMT_OFF            0
  |  |  ------------------
  ------------------
  122|      1|	SCTP_BASE_SYSCTL(sctp_cmt_use_dac) = SCTPCTL_CMT_USE_DAC_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_cmt_use_dac) = SCTPCTL_CMT_USE_DAC_DEFAULT;
  ------------------
  |  |  400|      1|#define SCTPCTL_CMT_USE_DAC_DEFAULT    	0
  ------------------
  123|      1|	SCTP_BASE_SYSCTL(sctp_use_cwnd_based_maxburst) = SCTPCTL_CWND_MAXBURST_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_use_cwnd_based_maxburst) = SCTPCTL_CWND_MAXBURST_DEFAULT;
  ------------------
  |  |  406|      1|#define SCTPCTL_CWND_MAXBURST_DEFAULT	1
  ------------------
  124|      1|	SCTP_BASE_SYSCTL(sctp_nat_friendly) = SCTPCTL_NAT_FRIENDLY_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_nat_friendly) = SCTPCTL_NAT_FRIENDLY_DEFAULT;
  ------------------
  |  |  412|      1|#define SCTPCTL_NAT_FRIENDLY_DEFAULT	1
  ------------------
  125|      1|	SCTP_BASE_SYSCTL(sctp_L2_abc_variable) = SCTPCTL_ABC_L_VAR_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_L2_abc_variable) = SCTPCTL_ABC_L_VAR_DEFAULT;
  ------------------
  |  |  418|      1|#define SCTPCTL_ABC_L_VAR_DEFAULT	2
  ------------------
  126|      1|	SCTP_BASE_SYSCTL(sctp_mbuf_threshold_count) = SCTPCTL_MAX_CHAINED_MBUFS_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_mbuf_threshold_count) = SCTPCTL_MAX_CHAINED_MBUFS_DEFAULT;
  ------------------
  |  |  424|      1|#define SCTPCTL_MAX_CHAINED_MBUFS_DEFAULT	SCTP_DEFAULT_MBUFS_IN_CHAIN
  |  |  ------------------
  |  |  |  |  500|      1|#define SCTP_DEFAULT_MBUFS_IN_CHAIN 5
  |  |  ------------------
  ------------------
  127|      1|	SCTP_BASE_SYSCTL(sctp_do_drain) = SCTPCTL_DO_SCTP_DRAIN_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_do_drain) = SCTPCTL_DO_SCTP_DRAIN_DEFAULT;
  ------------------
  |  |  430|      1|#define SCTPCTL_DO_SCTP_DRAIN_DEFAULT	1
  ------------------
  128|      1|	SCTP_BASE_SYSCTL(sctp_hb_maxburst) = SCTPCTL_HB_MAX_BURST_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_hb_maxburst) = SCTPCTL_HB_MAX_BURST_DEFAULT;
  ------------------
  |  |  436|      1|#define SCTPCTL_HB_MAX_BURST_DEFAULT	SCTP_DEF_HBMAX_BURST
  |  |  ------------------
  |  |  |  |  334|      1|#define SCTP_DEF_HBMAX_BURST 4
  |  |  ------------------
  ------------------
  129|      1|	SCTP_BASE_SYSCTL(sctp_abort_if_one_2_one_hits_limit) = SCTPCTL_ABORT_AT_LIMIT_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_abort_if_one_2_one_hits_limit) = SCTPCTL_ABORT_AT_LIMIT_DEFAULT;
  ------------------
  |  |  442|      1|#define SCTPCTL_ABORT_AT_LIMIT_DEFAULT	0
  ------------------
  130|      1|	SCTP_BASE_SYSCTL(sctp_min_residual) = SCTPCTL_MIN_RESIDUAL_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_min_residual) = SCTPCTL_MIN_RESIDUAL_DEFAULT;
  ------------------
  |  |  448|      1|#define SCTPCTL_MIN_RESIDUAL_DEFAULT	1452
  ------------------
  131|      1|	SCTP_BASE_SYSCTL(sctp_max_retran_chunk) = SCTPCTL_MAX_RETRAN_CHUNK_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_max_retran_chunk) = SCTPCTL_MAX_RETRAN_CHUNK_DEFAULT;
  ------------------
  |  |  454|      1|#define SCTPCTL_MAX_RETRAN_CHUNK_DEFAULT	30
  ------------------
  132|      1|	SCTP_BASE_SYSCTL(sctp_logging_level) = SCTPCTL_LOGGING_LEVEL_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_logging_level) = SCTPCTL_LOGGING_LEVEL_DEFAULT;
  ------------------
  |  |  460|      1|#define SCTPCTL_LOGGING_LEVEL_DEFAULT	0
  ------------------
  133|      1|	SCTP_BASE_SYSCTL(sctp_default_cc_module) = SCTPCTL_DEFAULT_CC_MODULE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_default_cc_module) = SCTPCTL_DEFAULT_CC_MODULE_DEFAULT;
  ------------------
  |  |  466|      1|#define SCTPCTL_DEFAULT_CC_MODULE_DEFAULT	0
  ------------------
  134|      1|	SCTP_BASE_SYSCTL(sctp_default_ss_module) = SCTPCTL_DEFAULT_SS_MODULE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_default_ss_module) = SCTPCTL_DEFAULT_SS_MODULE_DEFAULT;
  ------------------
  |  |  472|      1|#define SCTPCTL_DEFAULT_SS_MODULE_DEFAULT	0
  ------------------
  135|      1|	SCTP_BASE_SYSCTL(sctp_default_frag_interleave) = SCTPCTL_DEFAULT_FRAG_INTERLEAVE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_default_frag_interleave) = SCTPCTL_DEFAULT_FRAG_INTERLEAVE_DEFAULT;
  ------------------
  |  |  478|      1|#define SCTPCTL_DEFAULT_FRAG_INTERLEAVE_DEFAULT	1
  ------------------
  136|      1|	SCTP_BASE_SYSCTL(sctp_mobility_base) = SCTPCTL_MOBILITY_BASE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_mobility_base) = SCTPCTL_MOBILITY_BASE_DEFAULT;
  ------------------
  |  |  484|      1|#define SCTPCTL_MOBILITY_BASE_DEFAULT	0
  ------------------
  137|      1|	SCTP_BASE_SYSCTL(sctp_mobility_fasthandoff) = SCTPCTL_MOBILITY_FASTHANDOFF_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_mobility_fasthandoff) = SCTPCTL_MOBILITY_FASTHANDOFF_DEFAULT;
  ------------------
  |  |  490|      1|#define SCTPCTL_MOBILITY_FASTHANDOFF_DEFAULT	0
  ------------------
  138|      1|	SCTP_BASE_SYSCTL(sctp_vtag_time_wait) = SCTPCTL_TIME_WAIT_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_vtag_time_wait) = SCTPCTL_TIME_WAIT_DEFAULT;
  ------------------
  |  |  518|      1|#define SCTPCTL_TIME_WAIT_DEFAULT	SCTP_TIME_WAIT
  |  |  ------------------
  |  |  |  |  929|      1|#define SCTP_TIME_WAIT 60
  |  |  ------------------
  ------------------
  139|      1|	SCTP_BASE_SYSCTL(sctp_buffer_splitting) = SCTPCTL_BUFFER_SPLITTING_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_buffer_splitting) = SCTPCTL_BUFFER_SPLITTING_DEFAULT;
  ------------------
  |  |  524|      1|#define SCTPCTL_BUFFER_SPLITTING_DEFAULT	SCTPCTL_BUFFER_SPLITTING_MIN
  |  |  ------------------
  |  |  |  |  522|      1|#define SCTPCTL_BUFFER_SPLITTING_MIN		0
  |  |  ------------------
  ------------------
  140|      1|	SCTP_BASE_SYSCTL(sctp_initial_cwnd) = SCTPCTL_INITIAL_CWND_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_initial_cwnd) = SCTPCTL_INITIAL_CWND_DEFAULT;
  ------------------
  |  |  530|      1|#define SCTPCTL_INITIAL_CWND_DEFAULT	3
  ------------------
  141|      1|	SCTP_BASE_SYSCTL(sctp_rttvar_bw) = SCTPCTL_RTTVAR_BW_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_rttvar_bw) = SCTPCTL_RTTVAR_BW_DEFAULT;
  ------------------
  |  |  536|      1|#define SCTPCTL_RTTVAR_BW_DEFAULT	4
  ------------------
  142|      1|	SCTP_BASE_SYSCTL(sctp_rttvar_rtt) = SCTPCTL_RTTVAR_RTT_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_rttvar_rtt) = SCTPCTL_RTTVAR_RTT_DEFAULT;
  ------------------
  |  |  542|      1|#define SCTPCTL_RTTVAR_RTT_DEFAULT	5
  ------------------
  143|      1|	SCTP_BASE_SYSCTL(sctp_rttvar_eqret) = SCTPCTL_RTTVAR_EQRET_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_rttvar_eqret) = SCTPCTL_RTTVAR_EQRET_DEFAULT;
  ------------------
  |  |  547|      1|#define SCTPCTL_RTTVAR_EQRET_DEFAULT	0
  ------------------
  144|      1|	SCTP_BASE_SYSCTL(sctp_steady_step) = SCTPCTL_RTTVAR_STEADYS_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_steady_step) = SCTPCTL_RTTVAR_STEADYS_DEFAULT;
  ------------------
  |  |  552|      1|#define SCTPCTL_RTTVAR_STEADYS_DEFAULT	20 /* 0 means disable feature */
  ------------------
  145|      1|	SCTP_BASE_SYSCTL(sctp_use_dccc_ecn) = SCTPCTL_RTTVAR_DCCCECN_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_use_dccc_ecn) = SCTPCTL_RTTVAR_DCCCECN_DEFAULT;
  ------------------
  |  |  557|      1|#define SCTPCTL_RTTVAR_DCCCECN_DEFAULT	1 /* 0 means disable feature */
  ------------------
  146|      1|	SCTP_BASE_SYSCTL(sctp_blackhole) = SCTPCTL_BLACKHOLE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_blackhole) = SCTPCTL_BLACKHOLE_DEFAULT;
  ------------------
  |  |  562|      1|#define SCTPCTL_BLACKHOLE_DEFAULT	SCTPCTL_BLACKHOLE_MIN
  |  |  ------------------
  |  |  |  |  560|      1|#define SCTPCTL_BLACKHOLE_MIN		0
  |  |  ------------------
  ------------------
  147|      1|	SCTP_BASE_SYSCTL(sctp_sendall_limit) = SCTPCTL_SENDALL_LIMIT_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_sendall_limit) = SCTPCTL_SENDALL_LIMIT_DEFAULT;
  ------------------
  |  |  568|      1|#define SCTPCTL_SENDALL_LIMIT_DEFAULT	1432
  ------------------
  148|      1|	SCTP_BASE_SYSCTL(sctp_diag_info_code) = SCTPCTL_DIAG_INFO_CODE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_diag_info_code) = SCTPCTL_DIAG_INFO_CODE_DEFAULT;
  ------------------
  |  |  573|      1|#define SCTPCTL_DIAG_INFO_CODE_DEFAULT	0
  ------------------
  149|      1|	SCTP_BASE_SYSCTL(sctp_ootb_with_zero_cksum) = SCTPCTL_OOTB_WITH_ZERO_CKSUM_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_ootb_with_zero_cksum) = SCTPCTL_OOTB_WITH_ZERO_CKSUM_DEFAULT;
  ------------------
  |  |  578|      1|#define SCTPCTL_OOTB_WITH_ZERO_CKSUM_DEFAULT	0
  ------------------
  150|       |#if defined(SCTP_LOCAL_TRACE_BUF)
  151|       |#if defined(_WIN32) && !defined(__Userspace__)
  152|       |	/* On Windows, the resource for global variables is limited. */
  153|       |	MALLOC(SCTP_BASE_SYSCTL(sctp_log), struct sctp_log *, sizeof(struct sctp_log), M_SYSCTL, M_ZERO);
  154|       |#else
  155|       |	memset(&SCTP_BASE_SYSCTL(sctp_log), 0, sizeof(struct sctp_log));
  156|       |#endif
  157|       |#endif
  158|      1|	SCTP_BASE_SYSCTL(sctp_udp_tunneling_port) = SCTPCTL_UDP_TUNNELING_PORT_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_udp_tunneling_port) = SCTPCTL_UDP_TUNNELING_PORT_DEFAULT;
  ------------------
  |  |  499|      1|#define SCTPCTL_UDP_TUNNELING_PORT_DEFAULT	SCTP_OVER_UDP_TUNNELING_PORT
  |  |  ------------------
  |  |  |  |   43|      1|#define SCTP_OVER_UDP_TUNNELING_PORT 9899
  |  |  ------------------
  ------------------
  159|      1|	SCTP_BASE_SYSCTL(sctp_enable_sack_immediately) = SCTPCTL_SACK_IMMEDIATELY_ENABLE_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_enable_sack_immediately) = SCTPCTL_SACK_IMMEDIATELY_ENABLE_DEFAULT;
  ------------------
  |  |  506|      1|#define SCTPCTL_SACK_IMMEDIATELY_ENABLE_DEFAULT	SCTPCTL_SACK_IMMEDIATELY_ENABLE_MAX
  |  |  ------------------
  |  |  |  |  505|      1|#define SCTPCTL_SACK_IMMEDIATELY_ENABLE_MAX	1
  |  |  ------------------
  ------------------
  160|      1|	SCTP_BASE_SYSCTL(sctp_inits_include_nat_friendly) = SCTPCTL_NAT_FRIENDLY_INITS_DEFAULT;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	SCTP_BASE_SYSCTL(sctp_inits_include_nat_friendly) = SCTPCTL_NAT_FRIENDLY_INITS_DEFAULT;
  ------------------
  |  |  512|      1|#define SCTPCTL_NAT_FRIENDLY_INITS_DEFAULT	SCTPCTL_NAT_FRIENDLY_INITS_MIN
  |  |  ------------------
  |  |  |  |  510|      1|#define SCTPCTL_NAT_FRIENDLY_INITS_MIN	0
  |  |  ------------------
  ------------------
  161|       |#if defined(SCTP_DEBUG)
  162|       |	SCTP_BASE_SYSCTL(sctp_debug_on) = SCTPCTL_DEBUG_DEFAULT;
  163|       |#endif
  164|       |#if defined(__APPLE__) && !defined(__Userspace__)
  165|       |	SCTP_BASE_SYSCTL(sctp_ignore_vmware_interfaces) = SCTPCTL_IGNORE_VMWARE_INTERFACES_DEFAULT;
  166|       |	SCTP_BASE_SYSCTL(sctp_main_timer) = SCTPCTL_MAIN_TIMER_DEFAULT;
  167|       |	SCTP_BASE_SYSCTL(sctp_addr_watchdog_limit) = SCTPCTL_ADDR_WATCHDOG_LIMIT_DEFAULT;
  168|       |	SCTP_BASE_SYSCTL(sctp_vtag_watchdog_limit) = SCTPCTL_VTAG_WATCHDOG_LIMIT_DEFAULT;
  169|       |#endif
  170|       |#if defined(__APPLE__) && !defined(__Userspace__)
  171|       |	SCTP_BASE_SYSCTL(sctp_output_unlocked) = SCTPCTL_OUTPUT_UNLOCKED_DEFAULT;
  172|       |#endif
  173|      1|}

sctp_find_alternate_net:
  174|  1.94k|{
  175|       |	/* Find and return an alternate network if possible */
  176|  1.94k|	struct sctp_nets *alt, *mnet, *min_errors_net = NULL , *max_cwnd_net = NULL;
  177|  1.94k|	bool looped;
  178|       |	/* JRS 5/14/07 - Initialize min_errors to an impossible value. */
  179|  1.94k|	int min_errors = -1;
  180|  1.94k|	uint32_t max_cwnd = 0;
  181|       |
  182|  1.94k|	if (stcb->asoc.numnets == 1) {
  ------------------
  |  Branch (182:6): [True: 96, False: 1.85k]
  ------------------
  183|       |		/* No selection can be made. */
  184|     96|		return (TAILQ_FIRST(&stcb->asoc.nets));
  185|     96|	}
  186|       |	/*
  187|       |	 * JRS 5/14/07 - If mode is set to 2, use the CMT PF find alternate net algorithm.
  188|       |	 * This algorithm chooses the active destination (not in PF state) with the largest
  189|       |	 * cwnd value. If all destinations are in PF state, unreachable, or unconfirmed, choose
  190|       |	 * the destination that is in PF state with the lowest error count. In case of a tie,
  191|       |	 * choose the destination that was most recently active.
  192|       |	 */
  193|  1.85k|	if (mode == 2) {
  ------------------
  |  Branch (193:6): [True: 0, False: 1.85k]
  ------------------
  194|      0|		TAILQ_FOREACH(mnet, &stcb->asoc.nets, sctp_next) {
  195|       |			/* JRS 5/14/07 - If the destination is unreachable or unconfirmed, skip it. */
  196|      0|			if (((mnet->dest_state & SCTP_ADDR_REACHABLE) != SCTP_ADDR_REACHABLE) ||
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
              			if (((mnet->dest_state & SCTP_ADDR_REACHABLE) != SCTP_ADDR_REACHABLE) ||
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (196:8): [True: 0, False: 0]
  ------------------
  197|      0|			    (mnet->dest_state & SCTP_ADDR_UNCONFIRMED)) {
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (197:8): [True: 0, False: 0]
  ------------------
  198|      0|				continue;
  199|      0|			}
  200|       |			/*
  201|       |			 * JRS 5/14/07 -  If the destination is reachable but in PF state, compare
  202|       |			 *  the error count of the destination to the minimum error count seen thus far.
  203|       |			 *  Store the destination with the lower error count.  If the error counts are
  204|       |			 *  equal, store the destination that was most recently active.
  205|       |			 */
  206|      0|			if (mnet->dest_state & SCTP_ADDR_PF) {
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (206:8): [True: 0, False: 0]
  ------------------
  207|       |				/*
  208|       |				 * JRS 5/14/07 - If the destination under consideration is the current
  209|       |				 *  destination, work as if the error count is one higher.  The
  210|       |				 *  actual error count will not be incremented until later in the
  211|       |				 *  t3 handler.
  212|       |				 */
  213|      0|				if (mnet == net) {
  ------------------
  |  Branch (213:9): [True: 0, False: 0]
  ------------------
  214|      0|					if (min_errors == -1) {
  ------------------
  |  Branch (214:10): [True: 0, False: 0]
  ------------------
  215|      0|						min_errors = mnet->error_count + 1;
  216|      0|						min_errors_net = mnet;
  217|      0|					} else if (mnet->error_count + 1 < min_errors) {
  ------------------
  |  Branch (217:17): [True: 0, False: 0]
  ------------------
  218|      0|						min_errors = mnet->error_count + 1;
  219|      0|						min_errors_net = mnet;
  220|      0|					} else if (mnet->error_count + 1 == min_errors
  ------------------
  |  Branch (220:17): [True: 0, False: 0]
  ------------------
  221|      0|								&& mnet->last_active > min_errors_net->last_active) {
  ------------------
  |  Branch (221:12): [True: 0, False: 0]
  ------------------
  222|      0|						min_errors_net = mnet;
  223|      0|						min_errors = mnet->error_count + 1;
  224|      0|					}
  225|      0|					continue;
  226|      0|				} else {
  227|      0|					if (min_errors == -1) {
  ------------------
  |  Branch (227:10): [True: 0, False: 0]
  ------------------
  228|      0|						min_errors = mnet->error_count;
  229|      0|						min_errors_net = mnet;
  230|      0|					} else if (mnet->error_count < min_errors) {
  ------------------
  |  Branch (230:17): [True: 0, False: 0]
  ------------------
  231|      0|						min_errors = mnet->error_count;
  232|      0|						min_errors_net = mnet;
  233|      0|					} else if (mnet->error_count == min_errors
  ------------------
  |  Branch (233:17): [True: 0, False: 0]
  ------------------
  234|      0|								&& mnet->last_active > min_errors_net->last_active) {
  ------------------
  |  Branch (234:12): [True: 0, False: 0]
  ------------------
  235|      0|						min_errors_net = mnet;
  236|      0|						min_errors = mnet->error_count;
  237|      0|					}
  238|      0|					continue;
  239|      0|				}
  240|      0|			}
  241|       |			/*
  242|       |			 * JRS 5/14/07 - If the destination is reachable and not in PF state, compare the
  243|       |			 *  cwnd of the destination to the highest cwnd seen thus far.  Store the
  244|       |			 *  destination with the higher cwnd value.  If the cwnd values are equal,
  245|       |			 *  randomly choose one of the two destinations.
  246|       |			 */
  247|      0|			if (max_cwnd < mnet->cwnd) {
  ------------------
  |  Branch (247:8): [True: 0, False: 0]
  ------------------
  248|      0|				max_cwnd_net = mnet;
  249|      0|				max_cwnd = mnet->cwnd;
  250|      0|			} else if (max_cwnd == mnet->cwnd) {
  ------------------
  |  Branch (250:15): [True: 0, False: 0]
  ------------------
  251|      0|				uint32_t rndval;
  252|      0|				uint8_t this_random;
  253|       |
  254|      0|				if (stcb->asoc.hb_random_idx > 3) {
  ------------------
  |  Branch (254:9): [True: 0, False: 0]
  ------------------
  255|      0|					rndval = sctp_select_initial_TSN(&stcb->sctp_ep->sctp_ep);
  256|      0|					memcpy(stcb->asoc.hb_random_values, &rndval, sizeof(stcb->asoc.hb_random_values));
  257|      0|					this_random = stcb->asoc.hb_random_values[0];
  258|      0|					stcb->asoc.hb_random_idx++;
  259|      0|					stcb->asoc.hb_ect_randombit = 0;
  260|      0|				} else {
  261|      0|					this_random = stcb->asoc.hb_random_values[stcb->asoc.hb_random_idx];
  262|      0|					stcb->asoc.hb_random_idx++;
  263|      0|					stcb->asoc.hb_ect_randombit = 0;
  264|      0|				}
  265|      0|				if (this_random % 2 == 1) {
  ------------------
  |  Branch (265:9): [True: 0, False: 0]
  ------------------
  266|      0|					max_cwnd_net = mnet;
  267|      0|					max_cwnd = mnet->cwnd; /* Useless? */
  268|      0|				}
  269|      0|			}
  270|      0|		}
  271|      0|		if (max_cwnd_net == NULL) {
  ------------------
  |  Branch (271:7): [True: 0, False: 0]
  ------------------
  272|      0|			if (min_errors_net == NULL) {
  ------------------
  |  Branch (272:8): [True: 0, False: 0]
  ------------------
  273|      0|				return (net);
  274|      0|			}
  275|      0|			return (min_errors_net);
  276|      0|		} else {
  277|      0|			return (max_cwnd_net);
  278|      0|		}
  279|      0|	} /* JRS 5/14/07 - If mode is set to 1, use the CMT policy for choosing an alternate net. */
  280|  1.85k|	else if (mode == 1) {
  ------------------
  |  Branch (280:11): [True: 0, False: 1.85k]
  ------------------
  281|      0|		TAILQ_FOREACH(mnet, &stcb->asoc.nets, sctp_next) {
  282|      0|			if (((mnet->dest_state & SCTP_ADDR_REACHABLE) != SCTP_ADDR_REACHABLE) ||
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
              			if (((mnet->dest_state & SCTP_ADDR_REACHABLE) != SCTP_ADDR_REACHABLE) ||
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (282:8): [True: 0, False: 0]
  ------------------
  283|      0|			    (mnet->dest_state & SCTP_ADDR_UNCONFIRMED)) {
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (283:8): [True: 0, False: 0]
  ------------------
  284|       |				/*
  285|       |				 * will skip ones that are not-reachable or
  286|       |				 * unconfirmed
  287|       |				 */
  288|      0|				continue;
  289|      0|			}
  290|      0|			if (max_cwnd < mnet->cwnd) {
  ------------------
  |  Branch (290:8): [True: 0, False: 0]
  ------------------
  291|      0|				max_cwnd_net = mnet;
  292|      0|				max_cwnd = mnet->cwnd;
  293|      0|			} else if (max_cwnd == mnet->cwnd) {
  ------------------
  |  Branch (293:15): [True: 0, False: 0]
  ------------------
  294|      0|				uint32_t rndval;
  295|      0|				uint8_t this_random;
  296|       |
  297|      0|				if (stcb->asoc.hb_random_idx > 3) {
  ------------------
  |  Branch (297:9): [True: 0, False: 0]
  ------------------
  298|      0|					rndval = sctp_select_initial_TSN(&stcb->sctp_ep->sctp_ep);
  299|      0|					memcpy(stcb->asoc.hb_random_values, &rndval,
  300|      0|					    sizeof(stcb->asoc.hb_random_values));
  301|      0|					this_random = stcb->asoc.hb_random_values[0];
  302|      0|					stcb->asoc.hb_random_idx = 0;
  303|      0|					stcb->asoc.hb_ect_randombit = 0;
  304|      0|				} else {
  305|      0|					this_random = stcb->asoc.hb_random_values[stcb->asoc.hb_random_idx];
  306|      0|					stcb->asoc.hb_random_idx++;
  307|      0|					stcb->asoc.hb_ect_randombit = 0;
  308|      0|				}
  309|      0|				if (this_random % 2) {
  ------------------
  |  Branch (309:9): [True: 0, False: 0]
  ------------------
  310|      0|					max_cwnd_net = mnet;
  311|      0|					max_cwnd = mnet->cwnd;
  312|      0|				}
  313|      0|			}
  314|      0|		}
  315|      0|		if (max_cwnd_net) {
  ------------------
  |  Branch (315:7): [True: 0, False: 0]
  ------------------
  316|      0|			return (max_cwnd_net);
  317|      0|		}
  318|      0|	}
  319|       |	/* Look for an alternate net, which is active. */
  320|  1.85k|	if ((net != NULL) && ((net->dest_state & SCTP_ADDR_BEING_DELETED) == 0)) {
  ------------------
  |  |  484|  1.85k|#define SCTP_ADDR_BEING_DELETED		0x008
  ------------------
  |  Branch (320:6): [True: 1.85k, False: 0]
  |  Branch (320:23): [True: 1.85k, False: 0]
  ------------------
  321|  1.85k|		alt = TAILQ_NEXT(net, sctp_next);
  322|  1.85k|	} else {
  323|      0|		alt = TAILQ_FIRST(&stcb->asoc.nets);
  324|      0|	}
  325|  1.85k|	looped = false;
  326|  3.20k|	for (;;) {
  327|  3.20k|		if (alt == NULL) {
  ------------------
  |  Branch (327:7): [True: 1.04k, False: 2.15k]
  ------------------
  328|  1.04k|			if (!looped) {
  ------------------
  |  Branch (328:8): [True: 953, False: 91]
  ------------------
  329|    953|				alt = TAILQ_FIRST(&stcb->asoc.nets);
  330|    953|				looped = true;
  331|    953|			}
  332|       |			/* Definitely out of candidates. */
  333|  1.04k|			if (alt == NULL) {
  ------------------
  |  Branch (333:8): [True: 91, False: 953]
  ------------------
  334|     91|				break;
  335|     91|			}
  336|  1.04k|		}
  337|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  338|       |		if (alt->ro.ro_nh == NULL) {
  339|       |#else
  340|  3.11k|		if (alt->ro.ro_rt == NULL) {
  ------------------
  |  Branch (340:7): [True: 0, False: 3.11k]
  ------------------
  341|      0|#endif
  342|      0|			if (alt->ro._s_addr) {
  ------------------
  |  Branch (342:8): [True: 0, False: 0]
  ------------------
  343|      0|				sctp_free_ifa(alt->ro._s_addr);
  344|      0|				alt->ro._s_addr = NULL;
  345|      0|			}
  346|      0|			alt->src_addr_selected = 0;
  347|      0|		}
  348|  3.11k|		if (((alt->dest_state & SCTP_ADDR_REACHABLE) == SCTP_ADDR_REACHABLE) &&
  ------------------
  |  |  481|  3.11k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
              		if (((alt->dest_state & SCTP_ADDR_REACHABLE) == SCTP_ADDR_REACHABLE) &&
  ------------------
  |  |  481|  3.11k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (348:7): [True: 3.11k, False: 0]
  ------------------
  349|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  350|       |		    (alt->ro.ro_nh != NULL) &&
  351|       |#else
  352|  3.11k|		    (alt->ro.ro_rt != NULL) &&
  ------------------
  |  Branch (352:7): [True: 3.11k, False: 0]
  ------------------
  353|  3.11k|#endif
  354|  3.11k|		    ((alt->dest_state & SCTP_ADDR_UNCONFIRMED) == 0) &&
  ------------------
  |  |  487|  3.11k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (354:7): [True: 1.85k, False: 1.26k]
  ------------------
  355|  3.11k|		    (alt != net)) {
  ------------------
  |  Branch (355:7): [True: 1.75k, False: 91]
  ------------------
  356|       |			/* Found an alternate net, which is reachable. */
  357|  1.75k|			break;
  358|  1.75k|		}
  359|  1.35k|		alt = TAILQ_NEXT(alt, sctp_next);
  360|  1.35k|	}
  361|       |
  362|  1.85k|	if (alt == NULL) {
  ------------------
  |  Branch (362:6): [True: 91, False: 1.75k]
  ------------------
  363|       |		/*
  364|       |		 * In case no active alternate net has been found, look for
  365|       |		 * an alternate net, which is confirmed.
  366|       |		 */
  367|     91|		if ((net != NULL) && ((net->dest_state & SCTP_ADDR_BEING_DELETED) == 0)) {
  ------------------
  |  |  484|     91|#define SCTP_ADDR_BEING_DELETED		0x008
  ------------------
  |  Branch (367:7): [True: 91, False: 0]
  |  Branch (367:24): [True: 91, False: 0]
  ------------------
  368|     91|			alt = TAILQ_NEXT(net, sctp_next);
  369|     91|		} else {
  370|      0|			alt = TAILQ_FIRST(&stcb->asoc.nets);
  371|      0|		}
  372|     91|		looped = false;
  373|    588|		for (;;) {
  374|    588|			if (alt == NULL) {
  ------------------
  |  Branch (374:8): [True: 182, False: 406]
  ------------------
  375|    182|				if (!looped) {
  ------------------
  |  Branch (375:9): [True: 91, False: 91]
  ------------------
  376|     91|					alt = TAILQ_FIRST(&stcb->asoc.nets);
  377|     91|					looped = true;
  378|     91|				}
  379|       |				/* Definitely out of candidates. */
  380|    182|				if (alt == NULL) {
  ------------------
  |  Branch (380:9): [True: 91, False: 91]
  ------------------
  381|     91|					break;
  382|     91|				}
  383|    182|			}
  384|    497|			if (((alt->dest_state & SCTP_ADDR_UNCONFIRMED) == 0) &&
  ------------------
  |  |  487|    497|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (384:8): [True: 91, False: 406]
  ------------------
  385|    497|			    (alt != net)) {
  ------------------
  |  Branch (385:8): [True: 0, False: 91]
  ------------------
  386|       |				/* Found an alternate net, which is confirmed. */
  387|      0|				break;
  388|      0|			}
  389|    497|			alt = TAILQ_NEXT(alt, sctp_next);
  390|    497|		}
  391|     91|	}
  392|  1.85k|	if (alt == NULL) {
  ------------------
  |  Branch (392:6): [True: 91, False: 1.75k]
  ------------------
  393|       |		/*
  394|       |		 * In case no confirmed alternate net has been found, just
  395|       |		 * return net, if it is not being deleted. In the other case
  396|       |		 * just return the first net.
  397|       |		 */
  398|     91|		if ((net != NULL) && ((net->dest_state & SCTP_ADDR_BEING_DELETED) == 0)) {
  ------------------
  |  |  484|     91|#define SCTP_ADDR_BEING_DELETED		0x008
  ------------------
  |  Branch (398:7): [True: 91, False: 0]
  |  Branch (398:24): [True: 91, False: 0]
  ------------------
  399|     91|			alt = net;
  400|     91|		}
  401|     91|		if (alt == NULL) {
  ------------------
  |  Branch (401:7): [True: 0, False: 91]
  ------------------
  402|      0|			alt = TAILQ_FIRST(&stcb->asoc.nets);
  403|      0|		}
  404|     91|	}
  405|  1.85k|	return (alt);
  406|  1.85k|}

sctp_userspace_thread_create:
   78|      4|{
   79|      4|	return pthread_create(thread, NULL, start_routine, NULL);
   80|      4|}
sctp_userspace_set_threadname:
   85|      4|{
   86|       |#if defined(__APPLE__)
   87|       |	pthread_setname_np(name);
   88|       |#endif
   89|      4|#if defined(__linux__)
   90|      4|	prctl(PR_SET_NAME, name);
   91|      4|#endif
   92|       |#if defined(__FreeBSD__)
   93|       |	pthread_set_name_np(pthread_self(), name);
   94|       |#endif
   95|      4|}
sctp_userspace_get_mtu_from_ifn:
  100|      3|{
  101|      3|#if defined(INET) || defined(INET6)
  102|      3|	struct ifreq ifr;
  103|      3|	int fd;
  104|      3|#endif
  105|      3|	int mtu;
  106|       |
  107|      3|	if (if_index == 0xffffffff) {
  ------------------
  |  Branch (107:6): [True: 1, False: 2]
  ------------------
  108|      1|		mtu = 1280;
  109|      2|	} else {
  110|      2|		mtu = 0;
  111|      2|#if defined(INET) || defined(INET6)
  112|      2|		memset(&ifr, 0, sizeof(struct ifreq));
  113|      2|		if (if_indextoname(if_index, ifr.ifr_name) != NULL) {
  ------------------
  |  Branch (113:7): [True: 2, False: 0]
  ------------------
  114|       |			/* TODO can I use the raw socket here and not have to open a new one with each query? */
  115|      2|#if defined(INET)
  116|      2|			if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) >= 0) {
  ------------------
  |  Branch (116:8): [True: 2, False: 0]
  ------------------
  117|       |#else
  118|       |			if ((fd = socket(AF_INET6, SOCK_DGRAM, 0)) >= 0) {
  119|       |#endif
  120|      2|				if (ioctl(fd, SIOCGIFMTU, &ifr) >= 0) {
  ------------------
  |  Branch (120:9): [True: 2, False: 0]
  ------------------
  121|      2|					mtu = ifr.ifr_mtu;
  122|      2|				}
  123|      2|				close(fd);
  124|      2|			}
  125|      2|		}
  126|      2|#endif
  127|      2|	}
  128|      3|	return (mtu);
  129|      3|}

sctp_init:
   84|      1|{
   85|       |#if !defined(__Userspace__)
   86|       |	u_long sb_max_adj;
   87|       |
   88|       |#else
   89|      1|	init_random();
   90|      1|#endif
   91|       |	/* Initialize and modify the sysctled variables */
   92|      1|	sctp_init_sysctls();
   93|      1|#if defined(__Userspace__)
   94|      1|	SCTP_BASE_SYSCTL(sctp_udp_tunneling_port) = port;
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
   95|       |#else
   96|       |#if defined(__APPLE__) && !defined(__Userspace__)
   97|       |	sb_max_adj = (u_long)((u_quad_t) (sb_max) * MCLBYTES / (MSIZE + MCLBYTES));
   98|       |	SCTP_BASE_SYSCTL(sctp_sendspace) = sb_max_adj;
   99|       |#else
  100|       |	if ((nmbclusters / 8) > SCTP_ASOC_MAX_CHUNKS_ON_QUEUE)
  101|       |		SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue) = (nmbclusters / 8);
  102|       |	/*
  103|       |	 * Allow a user to take no more than 1/2 the number of clusters or
  104|       |	 * the SB_MAX, whichever is smaller, for the send window.
  105|       |	 */
  106|       |	sb_max_adj = (u_long)((u_quad_t) (SB_MAX) * MCLBYTES / (MSIZE + MCLBYTES));
  107|       |	SCTP_BASE_SYSCTL(sctp_sendspace) = min(sb_max_adj,
  108|       |	    (((uint32_t)nmbclusters / 2) * MCLBYTES));
  109|       |#endif
  110|       |	/*
  111|       |	 * Now for the recv window, should we take the same amount? or
  112|       |	 * should I do 1/2 the SB_MAX instead in the SB_MAX min above. For
  113|       |	 * now I will just copy.
  114|       |	 */
  115|       |	SCTP_BASE_SYSCTL(sctp_recvspace) = SCTP_BASE_SYSCTL(sctp_sendspace);
  116|       |#endif
  117|      1|	SCTP_BASE_VAR(first_time) = 0;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  118|      1|	SCTP_BASE_VAR(sctp_pcb_initialized) = 0;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  119|      1|#if defined(__Userspace__)
  120|      1|#if !defined(_WIN32)
  121|      1|#if defined(INET) || defined(INET6)
  122|      1|	SCTP_BASE_VAR(userspace_route) = -1;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  123|      1|#endif
  124|      1|#endif
  125|      1|#ifdef INET
  126|      1|	SCTP_BASE_VAR(userspace_rawsctp) = -1;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  127|      1|	SCTP_BASE_VAR(userspace_udpsctp) = -1;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  128|      1|#endif
  129|      1|#ifdef INET6
  130|      1|	SCTP_BASE_VAR(userspace_rawsctp6) = -1;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  131|      1|	SCTP_BASE_VAR(userspace_udpsctp6) = -1;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  132|      1|#endif
  133|      1|	SCTP_BASE_VAR(timer_thread_should_exit) = 0;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  134|      1|	SCTP_BASE_VAR(conn_output) = conn_output;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  135|      1|	SCTP_BASE_VAR(debug_printf) = debug_printf;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  136|      1|	SCTP_BASE_VAR(crc32c_offloaded) = 0;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  137|      1|	SCTP_BASE_VAR(iterator_thread_started) = 0;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  138|      1|	SCTP_BASE_VAR(timer_thread_started) = 0;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  139|      1|#endif
  140|      1|#if defined(__Userspace__)
  141|      1|	sctp_pcb_init(start_threads);
  142|      1|	if (start_threads) {
  ------------------
  |  Branch (142:6): [True: 1, False: 0]
  ------------------
  143|      1|		sctp_start_timer_thread();
  144|      1|	}
  145|       |#else
  146|       |	sctp_pcb_init();
  147|       |#endif
  148|       |#if defined(SCTP_PACKET_LOGGING)
  149|       |	SCTP_BASE_VAR(packet_log_writers) = 0;
  150|       |	SCTP_BASE_VAR(packet_log_end) = 0;
  151|       |	memset(&SCTP_BASE_VAR(packet_log_buffer), 0, SCTP_PACKET_LOG_SIZE);
  152|       |#endif
  153|       |#if defined(__APPLE__) && !defined(__Userspace__)
  154|       |	SCTP_BASE_VAR(sctp_main_timer_ticks) = 0;
  155|       |	sctp_start_main_timer();
  156|       |	timeout(sctp_delayed_startup, NULL, 1);
  157|       |#endif
  158|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  159|       |	SCTP_BASE_VAR(eh_tag) = EVENTHANDLER_REGISTER(rt_addrmsg,
  160|       |	    sctp_addr_change_event_handler, NULL, EVENTHANDLER_PRI_FIRST);
  161|       |#endif
  162|      1|}
sctpconn_attach:
  815|  11.5k|{
  816|  11.5k|	struct sctp_inpcb *inp;
  817|  11.5k|	struct inpcb *ip_inp;
  818|  11.5k|	int error;
  819|       |
  820|  11.5k|	inp = (struct sctp_inpcb *)so->so_pcb;
  821|  11.5k|	if (inp != NULL) {
  ------------------
  |  Branch (821:6): [True: 0, False: 11.5k]
  ------------------
  822|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
  823|      0|		return (EINVAL);
  824|      0|	}
  825|  11.5k|	if (so->so_snd.sb_hiwat == 0 || so->so_rcv.sb_hiwat == 0) {
  ------------------
  |  Branch (825:6): [True: 11.5k, False: 0]
  |  Branch (825:34): [True: 0, False: 0]
  ------------------
  826|  11.5k|		error = SCTP_SORESERVE(so, SCTP_BASE_SYSCTL(sctp_sendspace), SCTP_BASE_SYSCTL(sctp_recvspace));
  ------------------
  |  |  957|  11.5k|#define SCTP_SORESERVE(so, send, recv)	soreserve(so, send, recv)
  ------------------
  827|  11.5k|		if (error) {
  ------------------
  |  Branch (827:7): [True: 0, False: 11.5k]
  ------------------
  828|      0|			return (error);
  829|      0|		}
  830|  11.5k|	}
  831|  11.5k|	error = sctp_inpcb_alloc(so, vrf_id);
  832|  11.5k|	if (error) {
  ------------------
  |  Branch (832:6): [True: 0, False: 11.5k]
  ------------------
  833|      0|		return (error);
  834|      0|	}
  835|  11.5k|	inp = (struct sctp_inpcb *)so->so_pcb;
  836|  11.5k|	SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  837|  11.5k|	inp->sctp_flags &= ~SCTP_PCB_FLAGS_BOUND_V6;
  ------------------
  |  |  547|  11.5k|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  838|  11.5k|	inp->sctp_flags |= SCTP_PCB_FLAGS_BOUND_CONN;
  ------------------
  |  |  553|  11.5k|#define SCTP_PCB_FLAGS_BOUND_CONN       0x80000000
  ------------------
  839|  11.5k|	ip_inp = &inp->ip_inp.inp;
  840|  11.5k|	ip_inp->inp_vflag |= INP_CONN;
  ------------------
  |  |  124|  11.5k|#define INP_CONN        0x80
  ------------------
  841|  11.5k|	ip_inp->inp_ip_ttl = MODULE_GLOBAL(ip_defttl);
  ------------------
  |  |   65|  11.5k|#define MODULE_GLOBAL(_B) (_B)
  ------------------
  842|  11.5k|	SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  843|  11.5k|	return (0);
  844|  11.5k|}
sctpconn_bind:
  848|  11.5k|{
  849|  11.5k|	struct sctp_inpcb *inp;
  850|       |
  851|  11.5k|	inp = (struct sctp_inpcb *)so->so_pcb;
  852|  11.5k|	if (inp == NULL) {
  ------------------
  |  Branch (852:6): [True: 0, False: 11.5k]
  ------------------
  853|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
  854|      0|		return (EINVAL);
  855|      0|	}
  856|  11.5k|	if (addr != NULL) {
  ------------------
  |  Branch (856:6): [True: 11.5k, False: 0]
  ------------------
  857|       |#ifdef HAVE_SA_LEN
  858|       |		if ((addr->sa_family != AF_CONN) ||
  859|       |		    (addr->sa_len != sizeof(struct sockaddr_conn))) {
  860|       |#else
  861|  11.5k|		if (addr->sa_family != AF_CONN) {
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (861:7): [True: 0, False: 11.5k]
  ------------------
  862|      0|#endif
  863|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
  864|      0|			return (EINVAL);
  865|      0|		}
  866|  11.5k|	}
  867|  11.5k|	return (sctp_inpcb_bind(so, addr, NULL, NULL));
  868|  11.5k|}
sctp_close:
  874|  11.5k|{
  875|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  876|       |	struct epoch_tracker et;
  877|       |#endif
  878|  11.5k|	struct sctp_inpcb *inp;
  879|       |
  880|  11.5k|	inp = (struct sctp_inpcb *)so->so_pcb;
  881|  11.5k|	if (inp == NULL)
  ------------------
  |  Branch (881:6): [True: 0, False: 11.5k]
  ------------------
  882|      0|		return;
  883|       |
  884|       |	/* Inform all the lower layer assoc that we
  885|       |	 * are done.
  886|       |	 */
  887|  11.5k|	SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  888|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  889|       |	NET_EPOCH_ENTER(et);
  890|       |#endif
  891|       |#ifdef SCTP_LOG_CLOSING
  892|       |	sctp_log_closing(inp, NULL, 17);
  893|       |#endif
  894|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) == 0) {
  ------------------
  |  |  549|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (894:6): [True: 11.5k, False: 0]
  ------------------
  895|  11.5k|		inp->sctp_flags |= SCTP_PCB_FLAGS_SOCKET_GONE | SCTP_PCB_FLAGS_CLOSE_IP;
  ------------------
  |  |  549|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
              		inp->sctp_flags |= SCTP_PCB_FLAGS_SOCKET_GONE | SCTP_PCB_FLAGS_CLOSE_IP;
  ------------------
  |  |  537|  11.5k|#define SCTP_PCB_FLAGS_CLOSE_IP         0x00040000
  ------------------
  896|  11.5k|#if defined(__Userspace__)
  897|  11.5k|		if (((so->so_options & SCTP_SO_LINGER) && (so->so_linger == 0)) ||
  ------------------
  |  |   52|  11.5k|#define SCTP_SO_LINGER     0x0001
  ------------------
  |  Branch (897:8): [True: 11.5k, False: 0]
  |  Branch (897:45): [True: 11.5k, False: 0]
  ------------------
  898|       |#else
  899|       |		if (((so->so_options & SO_LINGER) && (so->so_linger == 0)) ||
  900|       |#endif
  901|  11.5k|		    (SCTP_SBAVAIL(&so->so_rcv) > 0)) {
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
  |  Branch (901:7): [True: 0, False: 0]
  ------------------
  902|       |#ifdef SCTP_LOG_CLOSING
  903|       |			sctp_log_closing(inp, NULL, 13);
  904|       |#endif
  905|  11.5k|			SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  906|  11.5k|			sctp_inpcb_free(inp, SCTP_FREE_SHOULD_USE_ABORT,
  ------------------
  |  |  869|  11.5k|#define SCTP_FREE_SHOULD_USE_ABORT          1
  ------------------
  907|  11.5k|			                SCTP_CALLED_AFTER_CMPSET_OFCLOSE);
  ------------------
  |  |  866|  11.5k|#define SCTP_CALLED_AFTER_CMPSET_OFCLOSE  1
  ------------------
  908|  11.5k|		} else {
  909|       |#ifdef SCTP_LOG_CLOSING
  910|       |			sctp_log_closing(inp, NULL, 14);
  911|       |#endif
  912|      0|			SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  913|      0|			sctp_inpcb_free(inp, SCTP_FREE_SHOULD_USE_GRACEFUL_CLOSE,
  ------------------
  |  |  870|      0|#define SCTP_FREE_SHOULD_USE_GRACEFUL_CLOSE 0
  ------------------
  914|      0|			                SCTP_CALLED_AFTER_CMPSET_OFCLOSE);
  ------------------
  |  |  866|      0|#define SCTP_CALLED_AFTER_CMPSET_OFCLOSE  1
  ------------------
  915|      0|		}
  916|       |		/* The socket is now detached, no matter what
  917|       |		 * the state of the SCTP association.
  918|       |		 */
  919|  11.5k|		SOCK_LOCK(so);
  ------------------
  |  |  527|  11.5k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|  11.5k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  920|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  921|       |		if (!SOLISTENING(so)) {
  922|       |			SCTP_SB_CLEAR(so->so_snd);
  923|       |			SCTP_SB_CLEAR(so->so_rcv);
  924|       |		}
  925|       |#else
  926|  11.5k|		SCTP_SB_CLEAR(so->so_snd);
  ------------------
  |  |  973|  11.5k|	(sb).sb_cc = 0;		\
  |  |  974|  11.5k|	(sb).sb_mb = NULL;	\
  |  |  975|  11.5k|	(sb).sb_mbcnt = 0;
  ------------------
  927|  11.5k|		SCTP_SB_CLEAR(so->so_rcv);
  ------------------
  |  |  973|  11.5k|	(sb).sb_cc = 0;		\
  |  |  974|  11.5k|	(sb).sb_mb = NULL;	\
  |  |  975|  11.5k|	(sb).sb_mbcnt = 0;
  ------------------
  928|  11.5k|#endif
  929|  11.5k|#if !(defined(__APPLE__) && !defined(__Userspace__))
  930|       |		/* Now null out the reference, we are completely detached. */
  931|  11.5k|		so->so_pcb = NULL;
  932|  11.5k|#endif
  933|  11.5k|		SOCK_UNLOCK(so);
  ------------------
  |  |  529|  11.5k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|  11.5k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  934|  11.5k|	} else {
  935|      0|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  936|      0|	}
  937|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
  938|       |	NET_EPOCH_EXIT(et);
  939|       |#endif
  940|  11.5k|}
sctp_setopt:
 4504|   234k|{
 4505|   234k|	int error, set_opt;
 4506|   234k|	uint32_t *mopt;
 4507|   234k|	struct sctp_tcb *stcb = NULL;
 4508|   234k|	struct sctp_inpcb *inp = NULL;
 4509|   234k|	uint32_t vrf_id;
 4510|       |
 4511|   234k|	if (optval == NULL) {
  ------------------
  |  Branch (4511:6): [True: 0, False: 234k]
  ------------------
 4512|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4513|      0|		return (EINVAL);
 4514|      0|	}
 4515|   234k|	inp = (struct sctp_inpcb *)so->so_pcb;
 4516|   234k|	if (inp == NULL) {
  ------------------
  |  Branch (4516:6): [True: 0, False: 234k]
  ------------------
 4517|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4518|      0|		return (EINVAL);
 4519|      0|	}
 4520|   234k|	vrf_id = inp->def_vrf_id;
 4521|       |
 4522|   234k|	error = 0;
 4523|   234k|	switch (optname) {
 4524|  11.5k|	case SCTP_NODELAY:
  ------------------
  |  |   91|  11.5k|#define SCTP_NODELAY			0x00000004
  ------------------
  |  Branch (4524:2): [True: 11.5k, False: 223k]
  ------------------
 4525|  11.5k|	case SCTP_AUTOCLOSE:
  ------------------
  |  |   92|  11.5k|#define SCTP_AUTOCLOSE			0x00000005
  ------------------
  |  Branch (4525:2): [True: 0, False: 234k]
  ------------------
 4526|  11.5k|	case SCTP_AUTO_ASCONF:
  ------------------
  |  |  116|  11.5k|#define SCTP_AUTO_ASCONF		0x00000018 /* rw */
  ------------------
  |  Branch (4526:2): [True: 0, False: 234k]
  ------------------
 4527|  11.5k|	case SCTP_EXPLICIT_EOR:
  ------------------
  |  |  122|  11.5k|#define SCTP_EXPLICIT_EOR               0x0000001b
  ------------------
  |  Branch (4527:2): [True: 0, False: 234k]
  ------------------
 4528|  11.5k|	case SCTP_DISABLE_FRAGMENTS:
  ------------------
  |  |   98|  11.5k|#define SCTP_DISABLE_FRAGMENTS		0x00000009
  ------------------
  |  Branch (4528:2): [True: 0, False: 234k]
  ------------------
 4529|  11.5k|	case SCTP_USE_EXT_RCVINFO:
  ------------------
  |  |  115|  11.5k|#define SCTP_USE_EXT_RCVINFO		0x00000017
  ------------------
  |  Branch (4529:2): [True: 0, False: 234k]
  ------------------
 4530|  11.5k|	case SCTP_I_WANT_MAPPED_V4_ADDR:
  ------------------
  |  |  104|  11.5k|#define SCTP_I_WANT_MAPPED_V4_ADDR	0x0000000d
  ------------------
  |  Branch (4530:2): [True: 0, False: 234k]
  ------------------
 4531|       |		/* copy in the option value */
 4532|  11.5k|		SCTP_CHECK_AND_CAST(mopt, optval, uint32_t, optsize);
  ------------------
  |  | 2154|  11.5k|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|  11.5k|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 11.5k]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|  11.5k|	} else { \
  |  | 2160|  11.5k|		destp = (type *)srcp; \
  |  | 2161|  11.5k|	} \
  |  | 2162|  11.5k|}
  ------------------
 4533|  11.5k|		set_opt = 0;
 4534|  11.5k|		if (error)
  ------------------
  |  Branch (4534:7): [True: 0, False: 11.5k]
  ------------------
 4535|      0|			break;
 4536|  11.5k|		switch (optname) {
  ------------------
  |  Branch (4536:11): [True: 0, False: 11.5k]
  ------------------
 4537|      0|		case SCTP_DISABLE_FRAGMENTS:
  ------------------
  |  |   98|      0|#define SCTP_DISABLE_FRAGMENTS		0x00000009
  ------------------
  |  Branch (4537:3): [True: 0, False: 11.5k]
  ------------------
 4538|      0|			set_opt = SCTP_PCB_FLAGS_NO_FRAGMENT;
  ------------------
  |  |  591|      0|#define SCTP_PCB_FLAGS_NO_FRAGMENT       0x0000000000100000
  ------------------
 4539|      0|			break;
 4540|      0|		case SCTP_AUTO_ASCONF:
  ------------------
  |  |  116|      0|#define SCTP_AUTO_ASCONF		0x00000018 /* rw */
  ------------------
  |  Branch (4540:3): [True: 0, False: 11.5k]
  ------------------
 4541|       |			/*
 4542|       |			 * NOTE: we don't really support this flag
 4543|       |			 */
 4544|      0|			if (inp->sctp_flags & SCTP_PCB_FLAGS_BOUNDALL) {
  ------------------
  |  |  533|      0|#define SCTP_PCB_FLAGS_BOUNDALL		0x00000004
  ------------------
  |  Branch (4544:8): [True: 0, False: 0]
  ------------------
 4545|       |				/* only valid for bound all sockets */
 4546|      0|				if ((SCTP_BASE_SYSCTL(sctp_auto_asconf) == 0) &&
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (4546:9): [True: 0, False: 0]
  ------------------
 4547|      0|				    (*mopt != 0)) {
  ------------------
  |  Branch (4547:9): [True: 0, False: 0]
  ------------------
 4548|       |					/* forbidden by admin */
 4549|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EPERM);
 4550|      0|					return (EPERM);
 4551|      0|				}
 4552|      0|				set_opt = SCTP_PCB_FLAGS_AUTO_ASCONF;
  ------------------
  |  |  577|      0|#define SCTP_PCB_FLAGS_AUTO_ASCONF       0x0000000000000040
  ------------------
 4553|      0|			} else {
 4554|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4555|      0|				return (EINVAL);
 4556|      0|			}
 4557|      0|			break;
 4558|      0|		case SCTP_EXPLICIT_EOR:
  ------------------
  |  |  122|      0|#define SCTP_EXPLICIT_EOR               0x0000001b
  ------------------
  |  Branch (4558:3): [True: 0, False: 11.5k]
  ------------------
 4559|      0|			set_opt = SCTP_PCB_FLAGS_EXPLICIT_EOR;
  ------------------
  |  |  592|      0|#define SCTP_PCB_FLAGS_EXPLICIT_EOR      0x0000000000400000
  ------------------
 4560|      0|			break;
 4561|      0|		case SCTP_USE_EXT_RCVINFO:
  ------------------
  |  |  115|      0|#define SCTP_USE_EXT_RCVINFO		0x00000017
  ------------------
  |  Branch (4561:3): [True: 0, False: 11.5k]
  ------------------
 4562|      0|			set_opt = SCTP_PCB_FLAGS_EXT_RCVINFO;
  ------------------
  |  |  572|      0|#define SCTP_PCB_FLAGS_EXT_RCVINFO       0x0000000000000002 /* deprecated */
  ------------------
 4563|      0|			break;
 4564|      0|		case SCTP_I_WANT_MAPPED_V4_ADDR:
  ------------------
  |  |  104|      0|#define SCTP_I_WANT_MAPPED_V4_ADDR	0x0000000d
  ------------------
  |  Branch (4564:3): [True: 0, False: 11.5k]
  ------------------
 4565|      0|			if (inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) {
  ------------------
  |  |  547|      0|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  |  Branch (4565:8): [True: 0, False: 0]
  ------------------
 4566|      0|				set_opt = SCTP_PCB_FLAGS_NEEDS_MAPPED_V4;
  ------------------
  |  |  593|      0|#define SCTP_PCB_FLAGS_NEEDS_MAPPED_V4   0x0000000000800000
  ------------------
 4567|      0|			} else {
 4568|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4569|      0|				return (EINVAL);
 4570|      0|			}
 4571|      0|			break;
 4572|  11.5k|		case SCTP_NODELAY:
  ------------------
  |  |   91|  11.5k|#define SCTP_NODELAY			0x00000004
  ------------------
  |  Branch (4572:3): [True: 11.5k, False: 0]
  ------------------
 4573|  11.5k|			set_opt = SCTP_PCB_FLAGS_NODELAY;
  ------------------
  |  |  579|  11.5k|#define SCTP_PCB_FLAGS_NODELAY           0x0000000000000100
  ------------------
 4574|  11.5k|			break;
 4575|      0|		case SCTP_AUTOCLOSE:
  ------------------
  |  |   92|      0|#define SCTP_AUTOCLOSE			0x00000005
  ------------------
  |  Branch (4575:3): [True: 0, False: 11.5k]
  ------------------
 4576|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (4576:8): [True: 0, False: 0]
  ------------------
 4577|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) {
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (4577:8): [True: 0, False: 0]
  ------------------
 4578|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4579|      0|				return (EINVAL);
 4580|      0|			}
 4581|      0|			set_opt = SCTP_PCB_FLAGS_AUTOCLOSE;
  ------------------
  |  |  580|      0|#define SCTP_PCB_FLAGS_AUTOCLOSE         0x0000000000000200
  ------------------
 4582|       |			/*
 4583|       |			 * The value is in ticks. Note this does not effect
 4584|       |			 * old associations, only new ones.
 4585|       |			 */
 4586|      0|			inp->sctp_ep.auto_close_time = sctp_secs_to_ticks(*mopt);
 4587|      0|			break;
 4588|  11.5k|		}
 4589|  11.5k|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4590|  11.5k|		if (*mopt != 0) {
  ------------------
  |  Branch (4590:7): [True: 11.5k, False: 0]
  ------------------
 4591|  11.5k|			sctp_feature_on(inp, set_opt);
  ------------------
  |  |   50|  11.5k|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 4592|  11.5k|		} else {
 4593|      0|			sctp_feature_off(inp, set_opt);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 4594|      0|		}
 4595|  11.5k|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4596|  11.5k|		break;
 4597|  11.5k|	case SCTP_REUSE_PORT:
  ------------------
  |  |  123|  11.5k|#define SCTP_REUSE_PORT                 0x0000001c /* rw */
  ------------------
  |  Branch (4597:2): [True: 11.5k, False: 223k]
  ------------------
 4598|  11.5k|	{
 4599|  11.5k|		SCTP_CHECK_AND_CAST(mopt, optval, uint32_t, optsize);
  ------------------
  |  | 2154|  11.5k|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|  11.5k|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 11.5k]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|  11.5k|	} else { \
  |  | 2160|  11.5k|		destp = (type *)srcp; \
  |  | 2161|  11.5k|	} \
  |  | 2162|  11.5k|}
  ------------------
 4600|  11.5k|		if ((inp->sctp_flags & SCTP_PCB_FLAGS_UNBOUND) == 0) {
  ------------------
  |  |  535|  11.5k|#define SCTP_PCB_FLAGS_UNBOUND		0x00000010
  ------------------
  |  Branch (4600:7): [True: 0, False: 11.5k]
  ------------------
 4601|       |			/* Can't set it after we are bound */
 4602|      0|			error = EINVAL;
 4603|      0|			break;
 4604|      0|		}
 4605|  11.5k|		if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE)) {
  ------------------
  |  |  531|  11.5k|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4605:7): [True: 0, False: 11.5k]
  ------------------
 4606|       |			/* Can't do this for a 1-m socket */
 4607|      0|			error = EINVAL;
 4608|      0|			break;
 4609|      0|		}
 4610|  11.5k|		if (optval)
  ------------------
  |  Branch (4610:7): [True: 11.5k, False: 0]
  ------------------
 4611|  11.5k|			sctp_feature_on(inp, SCTP_PCB_FLAGS_PORTREUSE);
  ------------------
  |  |   50|  11.5k|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 4612|      0|		else
 4613|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_PORTREUSE);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 4614|  11.5k|		break;
 4615|  11.5k|	}
 4616|      0|	case SCTP_PARTIAL_DELIVERY_POINT:
  ------------------
  |  |  108|      0|#define SCTP_PARTIAL_DELIVERY_POINT     0x00000011
  ------------------
  |  Branch (4616:2): [True: 0, False: 234k]
  ------------------
 4617|      0|	{
 4618|      0|		uint32_t *value;
 4619|       |
 4620|      0|		SCTP_CHECK_AND_CAST(value, optval, uint32_t, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 4621|      0|		if (*value > SCTP_SB_LIMIT_RCV(so)) {
  ------------------
  |  |  977|      0|#define SCTP_SB_LIMIT_RCV(so) so->so_rcv.sb_hiwat
  ------------------
  |  Branch (4621:7): [True: 0, False: 0]
  ------------------
 4622|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4623|      0|			error = EINVAL;
 4624|      0|			break;
 4625|      0|		}
 4626|      0|		inp->partial_delivery_point = *value;
 4627|      0|		break;
 4628|      0|	}
 4629|  6.25k|	case SCTP_FRAGMENT_INTERLEAVE:
  ------------------
  |  |  107|  6.25k|#define SCTP_FRAGMENT_INTERLEAVE        0x00000010
  ------------------
  |  Branch (4629:2): [True: 6.25k, False: 228k]
  ------------------
 4630|       |		/* not yet until we re-write sctp_recvmsg() */
 4631|  6.25k|	{
 4632|  6.25k|		uint32_t *level;
 4633|       |
 4634|  6.25k|		SCTP_CHECK_AND_CAST(level, optval, uint32_t, optsize);
  ------------------
  |  | 2154|  6.25k|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|  6.25k|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 6.25k]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|  6.25k|	} else { \
  |  | 2160|  6.25k|		destp = (type *)srcp; \
  |  | 2161|  6.25k|	} \
  |  | 2162|  6.25k|}
  ------------------
 4635|  6.25k|		if (*level == SCTP_FRAG_LEVEL_2) {
  ------------------
  |  |  349|  6.25k|#define SCTP_FRAG_LEVEL_2    0x00000002
  ------------------
  |  Branch (4635:7): [True: 6.25k, False: 0]
  ------------------
 4636|  6.25k|			sctp_feature_on(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE);
  ------------------
  |  |   50|  6.25k|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 4637|  6.25k|			sctp_feature_on(inp, SCTP_PCB_FLAGS_INTERLEAVE_STRMS);
  ------------------
  |  |   50|  6.25k|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 4638|  6.25k|		} else if (*level == SCTP_FRAG_LEVEL_1) {
  ------------------
  |  |  348|      0|#define SCTP_FRAG_LEVEL_1    0x00000001
  ------------------
  |  Branch (4638:14): [True: 0, False: 0]
  ------------------
 4639|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 4640|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_INTERLEAVE_STRMS);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 4641|      0|		} else if (*level == SCTP_FRAG_LEVEL_0) {
  ------------------
  |  |  347|      0|#define SCTP_FRAG_LEVEL_0    0x00000000
  ------------------
  |  Branch (4641:14): [True: 0, False: 0]
  ------------------
 4642|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 4643|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_INTERLEAVE_STRMS);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 4644|       |
 4645|      0|		} else {
 4646|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4647|      0|			error = EINVAL;
 4648|      0|		}
 4649|  6.25k|		break;
 4650|  6.25k|	}
 4651|  6.25k|	case SCTP_INTERLEAVING_SUPPORTED:
  ------------------
  |  |  207|  6.25k|#define SCTP_INTERLEAVING_SUPPORTED	0x00001206
  ------------------
  |  Branch (4651:2): [True: 6.25k, False: 228k]
  ------------------
 4652|  6.25k|	{
 4653|  6.25k|		struct sctp_assoc_value *av;
 4654|       |
 4655|  6.25k|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|  6.25k|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|  6.25k|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 6.25k]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|  6.25k|	} else { \
  |  | 2160|  6.25k|		destp = (type *)srcp; \
  |  | 2161|  6.25k|	} \
  |  | 2162|  6.25k|}
  ------------------
 4656|  6.25k|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|  6.25k|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|  6.25k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|  6.25k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 6.25k, False: 0]
  |  |  ------------------
  |  | 2135|  6.25k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|  6.25k|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|  6.25k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  6.25k|	do {                         \
  |  |  |  |  |  |  113|  6.25k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.25k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  6.25k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|  6.25k|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|  6.25k|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 6.25k]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|  6.25k|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|  6.25k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  6.25k|	do {                         \
  |  |  |  |  |  |  113|  6.25k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.25k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  6.25k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|  6.25k|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|  6.25k|}
  ------------------
 4657|       |
 4658|  6.25k|		if (stcb) {
  ------------------
  |  Branch (4658:7): [True: 0, False: 6.25k]
  ------------------
 4659|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4660|      0|			error = EINVAL;
 4661|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4662|  6.25k|		} else {
 4663|  6.25k|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|  6.25k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (4663:8): [True: 6.25k, False: 0]
  ------------------
 4664|  6.25k|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (4664:8): [True: 0, False: 0]
  ------------------
 4665|  6.25k|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4665:9): [True: 0, False: 0]
  ------------------
 4666|  6.25k|			     (av->assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (4666:9): [True: 0, False: 0]
  ------------------
 4667|  6.25k|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  6.25k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.25k|	do {                         \
  |  |  |  |  113|  6.25k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.25k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.25k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4668|  6.25k|				if (av->assoc_value == 0) {
  ------------------
  |  Branch (4668:9): [True: 0, False: 6.25k]
  ------------------
 4669|      0|					inp->idata_supported = 0;
 4670|  6.25k|				} else {
 4671|  6.25k|					if ((sctp_is_feature_on(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE)) &&
  ------------------
  |  |   52|  6.25k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (4671:10): [True: 6.25k, False: 0]
  ------------------
 4672|  6.25k|					    (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_INTERLEAVE_STRMS))) {
  ------------------
  |  |   52|  6.25k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (4672:10): [True: 6.25k, False: 0]
  ------------------
 4673|  6.25k|						inp->idata_supported = 1;
 4674|  6.25k|					} else {
 4675|       |						/* Must have Frag interleave and stream interleave on */
 4676|      0|						SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4677|      0|						error = EINVAL;
 4678|      0|					}
 4679|  6.25k|				}
 4680|  6.25k|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  6.25k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.25k|	do {                         \
  |  |  |  |  113|  6.25k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.25k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.25k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4681|  6.25k|			} else {
 4682|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4683|      0|				error = EINVAL;
 4684|      0|			}
 4685|  6.25k|		}
 4686|  6.25k|		break;
 4687|  6.25k|	}
 4688|  6.25k|	case SCTP_CMT_ON_OFF:
  ------------------
  |  |  195|      0|#define SCTP_CMT_ON_OFF                 0x00001200
  ------------------
  |  Branch (4688:2): [True: 0, False: 234k]
  ------------------
 4689|      0|		if (SCTP_BASE_SYSCTL(sctp_cmt_on_off)) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4690|      0|			struct sctp_assoc_value *av;
 4691|       |
 4692|      0|			SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 4693|      0|			if (av->assoc_value > SCTP_CMT_MAX) {
  ------------------
  |  |  319|      0|#define SCTP_CMT_MAX            SCTP_CMT_MPTCP
  |  |  ------------------
  |  |  |  |  318|      0|#define SCTP_CMT_MPTCP          4
  |  |  ------------------
  ------------------
  |  Branch (4693:8): [True: 0, False: 0]
  ------------------
 4694|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4695|      0|				error = EINVAL;
 4696|      0|				break;
 4697|      0|			}
 4698|      0|			SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 4699|      0|			if (stcb) {
  ------------------
  |  Branch (4699:8): [True: 0, False: 0]
  ------------------
 4700|      0|				stcb->asoc.sctp_cmt_on_off = av->assoc_value;
 4701|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4702|      0|			} else {
 4703|      0|				if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (4703:9): [True: 0, False: 0]
  ------------------
 4704|      0|				    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (4704:9): [True: 0, False: 0]
  ------------------
 4705|      0|				    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4705:10): [True: 0, False: 0]
  ------------------
 4706|      0|				     ((av->assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (4706:11): [True: 0, False: 0]
  ------------------
 4707|      0|				      (av->assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (4707:11): [True: 0, False: 0]
  ------------------
 4708|      0|					SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4709|      0|					inp->sctp_cmt_on_off = av->assoc_value;
 4710|      0|					SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4711|      0|				}
 4712|      0|				if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4712:9): [True: 0, False: 0]
  ------------------
 4713|      0|				    ((av->assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (4713:10): [True: 0, False: 0]
  ------------------
 4714|      0|				     (av->assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (4714:10): [True: 0, False: 0]
  ------------------
 4715|      0|					SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4716|      0|					LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 4717|      0|						SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4718|      0|						stcb->asoc.sctp_cmt_on_off = av->assoc_value;
 4719|      0|						SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4720|      0|					}
 4721|      0|					SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4722|      0|				}
 4723|      0|			}
 4724|      0|		} else {
 4725|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOPROTOOPT);
 4726|      0|			error = ENOPROTOOPT;
 4727|      0|		}
 4728|      0|		break;
 4729|      0|	case SCTP_PLUGGABLE_CC:
  ------------------
  |  |  198|      0|#define SCTP_PLUGGABLE_CC               0x00001202
  ------------------
  |  Branch (4729:2): [True: 0, False: 234k]
  ------------------
 4730|      0|	{
 4731|      0|		struct sctp_assoc_value *av;
 4732|      0|		struct sctp_nets *net;
 4733|       |
 4734|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 4735|      0|		if ((av->assoc_value != SCTP_CC_RFC2581) &&
  ------------------
  |  |  302|      0|#define SCTP_CC_RFC2581		0x00000000
  ------------------
  |  Branch (4735:7): [True: 0, False: 0]
  ------------------
 4736|      0|		    (av->assoc_value != SCTP_CC_HSTCP) &&
  ------------------
  |  |  304|      0|#define SCTP_CC_HSTCP		0x00000001
  ------------------
  |  Branch (4736:7): [True: 0, False: 0]
  ------------------
 4737|      0|		    (av->assoc_value != SCTP_CC_HTCP) &&
  ------------------
  |  |  306|      0|#define SCTP_CC_HTCP		0x00000002
  ------------------
  |  Branch (4737:7): [True: 0, False: 0]
  ------------------
 4738|      0|		    (av->assoc_value != SCTP_CC_RTCC)) {
  ------------------
  |  |  308|      0|#define SCTP_CC_RTCC            0x00000003
  ------------------
  |  Branch (4738:7): [True: 0, False: 0]
  ------------------
 4739|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4740|      0|			error = EINVAL;
 4741|      0|			break;
 4742|      0|		}
 4743|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 4744|      0|		if (stcb) {
  ------------------
  |  Branch (4744:7): [True: 0, False: 0]
  ------------------
 4745|      0|			stcb->asoc.cc_functions = sctp_cc_functions[av->assoc_value];
 4746|      0|			stcb->asoc.congestion_control_module = av->assoc_value;
 4747|      0|			if (stcb->asoc.cc_functions.sctp_set_initial_cc_param != NULL) {
  ------------------
  |  Branch (4747:8): [True: 0, False: 0]
  ------------------
 4748|      0|				TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 4749|      0|					stcb->asoc.cc_functions.sctp_set_initial_cc_param(stcb, net);
 4750|      0|				}
 4751|      0|			}
 4752|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4753|      0|		} else {
 4754|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (4754:8): [True: 0, False: 0]
  ------------------
 4755|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (4755:8): [True: 0, False: 0]
  ------------------
 4756|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4756:9): [True: 0, False: 0]
  ------------------
 4757|      0|			     ((av->assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (4757:10): [True: 0, False: 0]
  ------------------
 4758|      0|			      (av->assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (4758:10): [True: 0, False: 0]
  ------------------
 4759|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4760|      0|				inp->sctp_ep.sctp_default_cc_module = av->assoc_value;
 4761|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4762|      0|			}
 4763|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4763:8): [True: 0, False: 0]
  ------------------
 4764|      0|			    ((av->assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (4764:9): [True: 0, False: 0]
  ------------------
 4765|      0|			     (av->assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (4765:9): [True: 0, False: 0]
  ------------------
 4766|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4767|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 4768|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4769|      0|					stcb->asoc.cc_functions = sctp_cc_functions[av->assoc_value];
 4770|      0|					stcb->asoc.congestion_control_module = av->assoc_value;
 4771|      0|					if (stcb->asoc.cc_functions.sctp_set_initial_cc_param != NULL) {
  ------------------
  |  Branch (4771:10): [True: 0, False: 0]
  ------------------
 4772|      0|						TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 4773|      0|							stcb->asoc.cc_functions.sctp_set_initial_cc_param(stcb, net);
 4774|      0|						}
 4775|      0|					}
 4776|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4777|      0|				}
 4778|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4779|      0|			}
 4780|      0|		}
 4781|      0|		break;
 4782|      0|	}
 4783|      0|	case SCTP_CC_OPTION:
  ------------------
  |  |  205|      0|#define SCTP_CC_OPTION			0x00001205 /* Options for CC modules */
  ------------------
  |  Branch (4783:2): [True: 0, False: 234k]
  ------------------
 4784|      0|	{
 4785|      0|		struct sctp_cc_option *cc_opt;
 4786|       |
 4787|      0|		SCTP_CHECK_AND_CAST(cc_opt, optval, struct sctp_cc_option, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 4788|      0|		SCTP_FIND_STCB(inp, stcb, cc_opt->aid_value.assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 4789|      0|		if (stcb == NULL) {
  ------------------
  |  Branch (4789:7): [True: 0, False: 0]
  ------------------
 4790|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4790:8): [True: 0, False: 0]
  ------------------
 4791|      0|			    (cc_opt->aid_value.assoc_id == SCTP_CURRENT_ASSOC)) {
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (4791:8): [True: 0, False: 0]
  ------------------
 4792|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4793|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 4794|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4795|      0|					if (stcb->asoc.cc_functions.sctp_cwnd_socket_option) {
  ------------------
  |  Branch (4795:10): [True: 0, False: 0]
  ------------------
 4796|      0|						(*stcb->asoc.cc_functions.sctp_cwnd_socket_option)(stcb, 1, cc_opt);
 4797|      0|					}
 4798|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4799|      0|				}
 4800|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4801|      0|			} else {
 4802|      0|				error = EINVAL;
 4803|      0|			}
 4804|      0|		} else {
 4805|      0|			if (stcb->asoc.cc_functions.sctp_cwnd_socket_option == NULL) {
  ------------------
  |  Branch (4805:8): [True: 0, False: 0]
  ------------------
 4806|      0|				error = ENOTSUP;
 4807|      0|			} else {
 4808|      0|				error = (*stcb->asoc.cc_functions.sctp_cwnd_socket_option)(stcb, 1,
 4809|      0|											   cc_opt);
 4810|      0|			}
 4811|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4812|      0|		}
 4813|      0|		break;
 4814|      0|	}
 4815|      0|	case SCTP_STREAM_SCHEDULER:
  ------------------
  |  |  200|      0|#define SCTP_STREAM_SCHEDULER		0x00001203
  ------------------
  |  Branch (4815:2): [True: 0, False: 234k]
  ------------------
 4816|      0|	{
 4817|      0|		struct sctp_assoc_value *av;
 4818|       |
 4819|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 4820|      0|		if ((av->assoc_value != SCTP_SS_DEFAULT) &&
  ------------------
  |  |  325|      0|#define SCTP_SS_DEFAULT			0x00000000
  ------------------
  |  Branch (4820:7): [True: 0, False: 0]
  ------------------
 4821|      0|		    (av->assoc_value != SCTP_SS_RR) &&
  ------------------
  |  |  327|      0|#define SCTP_SS_RR			0x00000001
  ------------------
  |  Branch (4821:7): [True: 0, False: 0]
  ------------------
 4822|      0|		    (av->assoc_value != SCTP_SS_RR_PKT) &&
  ------------------
  |  |  329|      0|#define SCTP_SS_RR_PKT			0x00000002
  ------------------
  |  Branch (4822:7): [True: 0, False: 0]
  ------------------
 4823|      0|		    (av->assoc_value != SCTP_SS_PRIO) &&
  ------------------
  |  |  331|      0|#define SCTP_SS_PRIO			0x00000003
  ------------------
  |  Branch (4823:7): [True: 0, False: 0]
  ------------------
 4824|      0|		    (av->assoc_value != SCTP_SS_FB) &&
  ------------------
  |  |  333|      0|#define SCTP_SS_FB			0x00000004
  ------------------
  |  Branch (4824:7): [True: 0, False: 0]
  ------------------
 4825|      0|		    (av->assoc_value != SCTP_SS_FCFS)) {
  ------------------
  |  |  335|      0|#define SCTP_SS_FCFS			0x00000005
  ------------------
  |  Branch (4825:7): [True: 0, False: 0]
  ------------------
 4826|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4827|      0|			error = EINVAL;
 4828|      0|			break;
 4829|      0|		}
 4830|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 4831|      0|		if (stcb) {
  ------------------
  |  Branch (4831:7): [True: 0, False: 0]
  ------------------
 4832|      0|			stcb->asoc.ss_functions.sctp_ss_clear(stcb, &stcb->asoc, true);
 4833|      0|			stcb->asoc.ss_functions = sctp_ss_functions[av->assoc_value];
 4834|      0|			stcb->asoc.stream_scheduling_module = av->assoc_value;
 4835|      0|			stcb->asoc.ss_functions.sctp_ss_init(stcb, &stcb->asoc);
 4836|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4837|      0|		} else {
 4838|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (4838:8): [True: 0, False: 0]
  ------------------
 4839|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (4839:8): [True: 0, False: 0]
  ------------------
 4840|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4840:9): [True: 0, False: 0]
  ------------------
 4841|      0|			     ((av->assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (4841:10): [True: 0, False: 0]
  ------------------
 4842|      0|			      (av->assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (4842:10): [True: 0, False: 0]
  ------------------
 4843|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4844|      0|				inp->sctp_ep.sctp_default_ss_module = av->assoc_value;
 4845|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4846|      0|			}
 4847|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4847:8): [True: 0, False: 0]
  ------------------
 4848|      0|			    ((av->assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (4848:9): [True: 0, False: 0]
  ------------------
 4849|      0|			     (av->assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (4849:9): [True: 0, False: 0]
  ------------------
 4850|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4851|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 4852|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4853|      0|					stcb->asoc.ss_functions.sctp_ss_clear(stcb, &stcb->asoc, true);
 4854|      0|					stcb->asoc.ss_functions = sctp_ss_functions[av->assoc_value];
 4855|      0|					stcb->asoc.stream_scheduling_module = av->assoc_value;
 4856|      0|					stcb->asoc.ss_functions.sctp_ss_init(stcb, &stcb->asoc);
 4857|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4858|      0|				}
 4859|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4860|      0|			}
 4861|      0|		}
 4862|      0|		break;
 4863|      0|	}
 4864|      0|	case SCTP_STREAM_SCHEDULER_VALUE:
  ------------------
  |  |  201|      0|#define SCTP_STREAM_SCHEDULER_VALUE	0x00001204
  ------------------
  |  Branch (4864:2): [True: 0, False: 234k]
  ------------------
 4865|      0|	{
 4866|      0|		struct sctp_stream_value *av;
 4867|       |
 4868|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_stream_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 4869|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 4870|      0|		if (stcb) {
  ------------------
  |  Branch (4870:7): [True: 0, False: 0]
  ------------------
 4871|      0|			if ((av->stream_id >= stcb->asoc.streamoutcnt) ||
  ------------------
  |  Branch (4871:8): [True: 0, False: 0]
  ------------------
 4872|      0|			    (stcb->asoc.ss_functions.sctp_ss_set_value(stcb, &stcb->asoc, &stcb->asoc.strmout[av->stream_id],
  ------------------
  |  Branch (4872:8): [True: 0, False: 0]
  ------------------
 4873|      0|			                                               av->stream_value) < 0)) {
 4874|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4875|      0|				error = EINVAL;
 4876|      0|			}
 4877|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4878|      0|		} else {
 4879|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4879:8): [True: 0, False: 0]
  ------------------
 4880|      0|			    (av->assoc_id == SCTP_CURRENT_ASSOC)) {
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (4880:8): [True: 0, False: 0]
  ------------------
 4881|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4882|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 4883|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4884|      0|					if (av->stream_id < stcb->asoc.streamoutcnt) {
  ------------------
  |  Branch (4884:10): [True: 0, False: 0]
  ------------------
 4885|      0|						stcb->asoc.ss_functions.sctp_ss_set_value(stcb,
 4886|      0|						                                          &stcb->asoc,
 4887|      0|						                                          &stcb->asoc.strmout[av->stream_id],
 4888|      0|						                                          av->stream_value);
 4889|      0|					}
 4890|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4891|      0|				}
 4892|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4893|      0|			} else {
 4894|       |				/* Can't set stream value without association */
 4895|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4896|      0|				error = EINVAL;
 4897|      0|			}
 4898|      0|		}
 4899|      0|		break;
 4900|      0|	}
 4901|      0|	case SCTP_CLR_STAT_LOG:
  ------------------
  |  |  193|      0|#define SCTP_CLR_STAT_LOG               0x00001007
  ------------------
  |  Branch (4901:2): [True: 0, False: 234k]
  ------------------
 4902|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EOPNOTSUPP);
 4903|      0|		error = EOPNOTSUPP;
 4904|      0|		break;
 4905|      0|	case SCTP_CONTEXT:
  ------------------
  |  |  120|      0|#define SCTP_CONTEXT                    0x0000001a /* rw */
  ------------------
  |  Branch (4905:2): [True: 0, False: 234k]
  ------------------
 4906|      0|	{
 4907|      0|		struct sctp_assoc_value *av;
 4908|       |
 4909|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 4910|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 4911|       |
 4912|      0|		if (stcb) {
  ------------------
  |  Branch (4912:7): [True: 0, False: 0]
  ------------------
 4913|      0|			stcb->asoc.context = av->assoc_value;
 4914|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4915|      0|		} else {
 4916|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (4916:8): [True: 0, False: 0]
  ------------------
 4917|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (4917:8): [True: 0, False: 0]
  ------------------
 4918|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4918:9): [True: 0, False: 0]
  ------------------
 4919|      0|			     ((av->assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (4919:10): [True: 0, False: 0]
  ------------------
 4920|      0|			      (av->assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (4920:10): [True: 0, False: 0]
  ------------------
 4921|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4922|      0|				inp->sctp_context = av->assoc_value;
 4923|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4924|      0|			}
 4925|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (4925:8): [True: 0, False: 0]
  ------------------
 4926|      0|			    ((av->assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (4926:9): [True: 0, False: 0]
  ------------------
 4927|      0|			     (av->assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (4927:9): [True: 0, False: 0]
  ------------------
 4928|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4929|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 4930|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4931|      0|					stcb->asoc.context = av->assoc_value;
 4932|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4933|      0|				}
 4934|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4935|      0|			}
 4936|      0|		}
 4937|      0|		break;
 4938|      0|	}
 4939|      0|	case SCTP_VRF_ID:
  ------------------
  |  |  248|      0|#define SCTP_VRF_ID			0x00003001
  ------------------
  |  Branch (4939:2): [True: 0, False: 234k]
  ------------------
 4940|      0|	{
 4941|      0|		uint32_t *default_vrfid;
 4942|       |#ifdef SCTP_MVRF
 4943|       |		int i;
 4944|       |#endif
 4945|      0|		SCTP_CHECK_AND_CAST(default_vrfid, optval, uint32_t, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 4946|      0|		if (*default_vrfid > SCTP_MAX_VRF_ID) {
  ------------------
  |  |  641|      0|#define SCTP_MAX_VRF_ID		0
  ------------------
  |  Branch (4946:7): [True: 0, False: 0]
  ------------------
 4947|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4948|      0|			error = EINVAL;
 4949|      0|			break;
 4950|      0|		}
 4951|       |#ifdef SCTP_MVRF
 4952|       |		for (i = 0; i < inp->num_vrfs; i++) {
 4953|       |			/* The VRF must be in the VRF list */
 4954|       |			if (*default_vrfid == inp->m_vrf_ids[i]) {
 4955|       |				SCTP_INP_WLOCK(inp);
 4956|       |				inp->def_vrf_id = *default_vrfid;
 4957|       |				SCTP_INP_WUNLOCK(inp);
 4958|       |				goto sctp_done;
 4959|       |			}
 4960|       |		}
 4961|       |		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4962|       |		error = EINVAL;
 4963|       |#else
 4964|      0|		inp->def_vrf_id = *default_vrfid;
 4965|      0|#endif
 4966|       |#ifdef SCTP_MVRF
 4967|       |	sctp_done:
 4968|       |#endif
 4969|      0|		break;
 4970|      0|	}
 4971|      0|	case SCTP_DEL_VRF_ID:
  ------------------
  |  |  252|      0|#define SCTP_DEL_VRF_ID                 0x00003005
  ------------------
  |  Branch (4971:2): [True: 0, False: 234k]
  ------------------
 4972|      0|	{
 4973|       |#ifdef SCTP_MVRF
 4974|       |		uint32_t *del_vrfid;
 4975|       |		int i, fnd = 0;
 4976|       |
 4977|       |		SCTP_CHECK_AND_CAST(del_vrfid, optval, uint32_t, optsize);
 4978|       |		if (*del_vrfid > SCTP_MAX_VRF_ID) {
 4979|       |			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4980|       |			error = EINVAL;
 4981|       |			break;
 4982|       |		}
 4983|       |		if (inp->num_vrfs == 1) {
 4984|       |			/* Can't delete last one */
 4985|       |			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4986|       |			error = EINVAL;
 4987|       |			break;
 4988|       |		}
 4989|       |		if ((inp->sctp_flags & SCTP_PCB_FLAGS_UNBOUND) == 0) {
 4990|       |			/* Can't add more once you are bound */
 4991|       |			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 4992|       |			error = EINVAL;
 4993|       |			break;
 4994|       |		}
 4995|       |		SCTP_INP_WLOCK(inp);
 4996|       |		for (i = 0; i < inp->num_vrfs; i++) {
 4997|       |			if (*del_vrfid == inp->m_vrf_ids[i]) {
 4998|       |				fnd = 1;
 4999|       |				break;
 5000|       |			}
 5001|       |		}
 5002|       |		if (!fnd) {
 5003|       |			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5004|       |			error = EINVAL;
 5005|       |			break;
 5006|       |		}
 5007|       |		if (i != (inp->num_vrfs - 1)) {
 5008|       |			/* Take bottom one and move to this slot */
 5009|       |			inp->m_vrf_ids[i] = inp->m_vrf_ids[(inp->num_vrfs-1)];
 5010|       |		}
 5011|       |		if (*del_vrfid == inp->def_vrf_id) {
 5012|       |			/* Take the first one as the new default */
 5013|       |			inp->def_vrf_id = inp->m_vrf_ids[0];
 5014|       |		}
 5015|       |		/* Drop the number by one killing last one */
 5016|       |		inp->num_vrfs--;
 5017|       |#else
 5018|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EOPNOTSUPP);
 5019|      0|		error = EOPNOTSUPP;
 5020|      0|#endif
 5021|      0|		break;
 5022|      0|	}
 5023|      0|	case SCTP_ADD_VRF_ID:
  ------------------
  |  |  249|      0|#define SCTP_ADD_VRF_ID			0x00003002
  ------------------
  |  Branch (5023:2): [True: 0, False: 234k]
  ------------------
 5024|      0|	{
 5025|       |#ifdef SCTP_MVRF
 5026|       |		uint32_t *add_vrfid;
 5027|       |		int i;
 5028|       |
 5029|       |		SCTP_CHECK_AND_CAST(add_vrfid, optval, uint32_t, optsize);
 5030|       |		if (*add_vrfid > SCTP_MAX_VRF_ID) {
 5031|       |			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5032|       |			error = EINVAL;
 5033|       |			break;
 5034|       |		}
 5035|       |		if ((inp->sctp_flags & SCTP_PCB_FLAGS_UNBOUND) == 0) {
 5036|       |			/* Can't add more once you are bound */
 5037|       |			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5038|       |			error = EINVAL;
 5039|       |			break;
 5040|       |		}
 5041|       |		SCTP_INP_WLOCK(inp);
 5042|       |		/* Verify its not already here */
 5043|       |		for (i = 0; i < inp->num_vrfs; i++) {
 5044|       |			if (*add_vrfid == inp->m_vrf_ids[i]) {
 5045|       |				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EALREADY);
 5046|       |				error = EALREADY;
 5047|       |				SCTP_INP_WUNLOCK(inp);
 5048|       |				break;
 5049|       |			}
 5050|       |		}
 5051|       |		if ((inp->num_vrfs + 1) > inp->vrf_size) {
 5052|       |			/* need to grow array */
 5053|       |			uint32_t *tarray;
 5054|       |			SCTP_MALLOC(tarray, uint32_t *,
 5055|       |				    (sizeof(uint32_t) * (inp->vrf_size + SCTP_DEFAULT_VRF_SIZE)),
 5056|       |				    SCTP_M_MVRF);
 5057|       |			if (tarray == NULL) {
 5058|       |				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOMEM);
 5059|       |				error = ENOMEM;
 5060|       |				SCTP_INP_WUNLOCK(inp);
 5061|       |				break;
 5062|       |			}
 5063|       |			memcpy(tarray, inp->m_vrf_ids, (sizeof(uint32_t) * inp->vrf_size));
 5064|       |			SCTP_FREE(inp->m_vrf_ids, SCTP_M_MVRF);
 5065|       |			inp->m_vrf_ids = tarray;
 5066|       |			inp->vrf_size += SCTP_DEFAULT_VRF_SIZE;
 5067|       |		}
 5068|       |		inp->m_vrf_ids[inp->num_vrfs] = *add_vrfid;
 5069|       |		inp->num_vrfs++;
 5070|       |		SCTP_INP_WUNLOCK(inp);
 5071|       |#else
 5072|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EOPNOTSUPP);
 5073|      0|		error = EOPNOTSUPP;
 5074|      0|#endif
 5075|      0|		break;
 5076|      0|	}
 5077|      0|	case SCTP_DELAYED_SACK:
  ------------------
  |  |  106|      0|#define SCTP_DELAYED_SACK               0x0000000f
  ------------------
  |  Branch (5077:2): [True: 0, False: 234k]
  ------------------
 5078|      0|	{
 5079|      0|		struct sctp_sack_info *sack;
 5080|       |
 5081|      0|		SCTP_CHECK_AND_CAST(sack, optval, struct sctp_sack_info, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5082|      0|		SCTP_FIND_STCB(inp, stcb, sack->sack_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 5083|      0|		if (sack->sack_delay) {
  ------------------
  |  Branch (5083:7): [True: 0, False: 0]
  ------------------
 5084|      0|			if (sack->sack_delay > SCTP_MAX_SACK_DELAY) {
  ------------------
  |  |  635|      0|#define SCTP_MAX_SACK_DELAY 500 /* per RFC4960 */
  ------------------
  |  Branch (5084:8): [True: 0, False: 0]
  ------------------
 5085|      0|				error = EINVAL;
 5086|      0|				if (stcb != NULL) {
  ------------------
  |  Branch (5086:9): [True: 0, False: 0]
  ------------------
 5087|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5088|      0|				}
 5089|      0|				break;
 5090|      0|			}
 5091|      0|		}
 5092|      0|		if (stcb) {
  ------------------
  |  Branch (5092:7): [True: 0, False: 0]
  ------------------
 5093|      0|			if (sack->sack_delay) {
  ------------------
  |  Branch (5093:8): [True: 0, False: 0]
  ------------------
 5094|      0|				stcb->asoc.delayed_ack = sack->sack_delay;
 5095|      0|			}
 5096|      0|			if (sack->sack_freq) {
  ------------------
  |  Branch (5096:8): [True: 0, False: 0]
  ------------------
 5097|      0|				stcb->asoc.sack_freq = sack->sack_freq;
 5098|      0|			}
 5099|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5100|      0|		} else {
 5101|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5101:8): [True: 0, False: 0]
  ------------------
 5102|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5102:8): [True: 0, False: 0]
  ------------------
 5103|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5103:9): [True: 0, False: 0]
  ------------------
 5104|      0|			     ((sack->sack_assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (5104:10): [True: 0, False: 0]
  ------------------
 5105|      0|			      (sack->sack_assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5105:10): [True: 0, False: 0]
  ------------------
 5106|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5107|      0|				if (sack->sack_delay) {
  ------------------
  |  Branch (5107:9): [True: 0, False: 0]
  ------------------
 5108|      0|					inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_RECV] = sctp_msecs_to_ticks(sack->sack_delay);
  ------------------
  |  |  518|      0|#define SCTP_TIMER_RECV 	1
  ------------------
 5109|      0|				}
 5110|      0|				if (sack->sack_freq) {
  ------------------
  |  Branch (5110:9): [True: 0, False: 0]
  ------------------
 5111|      0|					inp->sctp_ep.sctp_sack_freq = sack->sack_freq;
 5112|      0|				}
 5113|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5114|      0|			}
 5115|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5115:8): [True: 0, False: 0]
  ------------------
 5116|      0|			    ((sack->sack_assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (5116:9): [True: 0, False: 0]
  ------------------
 5117|      0|			     (sack->sack_assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5117:9): [True: 0, False: 0]
  ------------------
 5118|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5119|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 5120|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5121|      0|					if (sack->sack_delay) {
  ------------------
  |  Branch (5121:10): [True: 0, False: 0]
  ------------------
 5122|      0|						stcb->asoc.delayed_ack = sack->sack_delay;
 5123|      0|					}
 5124|      0|					if (sack->sack_freq) {
  ------------------
  |  Branch (5124:10): [True: 0, False: 0]
  ------------------
 5125|      0|						stcb->asoc.sack_freq = sack->sack_freq;
 5126|      0|					}
 5127|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5128|      0|				}
 5129|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5130|      0|			}
 5131|      0|		}
 5132|      0|		break;
 5133|      0|	}
 5134|      0|	case SCTP_AUTH_CHUNK:
  ------------------
  |  |  110|      0|#define SCTP_AUTH_CHUNK 		0x00000012
  ------------------
  |  Branch (5134:2): [True: 0, False: 234k]
  ------------------
 5135|      0|	{
 5136|      0|		struct sctp_authchunk *sauth;
 5137|       |
 5138|      0|		SCTP_CHECK_AND_CAST(sauth, optval, struct sctp_authchunk, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5139|       |
 5140|      0|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5141|      0|		if (sctp_auth_add_chunk(sauth->sauth_chunk, inp->sctp_ep.local_auth_chunks)) {
  ------------------
  |  Branch (5141:7): [True: 0, False: 0]
  ------------------
 5142|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5143|      0|			error = EINVAL;
 5144|      0|		} else {
 5145|      0|			inp->auth_supported = 1;
 5146|      0|		}
 5147|      0|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5148|      0|		break;
 5149|      0|	}
 5150|      0|	case SCTP_AUTH_KEY:
  ------------------
  |  |  111|      0|#define SCTP_AUTH_KEY 			0x00000013
  ------------------
  |  Branch (5150:2): [True: 0, False: 234k]
  ------------------
 5151|      0|	{
 5152|      0|		struct sctp_authkey *sca;
 5153|      0|		struct sctp_keyhead *shared_keys;
 5154|      0|		sctp_sharedkey_t *shared_key;
 5155|      0|		sctp_key_t *key = NULL;
 5156|      0|		size_t size;
 5157|       |
 5158|      0|		SCTP_CHECK_AND_CAST(sca, optval, struct sctp_authkey, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5159|      0|		if (sca->sca_keylength == 0) {
  ------------------
  |  Branch (5159:7): [True: 0, False: 0]
  ------------------
 5160|      0|			size = optsize - sizeof(struct sctp_authkey);
 5161|      0|		} else {
 5162|      0|			if (sca->sca_keylength + sizeof(struct sctp_authkey) <= optsize) {
  ------------------
  |  Branch (5162:8): [True: 0, False: 0]
  ------------------
 5163|      0|				size = sca->sca_keylength;
 5164|      0|			} else {
 5165|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5166|      0|				error = EINVAL;
 5167|      0|				break;
 5168|      0|			}
 5169|      0|		}
 5170|      0|		SCTP_FIND_STCB(inp, stcb, sca->sca_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 5171|       |
 5172|      0|		if (stcb) {
  ------------------
  |  Branch (5172:7): [True: 0, False: 0]
  ------------------
 5173|      0|			shared_keys = &stcb->asoc.shared_keys;
 5174|       |			/* clear the cached keys for this key id */
 5175|      0|			sctp_clear_cachedkeys(stcb, sca->sca_keynumber);
 5176|       |			/*
 5177|       |			 * create the new shared key and
 5178|       |			 * insert/replace it
 5179|       |			 */
 5180|      0|			if (size > 0) {
  ------------------
  |  Branch (5180:8): [True: 0, False: 0]
  ------------------
 5181|      0|				key = sctp_set_key(sca->sca_key, (uint32_t) size);
 5182|      0|				if (key == NULL) {
  ------------------
  |  Branch (5182:9): [True: 0, False: 0]
  ------------------
 5183|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOMEM);
 5184|      0|					error = ENOMEM;
 5185|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5186|      0|					break;
 5187|      0|				}
 5188|      0|			}
 5189|      0|			shared_key = sctp_alloc_sharedkey();
 5190|      0|			if (shared_key == NULL) {
  ------------------
  |  Branch (5190:8): [True: 0, False: 0]
  ------------------
 5191|      0|				sctp_free_key(key);
 5192|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOMEM);
 5193|      0|				error = ENOMEM;
 5194|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5195|      0|				break;
 5196|      0|			}
 5197|      0|			shared_key->key = key;
 5198|      0|			shared_key->keyid = sca->sca_keynumber;
 5199|      0|			error = sctp_insert_sharedkey(shared_keys, shared_key);
 5200|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5201|      0|		} else {
 5202|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5202:8): [True: 0, False: 0]
  ------------------
 5203|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5203:8): [True: 0, False: 0]
  ------------------
 5204|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5204:9): [True: 0, False: 0]
  ------------------
 5205|      0|			     ((sca->sca_assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (5205:10): [True: 0, False: 0]
  ------------------
 5206|      0|			      (sca->sca_assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5206:10): [True: 0, False: 0]
  ------------------
 5207|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5208|      0|				shared_keys = &inp->sctp_ep.shared_keys;
 5209|       |				/*
 5210|       |				 * clear the cached keys on all assocs for
 5211|       |				 * this key id
 5212|       |				 */
 5213|      0|				sctp_clear_cachedkeys_ep(inp, sca->sca_keynumber);
 5214|       |				/*
 5215|       |				 * create the new shared key and
 5216|       |				 * insert/replace it
 5217|       |				 */
 5218|      0|				if (size > 0) {
  ------------------
  |  Branch (5218:9): [True: 0, False: 0]
  ------------------
 5219|      0|					key = sctp_set_key(sca->sca_key, (uint32_t) size);
 5220|      0|					if (key == NULL) {
  ------------------
  |  Branch (5220:10): [True: 0, False: 0]
  ------------------
 5221|      0|						SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOMEM);
 5222|      0|						error = ENOMEM;
 5223|      0|						SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5224|      0|						break;
 5225|      0|					}
 5226|      0|				}
 5227|      0|				shared_key = sctp_alloc_sharedkey();
 5228|      0|				if (shared_key == NULL) {
  ------------------
  |  Branch (5228:9): [True: 0, False: 0]
  ------------------
 5229|      0|					sctp_free_key(key);
 5230|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOMEM);
 5231|      0|					error = ENOMEM;
 5232|      0|					SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5233|      0|					break;
 5234|      0|				}
 5235|      0|				shared_key->key = key;
 5236|      0|				shared_key->keyid = sca->sca_keynumber;
 5237|      0|				error = sctp_insert_sharedkey(shared_keys, shared_key);
 5238|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5239|      0|			}
 5240|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5240:8): [True: 0, False: 0]
  ------------------
 5241|      0|			    ((sca->sca_assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (5241:9): [True: 0, False: 0]
  ------------------
 5242|      0|			     (sca->sca_assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5242:9): [True: 0, False: 0]
  ------------------
 5243|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5244|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 5245|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5246|      0|					shared_keys = &stcb->asoc.shared_keys;
 5247|       |					/* clear the cached keys for this key id */
 5248|      0|					sctp_clear_cachedkeys(stcb, sca->sca_keynumber);
 5249|       |					/*
 5250|       |					 * create the new shared key and
 5251|       |					 * insert/replace it
 5252|       |					 */
 5253|      0|					if (size > 0) {
  ------------------
  |  Branch (5253:10): [True: 0, False: 0]
  ------------------
 5254|      0|						key = sctp_set_key(sca->sca_key, (uint32_t) size);
 5255|      0|						if (key == NULL) {
  ------------------
  |  Branch (5255:11): [True: 0, False: 0]
  ------------------
 5256|      0|							SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5257|      0|							continue;
 5258|      0|						}
 5259|      0|					}
 5260|      0|					shared_key = sctp_alloc_sharedkey();
 5261|      0|					if (shared_key == NULL) {
  ------------------
  |  Branch (5261:10): [True: 0, False: 0]
  ------------------
 5262|      0|						sctp_free_key(key);
 5263|      0|						SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5264|      0|						continue;
 5265|      0|					}
 5266|      0|					shared_key->key = key;
 5267|      0|					shared_key->keyid = sca->sca_keynumber;
 5268|      0|					error = sctp_insert_sharedkey(shared_keys, shared_key);
 5269|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5270|      0|				}
 5271|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5272|      0|			}
 5273|      0|		}
 5274|      0|		break;
 5275|      0|	}
 5276|      0|	case SCTP_HMAC_IDENT:
  ------------------
  |  |  112|      0|#define SCTP_HMAC_IDENT 		0x00000014
  ------------------
  |  Branch (5276:2): [True: 0, False: 234k]
  ------------------
 5277|      0|	{
 5278|      0|		struct sctp_hmacalgo *shmac;
 5279|      0|		sctp_hmaclist_t *hmaclist;
 5280|      0|		uint16_t hmacid;
 5281|      0|		uint32_t i;
 5282|       |
 5283|      0|		SCTP_CHECK_AND_CAST(shmac, optval, struct sctp_hmacalgo, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5284|      0|		if ((optsize < sizeof(struct sctp_hmacalgo) + shmac->shmac_number_of_idents * sizeof(uint16_t)) ||
  ------------------
  |  Branch (5284:7): [True: 0, False: 0]
  ------------------
 5285|      0|		    (shmac->shmac_number_of_idents > 0xffff)) {
  ------------------
  |  Branch (5285:7): [True: 0, False: 0]
  ------------------
 5286|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5287|      0|			error = EINVAL;
 5288|      0|			break;
 5289|      0|		}
 5290|       |
 5291|      0|		hmaclist = sctp_alloc_hmaclist((uint16_t)shmac->shmac_number_of_idents);
 5292|      0|		if (hmaclist == NULL) {
  ------------------
  |  Branch (5292:7): [True: 0, False: 0]
  ------------------
 5293|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOMEM);
 5294|      0|			error = ENOMEM;
 5295|      0|			break;
 5296|      0|		}
 5297|      0|		for (i = 0; i < shmac->shmac_number_of_idents; i++) {
  ------------------
  |  Branch (5297:15): [True: 0, False: 0]
  ------------------
 5298|      0|			hmacid = shmac->shmac_idents[i];
 5299|      0|			if (sctp_auth_add_hmacid(hmaclist, hmacid)) {
  ------------------
  |  Branch (5299:8): [True: 0, False: 0]
  ------------------
 5300|      0|				/* invalid HMACs were found */;
 5301|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5302|      0|				error = EINVAL;
 5303|      0|				sctp_free_hmaclist(hmaclist);
 5304|      0|				goto sctp_set_hmac_done;
 5305|      0|			}
 5306|      0|		}
 5307|      0|		for (i = 0; i < hmaclist->num_algo; i++) {
  ------------------
  |  Branch (5307:15): [True: 0, False: 0]
  ------------------
 5308|      0|			if (hmaclist->hmac[i] == SCTP_AUTH_HMAC_ID_SHA1) {
  ------------------
  |  |  691|      0|#define SCTP_AUTH_HMAC_ID_SHA1		0x0001	/* default, mandatory */
  ------------------
  |  Branch (5308:8): [True: 0, False: 0]
  ------------------
 5309|       |				/* already in list */
 5310|      0|				break;
 5311|      0|			}
 5312|      0|		}
 5313|      0|		if (i == hmaclist->num_algo) {
  ------------------
  |  Branch (5313:7): [True: 0, False: 0]
  ------------------
 5314|       |			/* not found in list */
 5315|      0|			sctp_free_hmaclist(hmaclist);
 5316|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5317|      0|			error = EINVAL;
 5318|      0|			break;
 5319|      0|		}
 5320|       |		/* set it on the endpoint */
 5321|      0|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5322|      0|		if (inp->sctp_ep.local_hmacs)
  ------------------
  |  Branch (5322:7): [True: 0, False: 0]
  ------------------
 5323|      0|			sctp_free_hmaclist(inp->sctp_ep.local_hmacs);
 5324|      0|		inp->sctp_ep.local_hmacs = hmaclist;
 5325|      0|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5326|      0|	sctp_set_hmac_done:
 5327|      0|		break;
 5328|      0|	}
 5329|      0|	case SCTP_AUTH_ACTIVE_KEY:
  ------------------
  |  |  113|      0|#define SCTP_AUTH_ACTIVE_KEY 		0x00000015
  ------------------
  |  Branch (5329:2): [True: 0, False: 234k]
  ------------------
 5330|      0|	{
 5331|      0|		struct sctp_authkeyid *scact;
 5332|       |
 5333|      0|		SCTP_CHECK_AND_CAST(scact, optval, struct sctp_authkeyid, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5334|      0|		SCTP_FIND_STCB(inp, stcb, scact->scact_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 5335|       |
 5336|       |		/* set the active key on the right place */
 5337|      0|		if (stcb) {
  ------------------
  |  Branch (5337:7): [True: 0, False: 0]
  ------------------
 5338|       |			/* set the active key on the assoc */
 5339|      0|			if (sctp_auth_setactivekey(stcb,
  ------------------
  |  Branch (5339:8): [True: 0, False: 0]
  ------------------
 5340|      0|						   scact->scact_keynumber)) {
 5341|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL,
 5342|      0|						    SCTP_FROM_SCTP_USRREQ,
 5343|      0|						    EINVAL);
 5344|      0|				error = EINVAL;
 5345|      0|			}
 5346|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5347|      0|		} else {
 5348|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5348:8): [True: 0, False: 0]
  ------------------
 5349|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5349:8): [True: 0, False: 0]
  ------------------
 5350|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5350:9): [True: 0, False: 0]
  ------------------
 5351|      0|			     ((scact->scact_assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (5351:10): [True: 0, False: 0]
  ------------------
 5352|      0|			      (scact->scact_assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5352:10): [True: 0, False: 0]
  ------------------
 5353|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5354|      0|				if (sctp_auth_setactivekey_ep(inp, scact->scact_keynumber)) {
  ------------------
  |  Branch (5354:9): [True: 0, False: 0]
  ------------------
 5355|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5356|      0|					error = EINVAL;
 5357|      0|				}
 5358|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5359|      0|			}
 5360|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5360:8): [True: 0, False: 0]
  ------------------
 5361|      0|			    ((scact->scact_assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (5361:9): [True: 0, False: 0]
  ------------------
 5362|      0|			     (scact->scact_assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5362:9): [True: 0, False: 0]
  ------------------
 5363|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5364|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 5365|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5366|      0|					sctp_auth_setactivekey(stcb, scact->scact_keynumber);
 5367|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5368|      0|				}
 5369|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5370|      0|			}
 5371|      0|		}
 5372|      0|		break;
 5373|      0|	}
 5374|      0|	case SCTP_AUTH_DELETE_KEY:
  ------------------
  |  |  114|      0|#define SCTP_AUTH_DELETE_KEY 		0x00000016
  ------------------
  |  Branch (5374:2): [True: 0, False: 234k]
  ------------------
 5375|      0|	{
 5376|      0|		struct sctp_authkeyid *scdel;
 5377|       |
 5378|      0|		SCTP_CHECK_AND_CAST(scdel, optval, struct sctp_authkeyid, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5379|      0|		SCTP_FIND_STCB(inp, stcb, scdel->scact_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 5380|       |
 5381|       |		/* delete the key from the right place */
 5382|      0|		if (stcb) {
  ------------------
  |  Branch (5382:7): [True: 0, False: 0]
  ------------------
 5383|      0|			if (sctp_delete_sharedkey(stcb, scdel->scact_keynumber)) {
  ------------------
  |  Branch (5383:8): [True: 0, False: 0]
  ------------------
 5384|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5385|      0|				error = EINVAL;
 5386|      0|			}
 5387|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5388|      0|		} else {
 5389|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5389:8): [True: 0, False: 0]
  ------------------
 5390|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5390:8): [True: 0, False: 0]
  ------------------
 5391|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5391:9): [True: 0, False: 0]
  ------------------
 5392|      0|			     ((scdel->scact_assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (5392:10): [True: 0, False: 0]
  ------------------
 5393|      0|			      (scdel->scact_assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5393:10): [True: 0, False: 0]
  ------------------
 5394|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5395|      0|				if (sctp_delete_sharedkey_ep(inp, scdel->scact_keynumber)) {
  ------------------
  |  Branch (5395:9): [True: 0, False: 0]
  ------------------
 5396|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5397|      0|					error = EINVAL;
 5398|      0|				}
 5399|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5400|      0|			}
 5401|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5401:8): [True: 0, False: 0]
  ------------------
 5402|      0|			    ((scdel->scact_assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (5402:9): [True: 0, False: 0]
  ------------------
 5403|      0|			     (scdel->scact_assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5403:9): [True: 0, False: 0]
  ------------------
 5404|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5405|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 5406|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5407|      0|					sctp_delete_sharedkey(stcb, scdel->scact_keynumber);
 5408|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5409|      0|				}
 5410|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5411|      0|			}
 5412|      0|		}
 5413|      0|		break;
 5414|      0|	}
 5415|      0|	case SCTP_AUTH_DEACTIVATE_KEY:
  ------------------
  |  |  124|      0|#define SCTP_AUTH_DEACTIVATE_KEY	0x0000001d
  ------------------
  |  Branch (5415:2): [True: 0, False: 234k]
  ------------------
 5416|      0|	{
 5417|      0|		struct sctp_authkeyid *keyid;
 5418|       |
 5419|      0|		SCTP_CHECK_AND_CAST(keyid, optval, struct sctp_authkeyid, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5420|      0|		SCTP_FIND_STCB(inp, stcb, keyid->scact_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 5421|       |
 5422|       |		/* deactivate the key from the right place */
 5423|      0|		if (stcb) {
  ------------------
  |  Branch (5423:7): [True: 0, False: 0]
  ------------------
 5424|      0|			if (sctp_deact_sharedkey(stcb, keyid->scact_keynumber)) {
  ------------------
  |  Branch (5424:8): [True: 0, False: 0]
  ------------------
 5425|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5426|      0|				error = EINVAL;
 5427|      0|			}
 5428|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5429|      0|		} else {
 5430|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5430:8): [True: 0, False: 0]
  ------------------
 5431|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5431:8): [True: 0, False: 0]
  ------------------
 5432|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5432:9): [True: 0, False: 0]
  ------------------
 5433|      0|			     ((keyid->scact_assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (5433:10): [True: 0, False: 0]
  ------------------
 5434|      0|			      (keyid->scact_assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5434:10): [True: 0, False: 0]
  ------------------
 5435|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5436|      0|				if (sctp_deact_sharedkey_ep(inp, keyid->scact_keynumber)) {
  ------------------
  |  Branch (5436:9): [True: 0, False: 0]
  ------------------
 5437|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5438|      0|					error = EINVAL;
 5439|      0|				}
 5440|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5441|      0|			}
 5442|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5442:8): [True: 0, False: 0]
  ------------------
 5443|      0|			    ((keyid->scact_assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (5443:9): [True: 0, False: 0]
  ------------------
 5444|      0|			     (keyid->scact_assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5444:9): [True: 0, False: 0]
  ------------------
 5445|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5446|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 5447|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5448|      0|					sctp_deact_sharedkey(stcb, keyid->scact_keynumber);
 5449|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5450|      0|				}
 5451|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5452|      0|			}
 5453|      0|		}
 5454|      0|		break;
 5455|      0|	}
 5456|  11.5k|	case SCTP_ENABLE_STREAM_RESET:
  ------------------
  |  |  177|  11.5k|#define SCTP_ENABLE_STREAM_RESET	0x00000900 /* struct sctp_assoc_value */
  ------------------
  |  Branch (5456:2): [True: 11.5k, False: 223k]
  ------------------
 5457|  11.5k|	{
 5458|  11.5k|		struct sctp_assoc_value *av;
 5459|       |
 5460|  11.5k|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|  11.5k|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|  11.5k|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 11.5k]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|  11.5k|	} else { \
  |  | 2160|  11.5k|		destp = (type *)srcp; \
  |  | 2161|  11.5k|	} \
  |  | 2162|  11.5k|}
  ------------------
 5461|  11.5k|		if (av->assoc_value & (~SCTP_ENABLE_VALUE_MASK)) {
  ------------------
  |  |  186|  11.5k|#define SCTP_ENABLE_VALUE_MASK		0x00000007
  ------------------
  |  Branch (5461:7): [True: 0, False: 11.5k]
  ------------------
 5462|      0|		        SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5463|      0|			error = EINVAL;
 5464|      0|			break;
 5465|      0|		}
 5466|  11.5k|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|  11.5k|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|  11.5k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 11.5k, False: 0]
  |  |  ------------------
  |  | 2135|  11.5k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|  11.5k|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|  11.5k|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|  11.5k|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 11.5k]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|  11.5k|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|  11.5k|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|  11.5k|}
  ------------------
 5467|  11.5k|		if (stcb) {
  ------------------
  |  Branch (5467:7): [True: 0, False: 11.5k]
  ------------------
 5468|      0|			stcb->asoc.local_strreset_support = (uint8_t)av->assoc_value;
 5469|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5470|  11.5k|		} else {
 5471|  11.5k|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|  11.5k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5471:8): [True: 11.5k, False: 0]
  ------------------
 5472|  11.5k|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5472:8): [True: 0, False: 0]
  ------------------
 5473|  11.5k|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5473:9): [True: 0, False: 0]
  ------------------
 5474|      0|			     ((av->assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (5474:10): [True: 0, False: 0]
  ------------------
 5475|  11.5k|			      (av->assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5475:10): [True: 0, False: 0]
  ------------------
 5476|  11.5k|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5477|  11.5k|				inp->local_strreset_support = (uint8_t)av->assoc_value;
 5478|  11.5k|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5479|  11.5k|			}
 5480|  11.5k|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|  11.5k|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5480:8): [True: 0, False: 11.5k]
  ------------------
 5481|  11.5k|			    ((av->assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (5481:9): [True: 0, False: 0]
  ------------------
 5482|      0|			     (av->assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5482:9): [True: 0, False: 0]
  ------------------
 5483|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5484|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 5485|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5486|      0|					stcb->asoc.local_strreset_support = (uint8_t)av->assoc_value;
 5487|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5488|      0|				}
 5489|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5490|      0|			}
 5491|  11.5k|		}
 5492|  11.5k|		break;
 5493|  11.5k|	}
 5494|  11.5k|	case SCTP_RESET_STREAMS:
  ------------------
  |  |  178|  2.63k|#define SCTP_RESET_STREAMS		0x00000901 /* struct sctp_reset_streams */
  ------------------
  |  Branch (5494:2): [True: 2.63k, False: 232k]
  ------------------
 5495|  2.63k|	{
 5496|  2.63k|		struct sctp_reset_streams *strrst;
 5497|  2.63k|		int i, send_out = 0;
 5498|  2.63k|		int send_in = 0;
 5499|       |
 5500|  2.63k|		SCTP_CHECK_AND_CAST(strrst, optval, struct sctp_reset_streams, optsize);
  ------------------
  |  | 2154|  2.63k|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|  2.63k|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 2.63k]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|  2.63k|	} else { \
  |  | 2160|  2.63k|		destp = (type *)srcp; \
  |  | 2161|  2.63k|	} \
  |  | 2162|  2.63k|}
  ------------------
 5501|  2.63k|		SCTP_FIND_STCB(inp, stcb, strrst->srs_assoc_id);
  ------------------
  |  | 2133|  2.63k|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|  2.63k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|  2.63k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 2.63k, False: 0]
  |  |  ------------------
  |  | 2135|  2.63k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|  2.63k|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|  2.63k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  2.63k|	do {                         \
  |  |  |  |  |  |  113|  2.63k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.63k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  2.63k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|  2.63k|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|  2.63k|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 2.63k, False: 0]
  |  |  ------------------
  |  | 2139|  2.63k|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|  2.63k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  2.63k|	do {                         \
  |  |  |  |  |  |  113|  2.63k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.63k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  2.63k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|  2.63k|		} \
  |  | 2141|  2.63k|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|  2.63k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  2.63k|	do {                         \
  |  |  |  |  |  |  113|  2.63k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.63k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  2.63k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|  2.63k|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|  2.63k|}
  ------------------
 5502|  2.63k|		if (stcb == NULL) {
  ------------------
  |  Branch (5502:7): [True: 0, False: 2.63k]
  ------------------
 5503|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT);
 5504|      0|			error = ENOENT;
 5505|      0|			break;
 5506|      0|		}
 5507|  2.63k|		if (stcb->asoc.reconfig_supported == 0) {
  ------------------
  |  Branch (5507:7): [True: 0, False: 2.63k]
  ------------------
 5508|       |			/*
 5509|       |			 * Peer does not support the chunk type.
 5510|       |			 */
 5511|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EOPNOTSUPP);
 5512|      0|			error = EOPNOTSUPP;
 5513|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5514|      0|			break;
 5515|      0|		}
 5516|  2.63k|		if (SCTP_GET_STATE(stcb) != SCTP_STATE_OPEN) {
  ------------------
  |  |  472|  2.63k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  2.63k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if (SCTP_GET_STATE(stcb) != SCTP_STATE_OPEN) {
  ------------------
  |  |  459|  2.63k|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (5516:7): [True: 0, False: 2.63k]
  ------------------
 5517|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5518|      0|			error = EINVAL;
 5519|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5520|      0|			break;
 5521|      0|		}
 5522|  2.63k|		if (sizeof(struct sctp_reset_streams) +
  ------------------
  |  Branch (5522:7): [True: 0, False: 2.63k]
  ------------------
 5523|  2.63k|		    strrst->srs_number_streams * sizeof(uint16_t) > optsize) {
 5524|      0|			error = EINVAL;
 5525|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5526|      0|			break;
 5527|      0|		}
 5528|  2.63k|		if (strrst->srs_flags & SCTP_STREAM_RESET_INCOMING) {
  ------------------
  |  |  188|  2.63k|#define SCTP_STREAM_RESET_INCOMING	0x00000001
  ------------------
  |  Branch (5528:7): [True: 2.63k, False: 0]
  ------------------
 5529|  2.63k|			send_in = 1;
 5530|  2.63k|			if (stcb->asoc.stream_reset_outstanding) {
  ------------------
  |  Branch (5530:8): [True: 0, False: 2.63k]
  ------------------
 5531|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EALREADY);
 5532|      0|				error = EALREADY;
 5533|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5534|      0|				break;
 5535|      0|			}
 5536|  2.63k|		}
 5537|  2.63k|		if (strrst->srs_flags & SCTP_STREAM_RESET_OUTGOING) {
  ------------------
  |  |  189|  2.63k|#define SCTP_STREAM_RESET_OUTGOING	0x00000002
  ------------------
  |  Branch (5537:7): [True: 2.63k, False: 0]
  ------------------
 5538|  2.63k|			send_out = 1;
 5539|  2.63k|		}
 5540|  2.63k|		if ((strrst->srs_number_streams > SCTP_MAX_STREAMS_AT_ONCE_RESET) && send_in) {
  ------------------
  |  |  697|  2.63k|#define SCTP_MAX_STREAMS_AT_ONCE_RESET 200
  ------------------
  |  Branch (5540:7): [True: 0, False: 2.63k]
  |  Branch (5540:72): [True: 0, False: 0]
  ------------------
 5541|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOMEM);
 5542|      0|			error = ENOMEM;
 5543|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5544|      0|			break;
 5545|      0|		}
 5546|  2.63k|		if ((send_in == 0) && (send_out == 0)) {
  ------------------
  |  Branch (5546:7): [True: 0, False: 2.63k]
  |  Branch (5546:25): [True: 0, False: 0]
  ------------------
 5547|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5548|      0|			error = EINVAL;
 5549|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5550|      0|			break;
 5551|      0|		}
 5552|  2.63k|		for (i = 0; i < strrst->srs_number_streams; i++) {
  ------------------
  |  Branch (5552:15): [True: 0, False: 2.63k]
  ------------------
 5553|      0|			if ((send_in) &&
  ------------------
  |  Branch (5553:8): [True: 0, False: 0]
  ------------------
 5554|      0|			    (strrst->srs_stream_list[i] >= stcb->asoc.streamincnt)) {
  ------------------
  |  Branch (5554:8): [True: 0, False: 0]
  ------------------
 5555|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5556|      0|				error = EINVAL;
 5557|      0|				break;
 5558|      0|			}
 5559|      0|			if ((send_out) &&
  ------------------
  |  Branch (5559:8): [True: 0, False: 0]
  ------------------
 5560|      0|			    (strrst->srs_stream_list[i] >= stcb->asoc.streamoutcnt)) {
  ------------------
  |  Branch (5560:8): [True: 0, False: 0]
  ------------------
 5561|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5562|      0|				error = EINVAL;
 5563|      0|				break;
 5564|      0|			}
 5565|      0|		}
 5566|  2.63k|		if (error) {
  ------------------
  |  Branch (5566:7): [True: 0, False: 2.63k]
  ------------------
 5567|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5568|      0|			break;
 5569|      0|		}
 5570|  2.63k|		if (send_out) {
  ------------------
  |  Branch (5570:7): [True: 2.63k, False: 0]
  ------------------
 5571|  2.63k|			int cnt;
 5572|  2.63k|			uint16_t strm;
 5573|  2.63k|			if (strrst->srs_number_streams) {
  ------------------
  |  Branch (5573:8): [True: 0, False: 2.63k]
  ------------------
 5574|      0|				for (i = 0, cnt = 0; i < strrst->srs_number_streams; i++) {
  ------------------
  |  Branch (5574:26): [True: 0, False: 0]
  ------------------
 5575|      0|					strm = strrst->srs_stream_list[i];
 5576|      0|					if (stcb->asoc.strmout[strm].state == SCTP_STREAM_OPEN) {
  ------------------
  |  |  670|      0|#define SCTP_STREAM_OPEN             0x02
  ------------------
  |  Branch (5576:10): [True: 0, False: 0]
  ------------------
 5577|      0|						stcb->asoc.strmout[strm].state = SCTP_STREAM_RESET_PENDING;
  ------------------
  |  |  671|      0|#define SCTP_STREAM_RESET_PENDING    0x03
  ------------------
 5578|      0|						cnt++;
 5579|      0|					}
 5580|      0|				}
 5581|  2.63k|			} else {
 5582|       |				/* Its all */
 5583|   680k|				for (i = 0, cnt = 0; i < stcb->asoc.streamoutcnt; i++) {
  ------------------
  |  Branch (5583:26): [True: 677k, False: 2.63k]
  ------------------
 5584|   677k|					if (stcb->asoc.strmout[i].state == SCTP_STREAM_OPEN) {
  ------------------
  |  |  670|   677k|#define SCTP_STREAM_OPEN             0x02
  ------------------
  |  Branch (5584:10): [True: 677k, False: 0]
  ------------------
 5585|   677k|						stcb->asoc.strmout[i].state = SCTP_STREAM_RESET_PENDING;
  ------------------
  |  |  671|   677k|#define SCTP_STREAM_RESET_PENDING    0x03
  ------------------
 5586|   677k|						cnt++;
 5587|   677k|					}
 5588|   677k|				}
 5589|  2.63k|			}
 5590|  2.63k|		}
 5591|  2.63k|		if (send_in) {
  ------------------
  |  Branch (5591:7): [True: 2.63k, False: 0]
  ------------------
 5592|  2.63k|			error = sctp_send_str_reset_req(stcb, strrst->srs_number_streams,
 5593|  2.63k|							strrst->srs_stream_list,
 5594|  2.63k|							send_in, 0, 0, 0, 0, 0);
 5595|  2.63k|		} else {
 5596|      0|			error = sctp_send_stream_reset_out_if_possible(stcb, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5597|      0|		}
 5598|  2.63k|		if (error == 0) {
  ------------------
  |  Branch (5598:7): [True: 2.63k, False: 0]
  ------------------
 5599|  2.63k|			sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_STRRST_REQ, SCTP_SO_LOCKED);
  ------------------
  |  |  373|  2.63k|#define SCTP_OUTPUT_FROM_STRRST_REQ     12
  ------------------
              			sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_STRRST_REQ, SCTP_SO_LOCKED);
  ------------------
  |  |  959|  2.63k|#define SCTP_SO_LOCKED		1
  ------------------
 5600|  2.63k|		} else {
 5601|       |			 /*
 5602|       |			  * For outgoing streams don't report any problems in
 5603|       |			  * sending the request to the application.
 5604|       |			  * XXX: Double check resetting incoming streams.
 5605|       |			  */
 5606|      0|			error = 0;
 5607|      0|		}
 5608|  2.63k|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|  2.63k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  2.63k|	do {                         \
  |  |  |  |  113|  2.63k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.63k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  2.63k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5609|  2.63k|		break;
 5610|  2.63k|	}
 5611|  2.63k|	case SCTP_ADD_STREAMS:
  ------------------
  |  |  180|      0|#define SCTP_ADD_STREAMS		0x00000903 /* struct sctp_add_streams */
  ------------------
  |  Branch (5611:2): [True: 0, False: 234k]
  ------------------
 5612|      0|	{
 5613|      0|		struct sctp_add_streams *stradd;
 5614|      0|		uint8_t addstream = 0;
 5615|      0|		uint16_t add_o_strmcnt = 0;
 5616|      0|		uint16_t add_i_strmcnt = 0;
 5617|       |
 5618|      0|		SCTP_CHECK_AND_CAST(stradd, optval, struct sctp_add_streams, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5619|      0|		SCTP_FIND_STCB(inp, stcb, stradd->sas_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 5620|      0|		if (stcb == NULL) {
  ------------------
  |  Branch (5620:7): [True: 0, False: 0]
  ------------------
 5621|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT);
 5622|      0|			error = ENOENT;
 5623|      0|			break;
 5624|      0|		}
 5625|      0|		if (stcb->asoc.reconfig_supported == 0) {
  ------------------
  |  Branch (5625:7): [True: 0, False: 0]
  ------------------
 5626|       |			/*
 5627|       |			 * Peer does not support the chunk type.
 5628|       |			 */
 5629|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EOPNOTSUPP);
 5630|      0|			error = EOPNOTSUPP;
 5631|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5632|      0|			break;
 5633|      0|		}
 5634|      0|		if (SCTP_GET_STATE(stcb) != SCTP_STATE_OPEN) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if (SCTP_GET_STATE(stcb) != SCTP_STATE_OPEN) {
  ------------------
  |  |  459|      0|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (5634:7): [True: 0, False: 0]
  ------------------
 5635|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5636|      0|			error = EINVAL;
 5637|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5638|      0|			break;
 5639|      0|		}
 5640|      0|		if (stcb->asoc.stream_reset_outstanding) {
  ------------------
  |  Branch (5640:7): [True: 0, False: 0]
  ------------------
 5641|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EALREADY);
 5642|      0|			error = EALREADY;
 5643|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5644|      0|			break;
 5645|      0|		}
 5646|      0|		if ((stradd->sas_outstrms == 0) &&
  ------------------
  |  Branch (5646:7): [True: 0, False: 0]
  ------------------
 5647|      0|		    (stradd->sas_instrms == 0)) {
  ------------------
  |  Branch (5647:7): [True: 0, False: 0]
  ------------------
 5648|      0|			error = EINVAL;
 5649|      0|			goto skip_stuff;
 5650|      0|		}
 5651|      0|		if (stradd->sas_outstrms) {
  ------------------
  |  Branch (5651:7): [True: 0, False: 0]
  ------------------
 5652|      0|			addstream = 1;
 5653|       |			/* We allocate here */
 5654|      0|			add_o_strmcnt = stradd->sas_outstrms;
 5655|      0|			if ((((int)add_o_strmcnt) + ((int)stcb->asoc.streamoutcnt)) > 0x0000ffff) {
  ------------------
  |  Branch (5655:8): [True: 0, False: 0]
  ------------------
 5656|       |				/* You can't have more than 64k */
 5657|      0|				error = EINVAL;
 5658|      0|				goto skip_stuff;
 5659|      0|			}
 5660|      0|		}
 5661|      0|		if (stradd->sas_instrms) {
  ------------------
  |  Branch (5661:7): [True: 0, False: 0]
  ------------------
 5662|      0|			int cnt;
 5663|       |
 5664|      0|			addstream |= 2;
 5665|       |			/* We allocate inside sctp_send_str_reset_req() */
 5666|      0|			add_i_strmcnt = stradd->sas_instrms;
 5667|      0|			cnt = add_i_strmcnt;
 5668|      0|			cnt += stcb->asoc.streamincnt;
 5669|      0|			if (cnt > 0x0000ffff) {
  ------------------
  |  Branch (5669:8): [True: 0, False: 0]
  ------------------
 5670|       |				/* You can't have more than 64k */
 5671|      0|				error = EINVAL;
 5672|      0|				goto skip_stuff;
 5673|      0|			}
 5674|      0|			if (cnt > (int)stcb->asoc.max_inbound_streams) {
  ------------------
  |  Branch (5674:8): [True: 0, False: 0]
  ------------------
 5675|       |				/* More than you are allowed */
 5676|      0|				error = EINVAL;
 5677|      0|				goto skip_stuff;
 5678|      0|			}
 5679|      0|		}
 5680|      0|		error = sctp_send_str_reset_req(stcb, 0, NULL, 0, 0, addstream, add_o_strmcnt, add_i_strmcnt, 0);
 5681|      0|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_STRRST_REQ, SCTP_SO_LOCKED);
  ------------------
  |  |  373|      0|#define SCTP_OUTPUT_FROM_STRRST_REQ     12
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_STRRST_REQ, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5682|      0|	skip_stuff:
 5683|      0|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5684|      0|		break;
 5685|      0|	}
 5686|      0|	case SCTP_RESET_ASSOC:
  ------------------
  |  |  179|      0|#define SCTP_RESET_ASSOC		0x00000902 /* sctp_assoc_t */
  ------------------
  |  Branch (5686:2): [True: 0, False: 234k]
  ------------------
 5687|      0|	{
 5688|      0|		int i;
 5689|      0|		uint32_t *value;
 5690|       |
 5691|      0|		SCTP_CHECK_AND_CAST(value, optval, uint32_t, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5692|      0|		SCTP_FIND_STCB(inp, stcb, (sctp_assoc_t) *value);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 5693|      0|		if (stcb == NULL) {
  ------------------
  |  Branch (5693:7): [True: 0, False: 0]
  ------------------
 5694|      0|		        SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT);
 5695|      0|			error = ENOENT;
 5696|      0|			break;
 5697|      0|		}
 5698|      0|		if (stcb->asoc.reconfig_supported == 0) {
  ------------------
  |  Branch (5698:7): [True: 0, False: 0]
  ------------------
 5699|       |			/*
 5700|       |			 * Peer does not support the chunk type.
 5701|       |			 */
 5702|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EOPNOTSUPP);
 5703|      0|			error = EOPNOTSUPP;
 5704|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5705|      0|			break;
 5706|      0|		}
 5707|      0|		if (SCTP_GET_STATE(stcb) != SCTP_STATE_OPEN) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if (SCTP_GET_STATE(stcb) != SCTP_STATE_OPEN) {
  ------------------
  |  |  459|      0|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (5707:7): [True: 0, False: 0]
  ------------------
 5708|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5709|      0|			error = EINVAL;
 5710|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5711|      0|			break;
 5712|      0|		}
 5713|      0|		if (stcb->asoc.stream_reset_outstanding) {
  ------------------
  |  Branch (5713:7): [True: 0, False: 0]
  ------------------
 5714|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EALREADY);
 5715|      0|			error = EALREADY;
 5716|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5717|      0|			break;
 5718|      0|		}
 5719|       |		/* Is there any data pending in the send or sent queues? */
 5720|      0|		if (!TAILQ_EMPTY(&stcb->asoc.send_queue) ||
  ------------------
  |  Branch (5720:7): [True: 0, False: 0]
  ------------------
 5721|      0|		    !TAILQ_EMPTY(&stcb->asoc.sent_queue)) {
  ------------------
  |  Branch (5721:7): [True: 0, False: 0]
  ------------------
 5722|      0|		busy_out:
 5723|      0|			error = EBUSY;
 5724|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, error);
 5725|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5726|      0|			break;
 5727|      0|		}
 5728|       |		/* Do any streams have data queued? */
 5729|      0|		for (i = 0; i < stcb->asoc.streamoutcnt; i++) {
  ------------------
  |  Branch (5729:15): [True: 0, False: 0]
  ------------------
 5730|      0|			if (!TAILQ_EMPTY(&stcb->asoc.strmout[i].outqueue)) {
  ------------------
  |  Branch (5730:8): [True: 0, False: 0]
  ------------------
 5731|      0|				goto busy_out;
 5732|      0|			}
 5733|      0|		}
 5734|      0|		error = sctp_send_str_reset_req(stcb, 0, NULL, 0, 1, 0, 0, 0, 0);
 5735|      0|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_STRRST_REQ, SCTP_SO_LOCKED);
  ------------------
  |  |  373|      0|#define SCTP_OUTPUT_FROM_STRRST_REQ     12
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_STRRST_REQ, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5736|      0|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5737|      0|		break;
 5738|      0|	}
 5739|      0|	case SCTP_CONNECT_X:
  ------------------
  |  |  279|      0|#define SCTP_CONNECT_X			0x00008007
  ------------------
  |  Branch (5739:2): [True: 0, False: 234k]
  ------------------
 5740|      0|		if (optsize < (sizeof(int) + sizeof(struct sockaddr_in))) {
  ------------------
  |  Branch (5740:7): [True: 0, False: 0]
  ------------------
 5741|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5742|      0|			error = EINVAL;
 5743|      0|			break;
 5744|      0|		}
 5745|      0|		error = sctp_do_connect_x(so, inp, optval, optsize, p, 0);
 5746|      0|		break;
 5747|      0|	case SCTP_CONNECT_X_DELAYED:
  ------------------
  |  |  281|      0|#define SCTP_CONNECT_X_DELAYED		0x00008008
  ------------------
  |  Branch (5747:2): [True: 0, False: 234k]
  ------------------
 5748|      0|		if (optsize < (sizeof(int) + sizeof(struct sockaddr_in))) {
  ------------------
  |  Branch (5748:7): [True: 0, False: 0]
  ------------------
 5749|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5750|      0|			error = EINVAL;
 5751|      0|			break;
 5752|      0|		}
 5753|      0|		error = sctp_do_connect_x(so, inp, optval, optsize, p, 1);
 5754|      0|		break;
 5755|      0|	case SCTP_CONNECT_X_COMPLETE:
  ------------------
  |  |  282|      0|#define SCTP_CONNECT_X_COMPLETE         0x00008009
  ------------------
  |  Branch (5755:2): [True: 0, False: 234k]
  ------------------
 5756|      0|	{
 5757|      0|		struct sockaddr *sa;
 5758|       |
 5759|       |		/* FIXME MT: check correct? */
 5760|      0|		SCTP_CHECK_AND_CAST(sa, optval, struct sockaddr, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5761|       |
 5762|       |		/* find tcb */
 5763|      0|		if (inp->sctp_flags & SCTP_PCB_FLAGS_CONNECTED) {
  ------------------
  |  |  542|      0|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
  |  Branch (5763:7): [True: 0, False: 0]
  ------------------
 5764|      0|			SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5765|      0|			stcb = LIST_FIRST(&inp->sctp_asoc_list);
 5766|      0|			if (stcb) {
  ------------------
  |  Branch (5766:8): [True: 0, False: 0]
  ------------------
 5767|      0|				SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5768|      0|			}
 5769|      0|			SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5770|      0|		} else {
 5771|       |			/* We increment here since sctp_findassociation_ep_addr() wil
 5772|       |			 * do a decrement if it finds the stcb as long as the locked
 5773|       |			 * tcb (last argument) is NOT a TCB.. aka NULL.
 5774|       |			 */
 5775|      0|			SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 5776|      0|			stcb = sctp_findassociation_ep_addr(&inp, sa, NULL, NULL, NULL);
 5777|      0|			if (stcb == NULL) {
  ------------------
  |  Branch (5777:8): [True: 0, False: 0]
  ------------------
 5778|      0|				SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 5779|      0|			}
 5780|      0|		}
 5781|       |
 5782|      0|		if (stcb == NULL) {
  ------------------
  |  Branch (5782:7): [True: 0, False: 0]
  ------------------
 5783|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT);
 5784|      0|			error = ENOENT;
 5785|      0|			break;
 5786|      0|		}
 5787|      0|		if (stcb->asoc.delayed_connection == 1) {
  ------------------
  |  Branch (5787:7): [True: 0, False: 0]
  ------------------
 5788|      0|			stcb->asoc.delayed_connection = 0;
 5789|      0|			(void)SCTP_GETTIME_TIMEVAL(&stcb->asoc.time_entered);
  ------------------
  |  |  991|      0|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 5790|      0|			sctp_timer_stop(SCTP_TIMER_TYPE_INIT, inp, stcb,
  ------------------
  |  |  533|      0|#define SCTP_TIMER_TYPE_INIT		2
  ------------------
 5791|      0|					stcb->asoc.primary_destination,
 5792|      0|					SCTP_FROM_SCTP_USRREQ + SCTP_LOC_8);
  ------------------
  |  |  759|      0|#define SCTP_FROM_SCTP_USRREQ       0x50000000
  ------------------
              					SCTP_FROM_SCTP_USRREQ + SCTP_LOC_8);
  ------------------
  |  |  776|      0|#define SCTP_LOC_8  0x00000008
  ------------------
 5793|      0|			sctp_send_initiate(inp, stcb, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 5794|      0|		} else {
 5795|       |			/*
 5796|       |			 * already expired or did not use delayed
 5797|       |			 * connectx
 5798|       |			 */
 5799|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EALREADY);
 5800|      0|			error = EALREADY;
 5801|      0|		}
 5802|      0|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5803|      0|		break;
 5804|      0|	}
 5805|      0|	case SCTP_MAX_BURST:
  ------------------
  |  |  118|      0|#define SCTP_MAX_BURST			0x00000019 /* rw */
  ------------------
  |  Branch (5805:2): [True: 0, False: 234k]
  ------------------
 5806|      0|	{
 5807|      0|		struct sctp_assoc_value *av;
 5808|       |
 5809|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5810|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 5811|       |
 5812|      0|		if (stcb) {
  ------------------
  |  Branch (5812:7): [True: 0, False: 0]
  ------------------
 5813|      0|			stcb->asoc.max_burst = av->assoc_value;
 5814|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5815|      0|		} else {
 5816|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5816:8): [True: 0, False: 0]
  ------------------
 5817|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5817:8): [True: 0, False: 0]
  ------------------
 5818|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5818:9): [True: 0, False: 0]
  ------------------
 5819|      0|			     ((av->assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (5819:10): [True: 0, False: 0]
  ------------------
 5820|      0|			      (av->assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5820:10): [True: 0, False: 0]
  ------------------
 5821|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5822|      0|				inp->sctp_ep.max_burst = av->assoc_value;
 5823|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5824|      0|			}
 5825|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5825:8): [True: 0, False: 0]
  ------------------
 5826|      0|			    ((av->assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (5826:9): [True: 0, False: 0]
  ------------------
 5827|      0|			     (av->assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (5827:9): [True: 0, False: 0]
  ------------------
 5828|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5829|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 5830|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5831|      0|					stcb->asoc.max_burst = av->assoc_value;
 5832|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5833|      0|				}
 5834|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5835|      0|			}
 5836|      0|		}
 5837|      0|		break;
 5838|      0|	}
 5839|      0|	case SCTP_MAXSEG:
  ------------------
  |  |  105|      0|#define SCTP_MAXSEG 			0x0000000e
  ------------------
  |  Branch (5839:2): [True: 0, False: 234k]
  ------------------
 5840|      0|	{
 5841|      0|		struct sctp_assoc_value *av;
 5842|       |
 5843|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5844|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 5845|       |
 5846|      0|		if (stcb) {
  ------------------
  |  Branch (5846:7): [True: 0, False: 0]
  ------------------
 5847|      0|			stcb->asoc.sctp_frag_point = av->assoc_value;
 5848|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5849|      0|		} else {
 5850|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5850:8): [True: 0, False: 0]
  ------------------
 5851|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5851:8): [True: 0, False: 0]
  ------------------
 5852|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (5852:9): [True: 0, False: 0]
  ------------------
 5853|      0|			     (av->assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (5853:9): [True: 0, False: 0]
  ------------------
 5854|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5855|      0|				inp->sctp_frag_point = av->assoc_value;
 5856|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5857|      0|			} else {
 5858|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 5859|      0|				error = EINVAL;
 5860|      0|			}
 5861|      0|		}
 5862|      0|		break;
 5863|      0|	}
 5864|      0|	case SCTP_EVENTS:
  ------------------
  |  |  102|      0|#define SCTP_EVENTS			0x0000000c /* deprecated */
  ------------------
  |  Branch (5864:2): [True: 0, False: 234k]
  ------------------
 5865|      0|	{
 5866|      0|		struct sctp_event_subscribe *events;
 5867|       |
 5868|      0|		SCTP_CHECK_AND_CAST(events, optval, struct sctp_event_subscribe, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 5869|       |
 5870|      0|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5871|      0|		if (events->sctp_data_io_event) {
  ------------------
  |  Branch (5871:7): [True: 0, False: 0]
  ------------------
 5872|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_RECVDATAIOEVNT);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 5873|      0|		} else {
 5874|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_RECVDATAIOEVNT);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 5875|      0|		}
 5876|       |
 5877|      0|		if (events->sctp_association_event) {
  ------------------
  |  Branch (5877:7): [True: 0, False: 0]
  ------------------
 5878|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_RECVASSOCEVNT);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 5879|      0|		} else {
 5880|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_RECVASSOCEVNT);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 5881|      0|		}
 5882|       |
 5883|      0|		if (events->sctp_address_event) {
  ------------------
  |  Branch (5883:7): [True: 0, False: 0]
  ------------------
 5884|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_RECVPADDREVNT);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 5885|      0|		} else {
 5886|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_RECVPADDREVNT);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 5887|      0|		}
 5888|       |
 5889|      0|		if (events->sctp_send_failure_event) {
  ------------------
  |  Branch (5889:7): [True: 0, False: 0]
  ------------------
 5890|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_RECVSENDFAILEVNT);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 5891|      0|		} else {
 5892|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_RECVSENDFAILEVNT);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 5893|      0|		}
 5894|       |
 5895|      0|		if (events->sctp_peer_error_event) {
  ------------------
  |  Branch (5895:7): [True: 0, False: 0]
  ------------------
 5896|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_RECVPEERERR);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 5897|      0|		} else {
 5898|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_RECVPEERERR);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 5899|      0|		}
 5900|       |
 5901|      0|		if (events->sctp_shutdown_event) {
  ------------------
  |  Branch (5901:7): [True: 0, False: 0]
  ------------------
 5902|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_RECVSHUTDOWNEVNT);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 5903|      0|		} else {
 5904|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_RECVSHUTDOWNEVNT);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 5905|      0|		}
 5906|       |
 5907|      0|		if (events->sctp_partial_delivery_event) {
  ------------------
  |  Branch (5907:7): [True: 0, False: 0]
  ------------------
 5908|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_PDAPIEVNT);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 5909|      0|		} else {
 5910|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_PDAPIEVNT);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 5911|      0|		}
 5912|       |
 5913|      0|		if (events->sctp_adaptation_layer_event) {
  ------------------
  |  Branch (5913:7): [True: 0, False: 0]
  ------------------
 5914|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_ADAPTATIONEVNT);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 5915|      0|		} else {
 5916|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_ADAPTATIONEVNT);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 5917|      0|		}
 5918|       |
 5919|      0|		if (events->sctp_authentication_event) {
  ------------------
  |  Branch (5919:7): [True: 0, False: 0]
  ------------------
 5920|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_AUTHEVNT);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 5921|      0|		} else {
 5922|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_AUTHEVNT);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 5923|      0|		}
 5924|       |
 5925|      0|		if (events->sctp_sender_dry_event) {
  ------------------
  |  Branch (5925:7): [True: 0, False: 0]
  ------------------
 5926|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_DRYEVNT);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 5927|      0|		} else {
 5928|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_DRYEVNT);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 5929|      0|		}
 5930|       |
 5931|      0|		if (events->sctp_stream_reset_event) {
  ------------------
  |  Branch (5931:7): [True: 0, False: 0]
  ------------------
 5932|      0|			sctp_feature_on(inp, SCTP_PCB_FLAGS_STREAM_RESETEVNT);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 5933|      0|		} else {
 5934|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_STREAM_RESETEVNT);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 5935|      0|		}
 5936|       |
 5937|      0|		LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 5938|      0|			SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5939|      0|			if (events->sctp_association_event) {
  ------------------
  |  Branch (5939:8): [True: 0, False: 0]
  ------------------
 5940|      0|				sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_RECVASSOCEVNT);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 5941|      0|			} else {
 5942|      0|				sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_RECVASSOCEVNT);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 5943|      0|			}
 5944|      0|			if (events->sctp_address_event) {
  ------------------
  |  Branch (5944:8): [True: 0, False: 0]
  ------------------
 5945|      0|				sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_RECVPADDREVNT);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 5946|      0|			} else {
 5947|      0|				sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_RECVPADDREVNT);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 5948|      0|			}
 5949|      0|			if (events->sctp_send_failure_event) {
  ------------------
  |  Branch (5949:8): [True: 0, False: 0]
  ------------------
 5950|      0|				sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_RECVSENDFAILEVNT);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 5951|      0|			} else {
 5952|      0|				sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_RECVSENDFAILEVNT);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 5953|      0|			}
 5954|      0|			if (events->sctp_peer_error_event) {
  ------------------
  |  Branch (5954:8): [True: 0, False: 0]
  ------------------
 5955|      0|				sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_RECVPEERERR);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 5956|      0|			} else {
 5957|      0|				sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_RECVPEERERR);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 5958|      0|			}
 5959|      0|			if (events->sctp_shutdown_event) {
  ------------------
  |  Branch (5959:8): [True: 0, False: 0]
  ------------------
 5960|      0|				sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_RECVSHUTDOWNEVNT);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 5961|      0|			} else {
 5962|      0|				sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_RECVSHUTDOWNEVNT);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 5963|      0|			}
 5964|      0|			if (events->sctp_partial_delivery_event) {
  ------------------
  |  Branch (5964:8): [True: 0, False: 0]
  ------------------
 5965|      0|				sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_PDAPIEVNT);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 5966|      0|			} else {
 5967|      0|				sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_PDAPIEVNT);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 5968|      0|			}
 5969|      0|			if (events->sctp_adaptation_layer_event) {
  ------------------
  |  Branch (5969:8): [True: 0, False: 0]
  ------------------
 5970|      0|				sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_ADAPTATIONEVNT);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 5971|      0|			} else {
 5972|      0|				sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_ADAPTATIONEVNT);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 5973|      0|			}
 5974|      0|			if (events->sctp_authentication_event) {
  ------------------
  |  Branch (5974:8): [True: 0, False: 0]
  ------------------
 5975|      0|				sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_AUTHEVNT);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 5976|      0|			} else {
 5977|      0|				sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_AUTHEVNT);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 5978|      0|			}
 5979|      0|			if (events->sctp_sender_dry_event) {
  ------------------
  |  Branch (5979:8): [True: 0, False: 0]
  ------------------
 5980|      0|				sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_DRYEVNT);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 5981|      0|			} else {
 5982|      0|				sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_DRYEVNT);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 5983|      0|			}
 5984|      0|			if (events->sctp_stream_reset_event) {
  ------------------
  |  Branch (5984:8): [True: 0, False: 0]
  ------------------
 5985|      0|				sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_STREAM_RESETEVNT);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 5986|      0|			} else {
 5987|      0|				sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_STREAM_RESETEVNT);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 5988|      0|			}
 5989|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5990|      0|		}
 5991|       |		/* Send up the sender dry event only for 1-to-1 style sockets. */
 5992|      0|		if (events->sctp_sender_dry_event) {
  ------------------
  |  Branch (5992:7): [True: 0, False: 0]
  ------------------
 5993|      0|			if (((inp->sctp_flags & (SCTP_PCB_FLAGS_TCPTYPE | SCTP_PCB_FLAGS_IN_TCPPOOL)) != 0) &&
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
              			if (((inp->sctp_flags & (SCTP_PCB_FLAGS_TCPTYPE | SCTP_PCB_FLAGS_IN_TCPPOOL)) != 0) &&
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5993:8): [True: 0, False: 0]
  ------------------
 5994|      0|			    !SCTP_IS_LISTENING(inp)) {
  ------------------
  |  | 1146|      0|#define SCTP_IS_LISTENING(inp) ((inp->sctp_flags & SCTP_PCB_FLAGS_ACCEPTING) != 0)
  |  |  ------------------
  |  |  |  |  534|      0|#define SCTP_PCB_FLAGS_ACCEPTING	0x00000008
  |  |  ------------------
  ------------------
  |  Branch (5994:8): [True: 0, False: 0]
  ------------------
 5995|      0|				stcb = LIST_FIRST(&inp->sctp_asoc_list);
 5996|      0|				if (stcb != NULL) {
  ------------------
  |  Branch (5996:9): [True: 0, False: 0]
  ------------------
 5997|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5998|      0|					if (TAILQ_EMPTY(&stcb->asoc.send_queue) &&
 5999|      0|					    TAILQ_EMPTY(&stcb->asoc.sent_queue) &&
 6000|      0|					    (stcb->asoc.stream_queue_cnt == 0)) {
  ------------------
  |  Branch (6000:10): [True: 0, False: 0]
  ------------------
 6001|      0|						sctp_ulp_notify(SCTP_NOTIFY_SENDER_DRY, stcb, 0, NULL, SCTP_SO_LOCKED);
  ------------------
  |  |  730|      0|#define SCTP_NOTIFY_SENDER_DRY                  28
  ------------------
              						sctp_ulp_notify(SCTP_NOTIFY_SENDER_DRY, stcb, 0, NULL, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 6002|      0|					}
 6003|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6004|      0|				}
 6005|      0|			}
 6006|      0|		}
 6007|      0|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6008|      0|		break;
 6009|      0|	}
 6010|      0|	case SCTP_ADAPTATION_LAYER:
  ------------------
  |  |   95|      0|#define SCTP_ADAPTATION_LAYER		0x00000008
  ------------------
  |  Branch (6010:2): [True: 0, False: 234k]
  ------------------
 6011|      0|	{
 6012|      0|		struct sctp_setadaptation *adap_bits;
 6013|       |
 6014|      0|		SCTP_CHECK_AND_CAST(adap_bits, optval, struct sctp_setadaptation, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 6015|      0|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6016|      0|		inp->sctp_ep.adaptation_layer_indicator = adap_bits->ssb_adaptation_ind;
 6017|      0|		inp->sctp_ep.adaptation_layer_indicator_provided = 1;
 6018|      0|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6019|      0|		break;
 6020|      0|	}
 6021|       |#ifdef SCTP_DEBUG
 6022|       |	case SCTP_SET_INITIAL_DBG_SEQ:
 6023|       |	{
 6024|       |		uint32_t *vvv;
 6025|       |
 6026|       |		SCTP_CHECK_AND_CAST(vvv, optval, uint32_t, optsize);
 6027|       |		SCTP_INP_WLOCK(inp);
 6028|       |		inp->sctp_ep.initial_sequence_debug = *vvv;
 6029|       |		SCTP_INP_WUNLOCK(inp);
 6030|       |		break;
 6031|       |	}
 6032|       |#endif
 6033|      0|	case SCTP_DEFAULT_SEND_PARAM:
  ------------------
  |  |  100|      0|#define SCTP_DEFAULT_SEND_PARAM		0x0000000b
  ------------------
  |  Branch (6033:2): [True: 0, False: 234k]
  ------------------
 6034|      0|	{
 6035|      0|		struct sctp_sndrcvinfo *s_info;
 6036|       |
 6037|      0|		SCTP_CHECK_AND_CAST(s_info, optval, struct sctp_sndrcvinfo, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 6038|      0|		SCTP_FIND_STCB(inp, stcb, s_info->sinfo_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 6039|       |
 6040|      0|		if (stcb) {
  ------------------
  |  Branch (6040:7): [True: 0, False: 0]
  ------------------
 6041|      0|			if (s_info->sinfo_stream < stcb->asoc.streamoutcnt) {
  ------------------
  |  Branch (6041:8): [True: 0, False: 0]
  ------------------
 6042|      0|				memcpy(&stcb->asoc.def_send, s_info, min(optsize, sizeof(stcb->asoc.def_send)));
  ------------------
  |  |   66|      0|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 6043|      0|			} else {
 6044|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6045|      0|				error = EINVAL;
 6046|      0|			}
 6047|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6048|      0|		} else {
 6049|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (6049:8): [True: 0, False: 0]
  ------------------
 6050|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (6050:8): [True: 0, False: 0]
  ------------------
 6051|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (6051:9): [True: 0, False: 0]
  ------------------
 6052|      0|			     ((s_info->sinfo_assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (6052:10): [True: 0, False: 0]
  ------------------
 6053|      0|			      (s_info->sinfo_assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (6053:10): [True: 0, False: 0]
  ------------------
 6054|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6055|      0|				memcpy(&inp->def_send, s_info, min(optsize, sizeof(inp->def_send)));
  ------------------
  |  |   66|      0|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 6056|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6057|      0|			}
 6058|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (6058:8): [True: 0, False: 0]
  ------------------
 6059|      0|			    ((s_info->sinfo_assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (6059:9): [True: 0, False: 0]
  ------------------
 6060|      0|			     (s_info->sinfo_assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (6060:9): [True: 0, False: 0]
  ------------------
 6061|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6062|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 6063|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6064|      0|					if (s_info->sinfo_stream < stcb->asoc.streamoutcnt) {
  ------------------
  |  Branch (6064:10): [True: 0, False: 0]
  ------------------
 6065|      0|						memcpy(&stcb->asoc.def_send, s_info, min(optsize, sizeof(stcb->asoc.def_send)));
  ------------------
  |  |   66|      0|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 6066|      0|					}
 6067|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6068|      0|				}
 6069|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6070|      0|			}
 6071|      0|		}
 6072|      0|		break;
 6073|      0|	}
 6074|      0|	case SCTP_PEER_ADDR_PARAMS:
  ------------------
  |  |   99|      0|#define SCTP_PEER_ADDR_PARAMS 		0x0000000a
  ------------------
  |  Branch (6074:2): [True: 0, False: 234k]
  ------------------
 6075|      0|	{
 6076|      0|		struct sctp_paddrparams *paddrp;
 6077|      0|		struct sctp_nets *net;
 6078|      0|		struct sockaddr *addr;
 6079|      0|#if defined(INET) && defined(INET6)
 6080|      0|		struct sockaddr_in sin_store;
 6081|      0|#endif
 6082|       |
 6083|      0|		SCTP_CHECK_AND_CAST(paddrp, optval, struct sctp_paddrparams, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 6084|      0|		SCTP_FIND_STCB(inp, stcb, paddrp->spp_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 6085|       |
 6086|      0|#if defined(INET) && defined(INET6)
 6087|      0|		if (paddrp->spp_address.ss_family == AF_INET6) {
  ------------------
  |  Branch (6087:7): [True: 0, False: 0]
  ------------------
 6088|      0|			struct sockaddr_in6 *sin6;
 6089|       |
 6090|      0|			sin6 = (struct sockaddr_in6 *)&paddrp->spp_address;
 6091|      0|			if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
 6092|      0|				in6_sin6_2_sin(&sin_store, sin6);
 6093|      0|				addr = (struct sockaddr *)&sin_store;
 6094|      0|			} else {
 6095|      0|				addr = (struct sockaddr *)&paddrp->spp_address;
 6096|      0|			}
 6097|      0|		} else {
 6098|      0|			addr = (struct sockaddr *)&paddrp->spp_address;
 6099|      0|		}
 6100|       |#else
 6101|       |		addr = (struct sockaddr *)&paddrp->spp_address;
 6102|       |#endif
 6103|      0|		if (stcb != NULL) {
  ------------------
  |  Branch (6103:7): [True: 0, False: 0]
  ------------------
 6104|      0|			net = sctp_findnet(stcb, addr);
 6105|      0|		} else {
 6106|       |			/* We increment here since sctp_findassociation_ep_addr() wil
 6107|       |			 * do a decrement if it finds the stcb as long as the locked
 6108|       |			 * tcb (last argument) is NOT a TCB.. aka NULL.
 6109|       |			 */
 6110|      0|			net = NULL;
 6111|      0|			SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 6112|      0|			stcb = sctp_findassociation_ep_addr(&inp, addr,
 6113|      0|			                                    &net, NULL, NULL);
 6114|      0|			if (stcb == NULL) {
  ------------------
  |  Branch (6114:8): [True: 0, False: 0]
  ------------------
 6115|      0|				SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 6116|      0|			}
 6117|      0|		}
 6118|      0|		if ((stcb != NULL) && (net == NULL)) {
  ------------------
  |  Branch (6118:7): [True: 0, False: 0]
  |  Branch (6118:25): [True: 0, False: 0]
  ------------------
 6119|      0|#ifdef INET
 6120|      0|			if (addr->sa_family == AF_INET) {
  ------------------
  |  Branch (6120:8): [True: 0, False: 0]
  ------------------
 6121|      0|				struct sockaddr_in *sin;
 6122|       |
 6123|      0|				sin = (struct sockaddr_in *)addr;
 6124|      0|				if (sin->sin_addr.s_addr != INADDR_ANY) {
  ------------------
  |  Branch (6124:9): [True: 0, False: 0]
  ------------------
 6125|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6126|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6127|      0|					error = EINVAL;
 6128|      0|					break;
 6129|      0|				}
 6130|      0|			} else
 6131|      0|#endif
 6132|      0|#ifdef INET6
 6133|      0|			if (addr->sa_family == AF_INET6) {
  ------------------
  |  Branch (6133:8): [True: 0, False: 0]
  ------------------
 6134|      0|				struct sockaddr_in6 *sin6;
 6135|       |
 6136|      0|				sin6 = (struct sockaddr_in6 *)addr;
 6137|      0|				if (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
  ------------------
  |  Branch (6137:9): [True: 0, False: 0]
  ------------------
 6138|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6139|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6140|      0|					error = EINVAL;
 6141|      0|					break;
 6142|      0|				}
 6143|      0|			} else
 6144|      0|#endif
 6145|      0|#if defined(__Userspace__)
 6146|      0|			if (addr->sa_family == AF_CONN) {
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (6146:8): [True: 0, False: 0]
  ------------------
 6147|      0|				struct sockaddr_conn *sconn;
 6148|       |
 6149|      0|				sconn = (struct sockaddr_conn *)addr;
 6150|      0|				if (sconn->sconn_addr != NULL) {
  ------------------
  |  Branch (6150:9): [True: 0, False: 0]
  ------------------
 6151|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6152|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6153|      0|					error = EINVAL;
 6154|      0|					break;
 6155|      0|				}
 6156|      0|			} else
 6157|      0|#endif
 6158|      0|			{
 6159|      0|				error = EAFNOSUPPORT;
 6160|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6161|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, error);
 6162|      0|				break;
 6163|      0|			}
 6164|      0|		}
 6165|       |		/* sanity checks */
 6166|      0|		if ((paddrp->spp_flags & SPP_HB_ENABLE) && (paddrp->spp_flags & SPP_HB_DISABLE)) {
  ------------------
  |  |  585|      0|#define SPP_HB_ENABLE		0x00000001
  ------------------
              		if ((paddrp->spp_flags & SPP_HB_ENABLE) && (paddrp->spp_flags & SPP_HB_DISABLE)) {
  ------------------
  |  |  586|      0|#define SPP_HB_DISABLE		0x00000002
  ------------------
  |  Branch (6166:7): [True: 0, False: 0]
  |  Branch (6166:46): [True: 0, False: 0]
  ------------------
 6167|      0|			if (stcb)
  ------------------
  |  Branch (6167:8): [True: 0, False: 0]
  ------------------
 6168|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6169|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6170|      0|			return (EINVAL);
 6171|      0|		}
 6172|       |
 6173|      0|		if ((paddrp->spp_flags & SPP_PMTUD_ENABLE) && (paddrp->spp_flags & SPP_PMTUD_DISABLE)) {
  ------------------
  |  |  588|      0|#define SPP_PMTUD_ENABLE	0x00000008
  ------------------
              		if ((paddrp->spp_flags & SPP_PMTUD_ENABLE) && (paddrp->spp_flags & SPP_PMTUD_DISABLE)) {
  ------------------
  |  |  589|      0|#define SPP_PMTUD_DISABLE	0x00000010
  ------------------
  |  Branch (6173:7): [True: 0, False: 0]
  |  Branch (6173:49): [True: 0, False: 0]
  ------------------
 6174|      0|			if (stcb)
  ------------------
  |  Branch (6174:8): [True: 0, False: 0]
  ------------------
 6175|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6176|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6177|      0|			return (EINVAL);
 6178|      0|		}
 6179|      0|		if ((paddrp->spp_flags & SPP_PMTUD_DISABLE) &&
  ------------------
  |  |  589|      0|#define SPP_PMTUD_DISABLE	0x00000010
  ------------------
  |  Branch (6179:7): [True: 0, False: 0]
  ------------------
 6180|      0|		    (paddrp->spp_pathmtu > 0) &&
  ------------------
  |  Branch (6180:7): [True: 0, False: 0]
  ------------------
 6181|      0|		    ((paddrp->spp_pathmtu < SCTP_SMALLEST_PMTU) ||
  ------------------
  |  |  614|      0|#define SCTP_SMALLEST_PMTU 512
  ------------------
  |  Branch (6181:8): [True: 0, False: 0]
  ------------------
 6182|      0|		     (paddrp->spp_pathmtu > SCTP_LARGEST_PMTU))) {
  ------------------
  |  |  616|      0|#define SCTP_LARGEST_PMTU  65536
  ------------------
  |  Branch (6182:8): [True: 0, False: 0]
  ------------------
 6183|      0|			if (stcb)
  ------------------
  |  Branch (6183:8): [True: 0, False: 0]
  ------------------
 6184|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6185|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6186|      0|			return (EINVAL);
 6187|      0|		}
 6188|       |
 6189|      0|		if (stcb != NULL) {
  ------------------
  |  Branch (6189:7): [True: 0, False: 0]
  ------------------
 6190|       |			/************************TCB SPECIFIC SET ******************/
 6191|      0|			if (net != NULL) {
  ------------------
  |  Branch (6191:8): [True: 0, False: 0]
  ------------------
 6192|       |				/************************NET SPECIFIC SET ******************/
 6193|      0|				if (paddrp->spp_flags & SPP_HB_DISABLE) {
  ------------------
  |  |  586|      0|#define SPP_HB_DISABLE		0x00000002
  ------------------
  |  Branch (6193:9): [True: 0, False: 0]
  ------------------
 6194|      0|					if (((net->dest_state & SCTP_ADDR_UNCONFIRMED) == 0) &&
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (6194:10): [True: 0, False: 0]
  ------------------
 6195|      0|					    ((net->dest_state & SCTP_ADDR_NOHB) == 0)) {
  ------------------
  |  |  483|      0|#define SCTP_ADDR_NOHB			0x004
  ------------------
  |  Branch (6195:10): [True: 0, False: 0]
  ------------------
 6196|      0|						sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net,
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 6197|      0|						                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_9);
  ------------------
  |  |  759|      0|#define SCTP_FROM_SCTP_USRREQ       0x50000000
  ------------------
              						                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_9);
  ------------------
  |  |  777|      0|#define SCTP_LOC_9  0x00000009
  ------------------
 6198|      0|					}
 6199|      0|					net->dest_state |= SCTP_ADDR_NOHB;
  ------------------
  |  |  483|      0|#define SCTP_ADDR_NOHB			0x004
  ------------------
 6200|      0|				}
 6201|      0|				if (paddrp->spp_flags & SPP_HB_ENABLE) {
  ------------------
  |  |  585|      0|#define SPP_HB_ENABLE		0x00000001
  ------------------
  |  Branch (6201:9): [True: 0, False: 0]
  ------------------
 6202|      0|					if (paddrp->spp_hbinterval) {
  ------------------
  |  Branch (6202:10): [True: 0, False: 0]
  ------------------
 6203|      0|						net->heart_beat_delay = paddrp->spp_hbinterval;
 6204|      0|					} else if (paddrp->spp_flags & SPP_HB_TIME_IS_ZERO) {
  ------------------
  |  |  590|      0|#define SPP_HB_TIME_IS_ZERO     0x00000080
  ------------------
  |  Branch (6204:17): [True: 0, False: 0]
  ------------------
 6205|      0|						net->heart_beat_delay = 0;
 6206|      0|					}
 6207|      0|					sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net,
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 6208|      0|					                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_10);
  ------------------
  |  |  759|      0|#define SCTP_FROM_SCTP_USRREQ       0x50000000
  ------------------
              					                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_10);
  ------------------
  |  |  778|      0|#define SCTP_LOC_10 0x0000000a
  ------------------
 6209|      0|					sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net);
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 6210|      0|					net->dest_state &= ~SCTP_ADDR_NOHB;
  ------------------
  |  |  483|      0|#define SCTP_ADDR_NOHB			0x004
  ------------------
 6211|      0|				}
 6212|      0|				if (paddrp->spp_flags & SPP_HB_DEMAND) {
  ------------------
  |  |  587|      0|#define SPP_HB_DEMAND		0x00000004
  ------------------
  |  Branch (6212:9): [True: 0, False: 0]
  ------------------
 6213|      0|					if (SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              					if (SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) {
  ------------------
  |  |  459|      0|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (6213:10): [True: 0, False: 0]
  ------------------
 6214|      0|						sctp_send_hb(stcb, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 6215|      0|						sctp_chunk_output(inp, stcb,  SCTP_OUTPUT_FROM_SOCKOPT, SCTP_SO_LOCKED);
  ------------------
  |  |  378|      0|#define SCTP_OUTPUT_FROM_SOCKOPT        17
  ------------------
              						sctp_chunk_output(inp, stcb,  SCTP_OUTPUT_FROM_SOCKOPT, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 6216|      0|						sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net);
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 6217|      0|					}
 6218|      0|				}
 6219|      0|				if (paddrp->spp_flags & SPP_PMTUD_DISABLE) {
  ------------------
  |  |  589|      0|#define SPP_PMTUD_DISABLE	0x00000010
  ------------------
  |  Branch (6219:9): [True: 0, False: 0]
  ------------------
 6220|      0|					if (SCTP_OS_TIMER_PENDING(&net->pmtu_timer.timer)) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  |  |  |  Branch (102:36): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 6221|      0|						sctp_timer_stop(SCTP_TIMER_TYPE_PATHMTURAISE, inp, stcb, net,
  ------------------
  |  |  539|      0|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
 6222|      0|						                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_11);
  ------------------
  |  |  759|      0|#define SCTP_FROM_SCTP_USRREQ       0x50000000
  ------------------
              						                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_11);
  ------------------
  |  |  779|      0|#define SCTP_LOC_11 0x0000000b
  ------------------
 6223|      0|					}
 6224|      0|					net->dest_state |= SCTP_ADDR_NO_PMTUD;
  ------------------
  |  |  482|      0|#define SCTP_ADDR_NO_PMTUD              0x002
  ------------------
 6225|      0|					if (paddrp->spp_pathmtu > 0) {
  ------------------
  |  Branch (6225:10): [True: 0, False: 0]
  ------------------
 6226|      0|						net->mtu = paddrp->spp_pathmtu;
 6227|      0|						switch (net->ro._l_addr.sa.sa_family) {
 6228|      0|#ifdef INET
 6229|      0|						case AF_INET:
  ------------------
  |  Branch (6229:7): [True: 0, False: 0]
  ------------------
 6230|      0|							net->mtu += SCTP_MIN_V4_OVERHEAD;
  ------------------
  |  |  588|      0|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|      0|                              sizeof(struct sctphdr))
  ------------------
 6231|      0|							break;
 6232|      0|#endif
 6233|      0|#ifdef INET6
 6234|      0|						case AF_INET6:
  ------------------
  |  Branch (6234:7): [True: 0, False: 0]
  ------------------
 6235|      0|							net->mtu += SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|      0|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|      0|                           sizeof(struct sctphdr))
  ------------------
 6236|      0|							break;
 6237|      0|#endif
 6238|      0|#if defined(__Userspace__)
 6239|      0|						case AF_CONN:
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (6239:7): [True: 0, False: 0]
  ------------------
 6240|      0|							net->mtu += sizeof(struct sctphdr);
 6241|      0|							break;
 6242|      0|#endif
 6243|      0|						default:
  ------------------
  |  Branch (6243:7): [True: 0, False: 0]
  ------------------
 6244|      0|							break;
 6245|      0|						}
 6246|      0|						if (net->mtu < stcb->asoc.smallest_mtu) {
  ------------------
  |  Branch (6246:11): [True: 0, False: 0]
  ------------------
 6247|      0|							sctp_pathmtu_adjustment(stcb, net->mtu, true);
 6248|      0|						}
 6249|      0|					}
 6250|      0|				}
 6251|      0|				if (paddrp->spp_flags & SPP_PMTUD_ENABLE) {
  ------------------
  |  |  588|      0|#define SPP_PMTUD_ENABLE	0x00000008
  ------------------
  |  Branch (6251:9): [True: 0, False: 0]
  ------------------
 6252|      0|					if (!SCTP_OS_TIMER_PENDING(&net->pmtu_timer.timer)) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  ------------------
  |  Branch (6252:10): [True: 0, False: 0]
  ------------------
 6253|      0|						sctp_timer_start(SCTP_TIMER_TYPE_PATHMTURAISE, inp, stcb, net);
  ------------------
  |  |  539|      0|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
 6254|      0|					}
 6255|      0|					net->dest_state &= ~SCTP_ADDR_NO_PMTUD;
  ------------------
  |  |  482|      0|#define SCTP_ADDR_NO_PMTUD              0x002
  ------------------
 6256|      0|				}
 6257|      0|				if (paddrp->spp_pathmaxrxt > 0) {
  ------------------
  |  Branch (6257:9): [True: 0, False: 0]
  ------------------
 6258|      0|					if (net->dest_state & SCTP_ADDR_PF) {
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (6258:10): [True: 0, False: 0]
  ------------------
 6259|      0|						if (net->error_count > paddrp->spp_pathmaxrxt) {
  ------------------
  |  Branch (6259:11): [True: 0, False: 0]
  ------------------
 6260|      0|							net->dest_state &= ~SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
 6261|      0|						}
 6262|      0|					} else {
 6263|      0|						if ((net->error_count <= paddrp->spp_pathmaxrxt) &&
  ------------------
  |  Branch (6263:11): [True: 0, False: 0]
  ------------------
 6264|      0|						    (net->error_count > net->pf_threshold)) {
  ------------------
  |  Branch (6264:11): [True: 0, False: 0]
  ------------------
 6265|      0|							net->dest_state |= SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
 6266|      0|							sctp_send_hb(stcb, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 6267|      0|							sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT,
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 6268|      0|							                stcb->sctp_ep, stcb, net,
 6269|      0|							                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_12);
  ------------------
  |  |  759|      0|#define SCTP_FROM_SCTP_USRREQ       0x50000000
  ------------------
              							                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_12);
  ------------------
  |  |  780|      0|#define SCTP_LOC_12 0x0000000c
  ------------------
 6270|      0|							sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep, stcb, net);
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 6271|      0|						}
 6272|      0|					}
 6273|      0|					if (net->dest_state & SCTP_ADDR_REACHABLE) {
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (6273:10): [True: 0, False: 0]
  ------------------
 6274|      0|						if (net->error_count > paddrp->spp_pathmaxrxt) {
  ------------------
  |  Branch (6274:11): [True: 0, False: 0]
  ------------------
 6275|      0|							net->dest_state &= ~SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 6276|      0|							sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_DOWN, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  705|      0|#define SCTP_NOTIFY_INTERFACE_DOWN               3
  ------------------
              							sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_DOWN, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 6277|      0|						}
 6278|      0|					} else {
 6279|      0|						if (net->error_count <= paddrp->spp_pathmaxrxt) {
  ------------------
  |  Branch (6279:11): [True: 0, False: 0]
  ------------------
 6280|      0|							net->dest_state |= SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 6281|      0|							sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_UP, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  706|      0|#define SCTP_NOTIFY_INTERFACE_UP                 4
  ------------------
              							sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_UP, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 6282|      0|						}
 6283|      0|					}
 6284|      0|					net->failure_threshold = paddrp->spp_pathmaxrxt;
 6285|      0|				}
 6286|      0|				if (paddrp->spp_flags & SPP_DSCP) {
  ------------------
  |  |  592|      0|#define SPP_DSCP                0x00000200
  ------------------
  |  Branch (6286:9): [True: 0, False: 0]
  ------------------
 6287|      0|					net->dscp = paddrp->spp_dscp & 0xfc;
 6288|      0|					net->dscp |= 0x01;
 6289|      0|				}
 6290|      0|#ifdef INET6
 6291|      0|				if (paddrp->spp_flags & SPP_IPV6_FLOWLABEL) {
  ------------------
  |  |  591|      0|#define SPP_IPV6_FLOWLABEL      0x00000100
  ------------------
  |  Branch (6291:9): [True: 0, False: 0]
  ------------------
 6292|      0|					if (net->ro._l_addr.sa.sa_family == AF_INET6) {
  ------------------
  |  Branch (6292:10): [True: 0, False: 0]
  ------------------
 6293|      0|						net->flowlabel = paddrp->spp_ipv6_flowlabel & 0x000fffff;
 6294|      0|						net->flowlabel |= 0x80000000;
 6295|      0|					}
 6296|      0|				}
 6297|      0|#endif
 6298|      0|			} else {
 6299|       |				/************************ASSOC ONLY -- NO NET SPECIFIC SET ******************/
 6300|      0|				if (paddrp->spp_pathmaxrxt > 0) {
  ------------------
  |  Branch (6300:9): [True: 0, False: 0]
  ------------------
 6301|      0|					stcb->asoc.def_net_failure = paddrp->spp_pathmaxrxt;
 6302|      0|					TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 6303|      0|						if (net->dest_state & SCTP_ADDR_PF) {
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (6303:11): [True: 0, False: 0]
  ------------------
 6304|      0|							if (net->error_count > paddrp->spp_pathmaxrxt) {
  ------------------
  |  Branch (6304:12): [True: 0, False: 0]
  ------------------
 6305|      0|								net->dest_state &= ~SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
 6306|      0|							}
 6307|      0|						} else {
 6308|      0|							if ((net->error_count <= paddrp->spp_pathmaxrxt) &&
  ------------------
  |  Branch (6308:12): [True: 0, False: 0]
  ------------------
 6309|      0|							    (net->error_count > net->pf_threshold)) {
  ------------------
  |  Branch (6309:12): [True: 0, False: 0]
  ------------------
 6310|      0|								net->dest_state |= SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
 6311|      0|								sctp_send_hb(stcb, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 6312|      0|								sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT,
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 6313|      0|								                stcb->sctp_ep, stcb, net,
 6314|      0|								                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_13);
  ------------------
  |  |  759|      0|#define SCTP_FROM_SCTP_USRREQ       0x50000000
  ------------------
              								                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_13);
  ------------------
  |  |  781|      0|#define SCTP_LOC_13 0x0000000d
  ------------------
 6315|      0|								sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep, stcb, net);
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 6316|      0|							}
 6317|      0|						}
 6318|      0|						if (net->dest_state & SCTP_ADDR_REACHABLE) {
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (6318:11): [True: 0, False: 0]
  ------------------
 6319|      0|							if (net->error_count > paddrp->spp_pathmaxrxt) {
  ------------------
  |  Branch (6319:12): [True: 0, False: 0]
  ------------------
 6320|      0|								net->dest_state &= ~SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 6321|      0|								sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_DOWN, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  705|      0|#define SCTP_NOTIFY_INTERFACE_DOWN               3
  ------------------
              								sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_DOWN, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 6322|      0|							}
 6323|      0|						} else {
 6324|      0|							if (net->error_count <= paddrp->spp_pathmaxrxt) {
  ------------------
  |  Branch (6324:12): [True: 0, False: 0]
  ------------------
 6325|      0|								net->dest_state |= SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 6326|      0|								sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_UP, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  706|      0|#define SCTP_NOTIFY_INTERFACE_UP                 4
  ------------------
              								sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_UP, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 6327|      0|							}
 6328|      0|						}
 6329|      0|						net->failure_threshold = paddrp->spp_pathmaxrxt;
 6330|      0|					}
 6331|      0|				}
 6332|      0|				if (paddrp->spp_flags & SPP_HB_ENABLE) {
  ------------------
  |  |  585|      0|#define SPP_HB_ENABLE		0x00000001
  ------------------
  |  Branch (6332:9): [True: 0, False: 0]
  ------------------
 6333|      0|					if (paddrp->spp_hbinterval != 0) {
  ------------------
  |  Branch (6333:10): [True: 0, False: 0]
  ------------------
 6334|      0|						stcb->asoc.heart_beat_delay = paddrp->spp_hbinterval;
 6335|      0|					} else if (paddrp->spp_flags & SPP_HB_TIME_IS_ZERO) {
  ------------------
  |  |  590|      0|#define SPP_HB_TIME_IS_ZERO     0x00000080
  ------------------
  |  Branch (6335:17): [True: 0, False: 0]
  ------------------
 6336|      0|						stcb->asoc.heart_beat_delay = 0;
 6337|      0|					}
 6338|       |					/* Turn back on the timer */
 6339|      0|					TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 6340|      0|						if (paddrp->spp_hbinterval != 0) {
  ------------------
  |  Branch (6340:11): [True: 0, False: 0]
  ------------------
 6341|      0|							net->heart_beat_delay = paddrp->spp_hbinterval;
 6342|      0|						} else if (paddrp->spp_flags & SPP_HB_TIME_IS_ZERO) {
  ------------------
  |  |  590|      0|#define SPP_HB_TIME_IS_ZERO     0x00000080
  ------------------
  |  Branch (6342:18): [True: 0, False: 0]
  ------------------
 6343|      0|							net->heart_beat_delay = 0;
 6344|      0|						}
 6345|      0|						if (net->dest_state & SCTP_ADDR_NOHB) {
  ------------------
  |  |  483|      0|#define SCTP_ADDR_NOHB			0x004
  ------------------
  |  Branch (6345:11): [True: 0, False: 0]
  ------------------
 6346|      0|							net->dest_state &= ~SCTP_ADDR_NOHB;
  ------------------
  |  |  483|      0|#define SCTP_ADDR_NOHB			0x004
  ------------------
 6347|      0|						}
 6348|      0|						sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net,
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 6349|      0|								SCTP_FROM_SCTP_USRREQ + SCTP_LOC_14);
  ------------------
  |  |  759|      0|#define SCTP_FROM_SCTP_USRREQ       0x50000000
  ------------------
              								SCTP_FROM_SCTP_USRREQ + SCTP_LOC_14);
  ------------------
  |  |  782|      0|#define SCTP_LOC_14 0x0000000e
  ------------------
 6350|      0|						sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net);
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 6351|      0|					}
 6352|      0|					sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_DONOT_HEARTBEAT);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 6353|      0|				}
 6354|      0|				if (paddrp->spp_flags & SPP_HB_DISABLE) {
  ------------------
  |  |  586|      0|#define SPP_HB_DISABLE		0x00000002
  ------------------
  |  Branch (6354:9): [True: 0, False: 0]
  ------------------
 6355|      0|					TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 6356|      0|						if ((net->dest_state & SCTP_ADDR_NOHB) == 0) {
  ------------------
  |  |  483|      0|#define SCTP_ADDR_NOHB			0x004
  ------------------
  |  Branch (6356:11): [True: 0, False: 0]
  ------------------
 6357|      0|							net->dest_state |= SCTP_ADDR_NOHB;
  ------------------
  |  |  483|      0|#define SCTP_ADDR_NOHB			0x004
  ------------------
 6358|      0|							if ((net->dest_state & SCTP_ADDR_UNCONFIRMED) == 0) {
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (6358:12): [True: 0, False: 0]
  ------------------
 6359|      0|								sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT,
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 6360|      0|								                inp, stcb, net,
 6361|      0|								                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_15);
  ------------------
  |  |  759|      0|#define SCTP_FROM_SCTP_USRREQ       0x50000000
  ------------------
              								                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_15);
  ------------------
  |  |  783|      0|#define SCTP_LOC_15 0x0000000f
  ------------------
 6362|      0|							}
 6363|      0|						}
 6364|      0|					}
 6365|      0|					sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_DONOT_HEARTBEAT);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 6366|      0|				}
 6367|      0|				if (paddrp->spp_flags & SPP_PMTUD_DISABLE) {
  ------------------
  |  |  589|      0|#define SPP_PMTUD_DISABLE	0x00000010
  ------------------
  |  Branch (6367:9): [True: 0, False: 0]
  ------------------
 6368|      0|					TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 6369|      0|						if (SCTP_OS_TIMER_PENDING(&net->pmtu_timer.timer)) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  |  |  |  Branch (102:36): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 6370|      0|							sctp_timer_stop(SCTP_TIMER_TYPE_PATHMTURAISE, inp, stcb, net,
  ------------------
  |  |  539|      0|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
 6371|      0|							                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_16);
  ------------------
  |  |  759|      0|#define SCTP_FROM_SCTP_USRREQ       0x50000000
  ------------------
              							                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_16);
  ------------------
  |  |  784|      0|#define SCTP_LOC_16 0x00000010
  ------------------
 6372|      0|						}
 6373|      0|						net->dest_state |= SCTP_ADDR_NO_PMTUD;
  ------------------
  |  |  482|      0|#define SCTP_ADDR_NO_PMTUD              0x002
  ------------------
 6374|      0|						if (paddrp->spp_pathmtu > 0) {
  ------------------
  |  Branch (6374:11): [True: 0, False: 0]
  ------------------
 6375|      0|							net->mtu = paddrp->spp_pathmtu;
 6376|      0|							switch (net->ro._l_addr.sa.sa_family) {
 6377|      0|#ifdef INET
 6378|      0|							case AF_INET:
  ------------------
  |  Branch (6378:8): [True: 0, False: 0]
  ------------------
 6379|      0|								net->mtu += SCTP_MIN_V4_OVERHEAD;
  ------------------
  |  |  588|      0|#define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
  |  |  589|      0|                              sizeof(struct sctphdr))
  ------------------
 6380|      0|								break;
 6381|      0|#endif
 6382|      0|#ifdef INET6
 6383|      0|							case AF_INET6:
  ------------------
  |  Branch (6383:8): [True: 0, False: 0]
  ------------------
 6384|      0|								net->mtu += SCTP_MIN_OVERHEAD;
  ------------------
  |  |  564|      0|#define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
  |  |  565|      0|                           sizeof(struct sctphdr))
  ------------------
 6385|      0|								break;
 6386|      0|#endif
 6387|      0|#if defined(__Userspace__)
 6388|      0|							case AF_CONN:
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (6388:8): [True: 0, False: 0]
  ------------------
 6389|      0|								net->mtu += sizeof(struct sctphdr);
 6390|      0|								break;
 6391|      0|#endif
 6392|      0|							default:
  ------------------
  |  Branch (6392:8): [True: 0, False: 0]
  ------------------
 6393|      0|								break;
 6394|      0|							}
 6395|      0|							if (net->mtu < stcb->asoc.smallest_mtu) {
  ------------------
  |  Branch (6395:12): [True: 0, False: 0]
  ------------------
 6396|      0|								sctp_pathmtu_adjustment(stcb, net->mtu, true);
 6397|      0|							}
 6398|      0|						}
 6399|      0|					}
 6400|      0|					if (paddrp->spp_pathmtu > 0) {
  ------------------
  |  Branch (6400:10): [True: 0, False: 0]
  ------------------
 6401|      0|						stcb->asoc.default_mtu = paddrp->spp_pathmtu;
 6402|      0|					}
 6403|      0|					sctp_stcb_feature_on(inp, stcb, SCTP_PCB_FLAGS_DO_NOT_PMTUD);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 6404|      0|				}
 6405|      0|				if (paddrp->spp_flags & SPP_PMTUD_ENABLE) {
  ------------------
  |  |  588|      0|#define SPP_PMTUD_ENABLE	0x00000008
  ------------------
  |  Branch (6405:9): [True: 0, False: 0]
  ------------------
 6406|      0|					TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 6407|      0|						if (!SCTP_OS_TIMER_PENDING(&net->pmtu_timer.timer)) {
  ------------------
  |  |  102|      0|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|      0|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  ------------------
  |  Branch (6407:11): [True: 0, False: 0]
  ------------------
 6408|      0|							sctp_timer_start(SCTP_TIMER_TYPE_PATHMTURAISE, inp, stcb, net);
  ------------------
  |  |  539|      0|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
 6409|      0|						}
 6410|      0|						net->dest_state &= ~SCTP_ADDR_NO_PMTUD;
  ------------------
  |  |  482|      0|#define SCTP_ADDR_NO_PMTUD              0x002
  ------------------
 6411|      0|					}
 6412|      0|					stcb->asoc.default_mtu = 0;
 6413|      0|					sctp_stcb_feature_off(inp, stcb, SCTP_PCB_FLAGS_DO_NOT_PMTUD);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 6414|      0|				}
 6415|      0|				if (paddrp->spp_flags & SPP_DSCP) {
  ------------------
  |  |  592|      0|#define SPP_DSCP                0x00000200
  ------------------
  |  Branch (6415:9): [True: 0, False: 0]
  ------------------
 6416|      0|					TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 6417|      0|						net->dscp = paddrp->spp_dscp & 0xfc;
 6418|      0|						net->dscp |= 0x01;
 6419|      0|					}
 6420|      0|					stcb->asoc.default_dscp = paddrp->spp_dscp & 0xfc;
 6421|      0|					stcb->asoc.default_dscp |= 0x01;
 6422|      0|				}
 6423|      0|#ifdef INET6
 6424|      0|				if (paddrp->spp_flags & SPP_IPV6_FLOWLABEL) {
  ------------------
  |  |  591|      0|#define SPP_IPV6_FLOWLABEL      0x00000100
  ------------------
  |  Branch (6424:9): [True: 0, False: 0]
  ------------------
 6425|      0|					TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 6426|      0|						if (net->ro._l_addr.sa.sa_family == AF_INET6) {
  ------------------
  |  Branch (6426:11): [True: 0, False: 0]
  ------------------
 6427|      0|							net->flowlabel = paddrp->spp_ipv6_flowlabel & 0x000fffff;
 6428|      0|							net->flowlabel |= 0x80000000;
 6429|      0|						}
 6430|      0|					}
 6431|      0|					stcb->asoc.default_flowlabel = paddrp->spp_ipv6_flowlabel & 0x000fffff;
 6432|      0|					stcb->asoc.default_flowlabel |= 0x80000000;
 6433|      0|				}
 6434|      0|#endif
 6435|      0|			}
 6436|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6437|      0|		} else {
 6438|       |			/************************NO TCB, SET TO default stuff ******************/
 6439|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (6439:8): [True: 0, False: 0]
  ------------------
 6440|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (6440:8): [True: 0, False: 0]
  ------------------
 6441|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (6441:9): [True: 0, False: 0]
  ------------------
 6442|      0|			     (paddrp->spp_assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (6442:9): [True: 0, False: 0]
  ------------------
 6443|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6444|       |				/*
 6445|       |				 * For the TOS/FLOWLABEL stuff you set it
 6446|       |				 * with the options on the socket
 6447|       |				 */
 6448|      0|				if (paddrp->spp_pathmaxrxt > 0) {
  ------------------
  |  Branch (6448:9): [True: 0, False: 0]
  ------------------
 6449|      0|					inp->sctp_ep.def_net_failure = paddrp->spp_pathmaxrxt;
 6450|      0|				}
 6451|       |
 6452|      0|				if (paddrp->spp_flags & SPP_HB_TIME_IS_ZERO)
  ------------------
  |  |  590|      0|#define SPP_HB_TIME_IS_ZERO     0x00000080
  ------------------
  |  Branch (6452:9): [True: 0, False: 0]
  ------------------
 6453|      0|					inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_HEARTBEAT] = 0;
  ------------------
  |  |  520|      0|#define SCTP_TIMER_HEARTBEAT	3
  ------------------
 6454|      0|				else if (paddrp->spp_hbinterval != 0) {
  ------------------
  |  Branch (6454:14): [True: 0, False: 0]
  ------------------
 6455|      0|					if (paddrp->spp_hbinterval > SCTP_MAX_HB_INTERVAL)
  ------------------
  |  |  636|      0|#define SCTP_MAX_HB_INTERVAL 14400000 /* 4 hours in ms */
  ------------------
  |  Branch (6455:10): [True: 0, False: 0]
  ------------------
 6456|      0|						paddrp->spp_hbinterval= SCTP_MAX_HB_INTERVAL;
  ------------------
  |  |  636|      0|#define SCTP_MAX_HB_INTERVAL 14400000 /* 4 hours in ms */
  ------------------
 6457|      0|					inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_HEARTBEAT] = sctp_msecs_to_ticks(paddrp->spp_hbinterval);
  ------------------
  |  |  520|      0|#define SCTP_TIMER_HEARTBEAT	3
  ------------------
 6458|      0|				}
 6459|       |
 6460|      0|				if (paddrp->spp_flags & SPP_HB_ENABLE) {
  ------------------
  |  |  585|      0|#define SPP_HB_ENABLE		0x00000001
  ------------------
  |  Branch (6460:9): [True: 0, False: 0]
  ------------------
 6461|      0|					if (paddrp->spp_flags & SPP_HB_TIME_IS_ZERO) {
  ------------------
  |  |  590|      0|#define SPP_HB_TIME_IS_ZERO     0x00000080
  ------------------
  |  Branch (6461:10): [True: 0, False: 0]
  ------------------
 6462|      0|						inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_HEARTBEAT] = 0;
  ------------------
  |  |  520|      0|#define SCTP_TIMER_HEARTBEAT	3
  ------------------
 6463|      0|					} else if (paddrp->spp_hbinterval) {
  ------------------
  |  Branch (6463:17): [True: 0, False: 0]
  ------------------
 6464|      0|						inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_HEARTBEAT] = sctp_msecs_to_ticks(paddrp->spp_hbinterval);
  ------------------
  |  |  520|      0|#define SCTP_TIMER_HEARTBEAT	3
  ------------------
 6465|      0|					}
 6466|      0|					sctp_feature_off(inp, SCTP_PCB_FLAGS_DONOT_HEARTBEAT);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 6467|      0|				} else if (paddrp->spp_flags & SPP_HB_DISABLE) {
  ------------------
  |  |  586|      0|#define SPP_HB_DISABLE		0x00000002
  ------------------
  |  Branch (6467:16): [True: 0, False: 0]
  ------------------
 6468|      0|					sctp_feature_on(inp, SCTP_PCB_FLAGS_DONOT_HEARTBEAT);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 6469|      0|				}
 6470|      0|				if (paddrp->spp_flags & SPP_PMTUD_ENABLE) {
  ------------------
  |  |  588|      0|#define SPP_PMTUD_ENABLE	0x00000008
  ------------------
  |  Branch (6470:9): [True: 0, False: 0]
  ------------------
 6471|      0|					inp->sctp_ep.default_mtu = 0;
 6472|      0|					sctp_feature_off(inp, SCTP_PCB_FLAGS_DO_NOT_PMTUD);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 6473|      0|				} else if (paddrp->spp_flags & SPP_PMTUD_DISABLE) {
  ------------------
  |  |  589|      0|#define SPP_PMTUD_DISABLE	0x00000010
  ------------------
  |  Branch (6473:16): [True: 0, False: 0]
  ------------------
 6474|      0|					if (paddrp->spp_pathmtu > 0) {
  ------------------
  |  Branch (6474:10): [True: 0, False: 0]
  ------------------
 6475|      0|						inp->sctp_ep.default_mtu = paddrp->spp_pathmtu;
 6476|      0|					}
 6477|      0|					sctp_feature_on(inp, SCTP_PCB_FLAGS_DO_NOT_PMTUD);
  ------------------
  |  |   50|      0|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 6478|      0|				}
 6479|      0|				if (paddrp->spp_flags & SPP_DSCP) {
  ------------------
  |  |  592|      0|#define SPP_DSCP                0x00000200
  ------------------
  |  Branch (6479:9): [True: 0, False: 0]
  ------------------
 6480|      0|					inp->sctp_ep.default_dscp = paddrp->spp_dscp & 0xfc;
 6481|      0|					inp->sctp_ep.default_dscp |= 0x01;
 6482|      0|				}
 6483|      0|#ifdef INET6
 6484|      0|				if (paddrp->spp_flags & SPP_IPV6_FLOWLABEL) {
  ------------------
  |  |  591|      0|#define SPP_IPV6_FLOWLABEL      0x00000100
  ------------------
  |  Branch (6484:9): [True: 0, False: 0]
  ------------------
 6485|      0|					if (inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) {
  ------------------
  |  |  547|      0|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  |  Branch (6485:10): [True: 0, False: 0]
  ------------------
 6486|      0|						inp->sctp_ep.default_flowlabel = paddrp->spp_ipv6_flowlabel & 0x000fffff;
 6487|      0|						inp->sctp_ep.default_flowlabel |= 0x80000000;
 6488|      0|					}
 6489|      0|				}
 6490|      0|#endif
 6491|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6492|      0|			} else {
 6493|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6494|      0|				error = EINVAL;
 6495|      0|			}
 6496|      0|		}
 6497|      0|		break;
 6498|      0|	}
 6499|      0|	case SCTP_RTOINFO:
  ------------------
  |  |   88|      0|#define SCTP_RTOINFO			0x00000001
  ------------------
  |  Branch (6499:2): [True: 0, False: 234k]
  ------------------
 6500|      0|	{
 6501|      0|		struct sctp_rtoinfo *srto;
 6502|      0|		uint32_t new_init, new_min, new_max;
 6503|       |
 6504|      0|		SCTP_CHECK_AND_CAST(srto, optval, struct sctp_rtoinfo, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 6505|      0|		SCTP_FIND_STCB(inp, stcb, srto->srto_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 6506|       |
 6507|      0|		if (stcb) {
  ------------------
  |  Branch (6507:7): [True: 0, False: 0]
  ------------------
 6508|      0|			if (srto->srto_initial)
  ------------------
  |  Branch (6508:8): [True: 0, False: 0]
  ------------------
 6509|      0|				new_init = srto->srto_initial;
 6510|      0|			else
 6511|      0|				new_init = stcb->asoc.initial_rto;
 6512|      0|			if (srto->srto_max)
  ------------------
  |  Branch (6512:8): [True: 0, False: 0]
  ------------------
 6513|      0|				new_max = srto->srto_max;
 6514|      0|			else
 6515|      0|				new_max = stcb->asoc.maxrto;
 6516|      0|			if (srto->srto_min)
  ------------------
  |  Branch (6516:8): [True: 0, False: 0]
  ------------------
 6517|      0|				new_min = srto->srto_min;
 6518|      0|			else
 6519|      0|				new_min = stcb->asoc.minrto;
 6520|      0|			if ((new_min <= new_init) && (new_init <= new_max)) {
  ------------------
  |  Branch (6520:8): [True: 0, False: 0]
  |  Branch (6520:33): [True: 0, False: 0]
  ------------------
 6521|      0|				stcb->asoc.initial_rto = new_init;
 6522|      0|				stcb->asoc.maxrto = new_max;
 6523|      0|				stcb->asoc.minrto = new_min;
 6524|      0|			} else {
 6525|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6526|      0|				error = EINVAL;
 6527|      0|			}
 6528|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6529|      0|		} else {
 6530|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (6530:8): [True: 0, False: 0]
  ------------------
 6531|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (6531:8): [True: 0, False: 0]
  ------------------
 6532|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (6532:9): [True: 0, False: 0]
  ------------------
 6533|      0|			     (srto->srto_assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (6533:9): [True: 0, False: 0]
  ------------------
 6534|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6535|      0|				if (srto->srto_initial)
  ------------------
  |  Branch (6535:9): [True: 0, False: 0]
  ------------------
 6536|      0|					new_init = srto->srto_initial;
 6537|      0|				else
 6538|      0|					new_init = inp->sctp_ep.initial_rto;
 6539|      0|				if (srto->srto_max)
  ------------------
  |  Branch (6539:9): [True: 0, False: 0]
  ------------------
 6540|      0|					new_max = srto->srto_max;
 6541|      0|				else
 6542|      0|					new_max = inp->sctp_ep.sctp_maxrto;
 6543|      0|				if (srto->srto_min)
  ------------------
  |  Branch (6543:9): [True: 0, False: 0]
  ------------------
 6544|      0|					new_min = srto->srto_min;
 6545|      0|				else
 6546|      0|					new_min = inp->sctp_ep.sctp_minrto;
 6547|      0|				if ((new_min <= new_init) && (new_init <= new_max)) {
  ------------------
  |  Branch (6547:9): [True: 0, False: 0]
  |  Branch (6547:34): [True: 0, False: 0]
  ------------------
 6548|      0|					inp->sctp_ep.initial_rto = new_init;
 6549|      0|					inp->sctp_ep.sctp_maxrto = new_max;
 6550|      0|					inp->sctp_ep.sctp_minrto = new_min;
 6551|      0|				} else {
 6552|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6553|      0|					error = EINVAL;
 6554|      0|				}
 6555|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6556|      0|			} else {
 6557|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6558|      0|				error = EINVAL;
 6559|      0|			}
 6560|      0|		}
 6561|      0|		break;
 6562|      0|	}
 6563|      0|	case SCTP_ASSOCINFO:
  ------------------
  |  |   89|      0|#define SCTP_ASSOCINFO			0x00000002
  ------------------
  |  Branch (6563:2): [True: 0, False: 234k]
  ------------------
 6564|      0|	{
 6565|      0|		struct sctp_assocparams *sasoc;
 6566|       |
 6567|      0|		SCTP_CHECK_AND_CAST(sasoc, optval, struct sctp_assocparams, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 6568|      0|		SCTP_FIND_STCB(inp, stcb, sasoc->sasoc_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 6569|      0|		if (sasoc->sasoc_cookie_life > 0) {
  ------------------
  |  Branch (6569:7): [True: 0, False: 0]
  ------------------
 6570|       |			/* boundary check the cookie life */
 6571|      0|			if (sasoc->sasoc_cookie_life < SCTP_MIN_COOKIE_LIFE) {
  ------------------
  |  |  637|      0|#define SCTP_MIN_COOKIE_LIFE     1000 /* 1 second in ms */
  ------------------
  |  Branch (6571:8): [True: 0, False: 0]
  ------------------
 6572|      0|				sasoc->sasoc_cookie_life = SCTP_MIN_COOKIE_LIFE;
  ------------------
  |  |  637|      0|#define SCTP_MIN_COOKIE_LIFE     1000 /* 1 second in ms */
  ------------------
 6573|      0|			}
 6574|      0|			if (sasoc->sasoc_cookie_life > SCTP_MAX_COOKIE_LIFE) {
  ------------------
  |  |  638|      0|#define SCTP_MAX_COOKIE_LIFE  3600000 /* 1 hour in ms */
  ------------------
  |  Branch (6574:8): [True: 0, False: 0]
  ------------------
 6575|      0|				sasoc->sasoc_cookie_life = SCTP_MAX_COOKIE_LIFE;
  ------------------
  |  |  638|      0|#define SCTP_MAX_COOKIE_LIFE  3600000 /* 1 hour in ms */
  ------------------
 6576|      0|			}
 6577|      0|		}
 6578|      0|		if (stcb) {
  ------------------
  |  Branch (6578:7): [True: 0, False: 0]
  ------------------
 6579|      0|			if (sasoc->sasoc_asocmaxrxt > 0) {
  ------------------
  |  Branch (6579:8): [True: 0, False: 0]
  ------------------
 6580|      0|				stcb->asoc.max_send_times = sasoc->sasoc_asocmaxrxt;
 6581|      0|			}
 6582|      0|			if (sasoc->sasoc_cookie_life > 0) {
  ------------------
  |  Branch (6582:8): [True: 0, False: 0]
  ------------------
 6583|      0|				stcb->asoc.cookie_life = sctp_msecs_to_ticks(sasoc->sasoc_cookie_life);
 6584|      0|			}
 6585|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6586|      0|		} else {
 6587|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (6587:8): [True: 0, False: 0]
  ------------------
 6588|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (6588:8): [True: 0, False: 0]
  ------------------
 6589|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (6589:9): [True: 0, False: 0]
  ------------------
 6590|      0|			     (sasoc->sasoc_assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (6590:9): [True: 0, False: 0]
  ------------------
 6591|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6592|      0|				if (sasoc->sasoc_asocmaxrxt > 0) {
  ------------------
  |  Branch (6592:9): [True: 0, False: 0]
  ------------------
 6593|      0|					inp->sctp_ep.max_send_times = sasoc->sasoc_asocmaxrxt;
 6594|      0|				}
 6595|      0|				if (sasoc->sasoc_cookie_life > 0) {
  ------------------
  |  Branch (6595:9): [True: 0, False: 0]
  ------------------
 6596|      0|					inp->sctp_ep.def_cookie_life = sctp_msecs_to_ticks(sasoc->sasoc_cookie_life);
 6597|      0|				}
 6598|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6599|      0|			} else {
 6600|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6601|      0|				error = EINVAL;
 6602|      0|			}
 6603|      0|		}
 6604|      0|		break;
 6605|      0|	}
 6606|  11.5k|	case SCTP_INITMSG:
  ------------------
  |  |   90|  11.5k|#define SCTP_INITMSG			0x00000003
  ------------------
  |  Branch (6606:2): [True: 11.5k, False: 223k]
  ------------------
 6607|  11.5k|	{
 6608|  11.5k|		struct sctp_initmsg *sinit;
 6609|       |
 6610|  11.5k|		SCTP_CHECK_AND_CAST(sinit, optval, struct sctp_initmsg, optsize);
  ------------------
  |  | 2154|  11.5k|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|  11.5k|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 11.5k]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|  11.5k|	} else { \
  |  | 2160|  11.5k|		destp = (type *)srcp; \
  |  | 2161|  11.5k|	} \
  |  | 2162|  11.5k|}
  ------------------
 6611|  11.5k|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6612|  11.5k|		if (sinit->sinit_num_ostreams)
  ------------------
  |  Branch (6612:7): [True: 11.5k, False: 0]
  ------------------
 6613|  11.5k|			inp->sctp_ep.pre_open_stream_count = sinit->sinit_num_ostreams;
 6614|       |
 6615|  11.5k|		if (sinit->sinit_max_instreams)
  ------------------
  |  Branch (6615:7): [True: 11.5k, False: 0]
  ------------------
 6616|  11.5k|			inp->sctp_ep.max_open_streams_intome = sinit->sinit_max_instreams;
 6617|       |
 6618|  11.5k|		if (sinit->sinit_max_attempts)
  ------------------
  |  Branch (6618:7): [True: 11.5k, False: 0]
  ------------------
 6619|  11.5k|			inp->sctp_ep.max_init_times = sinit->sinit_max_attempts;
 6620|       |
 6621|  11.5k|		if (sinit->sinit_max_init_timeo)
  ------------------
  |  Branch (6621:7): [True: 11.5k, False: 0]
  ------------------
 6622|  11.5k|			inp->sctp_ep.initial_init_rto_max = sinit->sinit_max_init_timeo;
 6623|  11.5k|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6624|  11.5k|		break;
 6625|  11.5k|	}
 6626|  11.5k|	case SCTP_PRIMARY_ADDR:
  ------------------
  |  |   94|      0|#define SCTP_PRIMARY_ADDR		0x00000007
  ------------------
  |  Branch (6626:2): [True: 0, False: 234k]
  ------------------
 6627|      0|	{
 6628|      0|		struct sctp_setprim *spa;
 6629|      0|		struct sctp_nets *net;
 6630|      0|		struct sockaddr *addr;
 6631|      0|#if defined(INET) && defined(INET6)
 6632|      0|		struct sockaddr_in sin_store;
 6633|      0|#endif
 6634|       |
 6635|      0|		SCTP_CHECK_AND_CAST(spa, optval, struct sctp_setprim, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 6636|      0|		SCTP_FIND_STCB(inp, stcb, spa->ssp_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 6637|       |
 6638|      0|#if defined(INET) && defined(INET6)
 6639|      0|		if (spa->ssp_addr.ss_family == AF_INET6) {
  ------------------
  |  Branch (6639:7): [True: 0, False: 0]
  ------------------
 6640|      0|			struct sockaddr_in6 *sin6;
 6641|       |
 6642|      0|			sin6 = (struct sockaddr_in6 *)&spa->ssp_addr;
 6643|      0|			if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
 6644|      0|				in6_sin6_2_sin(&sin_store, sin6);
 6645|      0|				addr = (struct sockaddr *)&sin_store;
 6646|      0|			} else {
 6647|      0|				addr = (struct sockaddr *)&spa->ssp_addr;
 6648|      0|			}
 6649|      0|		} else {
 6650|      0|			addr = (struct sockaddr *)&spa->ssp_addr;
 6651|      0|		}
 6652|       |#else
 6653|       |		addr = (struct sockaddr *)&spa->ssp_addr;
 6654|       |#endif
 6655|      0|		if (stcb != NULL) {
  ------------------
  |  Branch (6655:7): [True: 0, False: 0]
  ------------------
 6656|      0|			net = sctp_findnet(stcb, addr);
 6657|      0|		} else {
 6658|       |			/* We increment here since sctp_findassociation_ep_addr() wil
 6659|       |			 * do a decrement if it finds the stcb as long as the locked
 6660|       |			 * tcb (last argument) is NOT a TCB.. aka NULL.
 6661|       |			 */
 6662|      0|			net = NULL;
 6663|      0|			SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 6664|      0|			stcb = sctp_findassociation_ep_addr(&inp, addr,
 6665|      0|			                                    &net, NULL, NULL);
 6666|      0|			if (stcb == NULL) {
  ------------------
  |  Branch (6666:8): [True: 0, False: 0]
  ------------------
 6667|      0|				SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 6668|      0|			}
 6669|      0|		}
 6670|       |
 6671|      0|		if ((stcb != NULL) && (net != NULL)) {
  ------------------
  |  Branch (6671:7): [True: 0, False: 0]
  |  Branch (6671:25): [True: 0, False: 0]
  ------------------
 6672|      0|			if (net != stcb->asoc.primary_destination) {
  ------------------
  |  Branch (6672:8): [True: 0, False: 0]
  ------------------
 6673|      0|				if ((net->dest_state & SCTP_ADDR_UNCONFIRMED) == 0) {
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (6673:9): [True: 0, False: 0]
  ------------------
 6674|       |					/* Ok we need to set it */
 6675|      0|					if (sctp_set_primary_addr(stcb, (struct sockaddr *)NULL, net) == 0) {
  ------------------
  |  Branch (6675:10): [True: 0, False: 0]
  ------------------
 6676|      0|						if ((stcb->asoc.alternate) &&
  ------------------
  |  Branch (6676:11): [True: 0, False: 0]
  ------------------
 6677|      0|						    ((net->dest_state & SCTP_ADDR_PF) == 0) &&
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (6677:11): [True: 0, False: 0]
  ------------------
 6678|      0|						    (net->dest_state & SCTP_ADDR_REACHABLE)) {
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (6678:11): [True: 0, False: 0]
  ------------------
 6679|      0|							sctp_free_remote_addr(stcb->asoc.alternate);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 6680|      0|							stcb->asoc.alternate = NULL;
 6681|      0|						}
 6682|      0|					} else {
 6683|      0|						SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6684|      0|						error = EINVAL;
 6685|      0|					}
 6686|      0|				} else {
 6687|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6688|      0|					error = EINVAL;
 6689|      0|				}
 6690|      0|			}
 6691|      0|		} else {
 6692|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6693|      0|			error = EINVAL;
 6694|      0|		}
 6695|      0|		if (stcb != NULL) {
  ------------------
  |  Branch (6695:7): [True: 0, False: 0]
  ------------------
 6696|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6697|      0|		}
 6698|      0|		break;
 6699|      0|	}
 6700|      0|	case SCTP_SET_DYNAMIC_PRIMARY:
  ------------------
  |  |  218|      0|#define SCTP_SET_DYNAMIC_PRIMARY        0x00002001
  ------------------
  |  Branch (6700:2): [True: 0, False: 234k]
  ------------------
 6701|      0|	{
 6702|      0|		union sctp_sockstore *ss;
 6703|       |#ifdef SCTP_MVRF
 6704|       |		int i, fnd = 0;
 6705|       |#endif
 6706|       |#if !defined(_WIN32) && !defined(__Userspace__)
 6707|       |#if defined(__APPLE__)
 6708|       |		struct proc *proc;
 6709|       |#endif
 6710|       |#if defined(__FreeBSD__)
 6711|       |		error = priv_check(curthread,
 6712|       |				   PRIV_NETINET_RESERVEDPORT);
 6713|       |#elif defined(__APPLE__)
 6714|       |		proc = (struct proc *)p;
 6715|       |		if (p) {
 6716|       |			error = suser(proc->p_ucred, &proc->p_acflag);
 6717|       |		} else {
 6718|       |			break;
 6719|       |		}
 6720|       |#else
 6721|       |		error = suser(p, 0);
 6722|       |#endif
 6723|       |		if (error)
 6724|       |			break;
 6725|       |#endif
 6726|       |
 6727|      0|		SCTP_CHECK_AND_CAST(ss, optval, union sctp_sockstore, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 6728|       |		/* SUPER USER CHECK? */
 6729|       |#ifdef SCTP_MVRF
 6730|       |		for (i = 0; i < inp->num_vrfs; i++) {
 6731|       |			if (vrf_id == inp->m_vrf_ids[i]) {
 6732|       |				fnd = 1;
 6733|       |				break;
 6734|       |			}
 6735|       |		}
 6736|       |		if (!fnd) {
 6737|       |			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6738|       |			error = EINVAL;
 6739|       |			break;
 6740|       |		}
 6741|       |#endif
 6742|      0|		error = sctp_dynamic_set_primary(&ss->sa, vrf_id);
 6743|      0|		break;
 6744|      0|	}
 6745|      0|	case SCTP_SET_PEER_PRIMARY_ADDR:
  ------------------
  |  |   93|      0|#define SCTP_SET_PEER_PRIMARY_ADDR	0x00000006
  ------------------
  |  Branch (6745:2): [True: 0, False: 234k]
  ------------------
 6746|      0|	{
 6747|      0|		struct sctp_setpeerprim *sspp;
 6748|      0|		struct sockaddr *addr;
 6749|      0|#if defined(INET) && defined(INET6)
 6750|      0|		struct sockaddr_in sin_store;
 6751|      0|#endif
 6752|       |
 6753|      0|		SCTP_CHECK_AND_CAST(sspp, optval, struct sctp_setpeerprim, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 6754|      0|		SCTP_FIND_STCB(inp, stcb, sspp->sspp_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 6755|      0|		if (stcb != NULL) {
  ------------------
  |  Branch (6755:7): [True: 0, False: 0]
  ------------------
 6756|      0|			struct sctp_ifa *ifa;
 6757|       |
 6758|      0|#if defined(INET) && defined(INET6)
 6759|      0|			if (sspp->sspp_addr.ss_family == AF_INET6) {
  ------------------
  |  Branch (6759:8): [True: 0, False: 0]
  ------------------
 6760|      0|				struct sockaddr_in6 *sin6;
 6761|       |
 6762|      0|				sin6 = (struct sockaddr_in6 *)&sspp->sspp_addr;
 6763|      0|				if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
 6764|      0|					in6_sin6_2_sin(&sin_store, sin6);
 6765|      0|					addr = (struct sockaddr *)&sin_store;
 6766|      0|				} else {
 6767|      0|					addr = (struct sockaddr *)&sspp->sspp_addr;
 6768|      0|				}
 6769|      0|			} else {
 6770|      0|				addr = (struct sockaddr *)&sspp->sspp_addr;
 6771|      0|			}
 6772|       |#else
 6773|       |			addr = (struct sockaddr *)&sspp->sspp_addr;
 6774|       |#endif
 6775|      0|			ifa = sctp_find_ifa_by_addr(addr, stcb->asoc.vrf_id, SCTP_ADDR_NOT_LOCKED);
  ------------------
  |  |  966|      0|#define SCTP_ADDR_NOT_LOCKED 0
  ------------------
 6776|      0|			if (ifa == NULL) {
  ------------------
  |  Branch (6776:8): [True: 0, False: 0]
  ------------------
 6777|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6778|      0|				error = EINVAL;
 6779|      0|				goto out_of_it;
 6780|      0|			}
 6781|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_BOUNDALL) == 0) {
  ------------------
  |  |  533|      0|#define SCTP_PCB_FLAGS_BOUNDALL		0x00000004
  ------------------
  |  Branch (6781:8): [True: 0, False: 0]
  ------------------
 6782|       |				/* Must validate the ifa found is in our ep */
 6783|      0|				struct sctp_laddr *laddr;
 6784|      0|				int found = 0;
 6785|       |
 6786|      0|				LIST_FOREACH(laddr, &inp->sctp_addr_list, sctp_nxt_addr) {
 6787|      0|					if (laddr->ifa == NULL) {
  ------------------
  |  Branch (6787:10): [True: 0, False: 0]
  ------------------
 6788|      0|						SCTPDBG(SCTP_DEBUG_OUTPUT1, "%s: NULL ifa\n",
 6789|      0|							__func__);
 6790|      0|						continue;
 6791|      0|					}
 6792|      0|					if ((sctp_is_addr_restricted(stcb, laddr->ifa)) &&
  ------------------
  |  Branch (6792:10): [True: 0, False: 0]
  ------------------
 6793|      0|					    (!sctp_is_addr_pending(stcb, laddr->ifa))) {
  ------------------
  |  Branch (6793:10): [True: 0, False: 0]
  ------------------
 6794|      0|						continue;
 6795|      0|					}
 6796|      0|					if (laddr->ifa == ifa) {
  ------------------
  |  Branch (6796:10): [True: 0, False: 0]
  ------------------
 6797|      0|						found = 1;
 6798|      0|						break;
 6799|      0|					}
 6800|      0|				}
 6801|      0|				if (!found) {
  ------------------
  |  Branch (6801:9): [True: 0, False: 0]
  ------------------
 6802|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6803|      0|					error = EINVAL;
 6804|      0|					goto out_of_it;
 6805|      0|				}
 6806|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6807|       |			} else {
 6808|       |				switch (addr->sa_family) {
 6809|       |#ifdef INET
 6810|       |				case AF_INET:
 6811|       |				{
 6812|       |					struct sockaddr_in *sin;
 6813|       |
 6814|       |					sin = (struct sockaddr_in *)addr;
 6815|       |					if (prison_check_ip4(inp->ip_inp.inp.inp_cred,
 6816|       |					                     &sin->sin_addr) != 0) {
 6817|       |						SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6818|       |						error = EINVAL;
 6819|       |						goto out_of_it;
 6820|       |					}
 6821|       |					break;
 6822|       |				}
 6823|       |#endif
 6824|       |#ifdef INET6
 6825|       |				case AF_INET6:
 6826|       |				{
 6827|       |					struct sockaddr_in6 *sin6;
 6828|       |
 6829|       |					sin6 = (struct sockaddr_in6 *)addr;
 6830|       |					if (prison_check_ip6(inp->ip_inp.inp.inp_cred,
 6831|       |					                     &sin6->sin6_addr) != 0) {
 6832|       |						SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6833|       |						error = EINVAL;
 6834|       |						goto out_of_it;
 6835|       |					}
 6836|       |					break;
 6837|       |				}
 6838|       |#endif
 6839|       |				default:
 6840|       |					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6841|       |					error = EINVAL;
 6842|       |					goto out_of_it;
 6843|       |				}
 6844|       |#endif
 6845|      0|			}
 6846|      0|			if (sctp_set_primary_ip_address_sa(stcb, addr) != 0) {
  ------------------
  |  Branch (6846:8): [True: 0, False: 0]
  ------------------
 6847|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6848|      0|				error = EINVAL;
 6849|      0|			}
 6850|      0|			sctp_chunk_output(inp, stcb,  SCTP_OUTPUT_FROM_SOCKOPT, SCTP_SO_LOCKED);
  ------------------
  |  |  378|      0|#define SCTP_OUTPUT_FROM_SOCKOPT        17
  ------------------
              			sctp_chunk_output(inp, stcb,  SCTP_OUTPUT_FROM_SOCKOPT, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 6851|      0|		out_of_it:
 6852|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6853|      0|		} else {
 6854|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6855|      0|			error = EINVAL;
 6856|      0|		}
 6857|      0|		break;
 6858|      0|	}
 6859|      0|	case SCTP_BINDX_ADD_ADDR:
  ------------------
  |  |  269|      0|#define SCTP_BINDX_ADD_ADDR		0x00008001
  ------------------
  |  Branch (6859:2): [True: 0, False: 234k]
  ------------------
 6860|      0|	{
 6861|      0|		struct sockaddr *sa;
 6862|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6863|       |		struct thread *td;
 6864|       |
 6865|       |		td = (struct thread *)p;
 6866|       |#endif
 6867|      0|		SCTP_CHECK_AND_CAST(sa, optval, struct sockaddr, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 6868|      0|#ifdef INET
 6869|      0|		if (sa->sa_family == AF_INET) {
  ------------------
  |  Branch (6869:7): [True: 0, False: 0]
  ------------------
 6870|      0|			if (optsize < sizeof(struct sockaddr_in)) {
  ------------------
  |  Branch (6870:8): [True: 0, False: 0]
  ------------------
 6871|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6872|      0|				error = EINVAL;
 6873|      0|				break;
 6874|      0|			}
 6875|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6876|       |			if (td != NULL &&
 6877|       |			    (error = prison_local_ip4(td->td_ucred, &(((struct sockaddr_in *)sa)->sin_addr)))) {
 6878|       |				SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_USRREQ, error);
 6879|       |				break;
 6880|       |			}
 6881|       |#endif
 6882|      0|		} else
 6883|      0|#endif
 6884|      0|#ifdef INET6
 6885|      0|		if (sa->sa_family == AF_INET6) {
  ------------------
  |  Branch (6885:7): [True: 0, False: 0]
  ------------------
 6886|      0|			if (optsize < sizeof(struct sockaddr_in6)) {
  ------------------
  |  Branch (6886:8): [True: 0, False: 0]
  ------------------
 6887|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6888|      0|				error = EINVAL;
 6889|      0|				break;
 6890|      0|			}
 6891|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6892|       |			if (td != NULL &&
 6893|       |			    (error = prison_local_ip6(td->td_ucred,
 6894|       |			                              &(((struct sockaddr_in6 *)sa)->sin6_addr),
 6895|       |			                              (SCTP_IPV6_V6ONLY(inp) != 0))) != 0) {
 6896|       |				SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_USRREQ, error);
 6897|       |				break;
 6898|       |			}
 6899|       |#endif
 6900|      0|		} else
 6901|      0|#endif
 6902|      0|		{
 6903|      0|			error = EAFNOSUPPORT;
 6904|      0|			break;
 6905|      0|		}
 6906|      0|		sctp_bindx_add_address(so, inp, sa, vrf_id, &error, p);
 6907|      0|		break;
 6908|      0|	}
 6909|      0|	case SCTP_BINDX_REM_ADDR:
  ------------------
  |  |  270|      0|#define SCTP_BINDX_REM_ADDR		0x00008002
  ------------------
  |  Branch (6909:2): [True: 0, False: 234k]
  ------------------
 6910|      0|	{
 6911|      0|		struct sockaddr *sa;
 6912|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6913|       |		struct thread *td;
 6914|       |		td = (struct thread *)p;
 6915|       |
 6916|       |#endif
 6917|      0|		SCTP_CHECK_AND_CAST(sa, optval, struct sockaddr, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 6918|      0|#ifdef INET
 6919|      0|		if (sa->sa_family == AF_INET) {
  ------------------
  |  Branch (6919:7): [True: 0, False: 0]
  ------------------
 6920|      0|			if (optsize < sizeof(struct sockaddr_in)) {
  ------------------
  |  Branch (6920:8): [True: 0, False: 0]
  ------------------
 6921|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6922|      0|				error = EINVAL;
 6923|      0|				break;
 6924|      0|			}
 6925|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6926|       |			if (td != NULL &&
 6927|       |			    (error = prison_local_ip4(td->td_ucred, &(((struct sockaddr_in *)sa)->sin_addr)))) {
 6928|       |				SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_USRREQ, error);
 6929|       |				break;
 6930|       |			}
 6931|       |#endif
 6932|      0|		} else
 6933|      0|#endif
 6934|      0|#ifdef INET6
 6935|      0|		if (sa->sa_family == AF_INET6) {
  ------------------
  |  Branch (6935:7): [True: 0, False: 0]
  ------------------
 6936|      0|			if (optsize < sizeof(struct sockaddr_in6)) {
  ------------------
  |  Branch (6936:8): [True: 0, False: 0]
  ------------------
 6937|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6938|      0|				error = EINVAL;
 6939|      0|				break;
 6940|      0|			}
 6941|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6942|       |			if (td != NULL &&
 6943|       |			    (error = prison_local_ip6(td->td_ucred,
 6944|       |			                              &(((struct sockaddr_in6 *)sa)->sin6_addr),
 6945|       |			                              (SCTP_IPV6_V6ONLY(inp) != 0))) != 0) {
 6946|       |				SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_USRREQ, error);
 6947|       |				break;
 6948|       |			}
 6949|       |#endif
 6950|      0|		} else
 6951|      0|#endif
 6952|      0|		{
 6953|      0|			error = EAFNOSUPPORT;
 6954|      0|			break;
 6955|      0|		}
 6956|      0|		sctp_bindx_delete_address(inp, sa, vrf_id, &error);
 6957|      0|		break;
 6958|      0|	}
 6959|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6960|       |	case SCTP_LISTEN_FIX:
 6961|       |		/* only applies to one-to-many sockets */
 6962|       |		if (inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) {
 6963|       |			/* make sure the ACCEPTCONN flag is OFF */
 6964|       |			so->so_options &= ~SO_ACCEPTCONN;
 6965|       |		} else {
 6966|       |			/* otherwise, not allowed */
 6967|       |			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 6968|       |			error = EINVAL;
 6969|       |		}
 6970|       |		break;
 6971|       |#endif
 6972|   150k|	case SCTP_EVENT:
  ------------------
  |  |  125|   150k|#define SCTP_EVENT                      0x0000001e
  ------------------
  |  Branch (6972:2): [True: 150k, False: 84.4k]
  ------------------
 6973|   150k|	{
 6974|   150k|		struct sctp_event *event;
 6975|   150k|		uint32_t event_type;
 6976|       |
 6977|   150k|		SCTP_CHECK_AND_CAST(event, optval, struct sctp_event, optsize);
  ------------------
  |  | 2154|   150k|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|   150k|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 150k]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|   150k|	} else { \
  |  | 2160|   150k|		destp = (type *)srcp; \
  |  | 2161|   150k|	} \
  |  | 2162|   150k|}
  ------------------
 6978|   150k|		SCTP_FIND_STCB(inp, stcb, event->se_assoc_id);
  ------------------
  |  | 2133|   150k|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|   150k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|   150k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 150k, False: 0]
  |  |  ------------------
  |  | 2135|   150k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|   150k|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|   150k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|   150k|	do {                         \
  |  |  |  |  |  |  113|   150k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 150k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|   150k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|   150k|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|   150k|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 150k]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|   150k|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|   150k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|   150k|	do {                         \
  |  |  |  |  |  |  113|   150k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 150k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|   150k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|   150k|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|   150k|}
  ------------------
 6979|   150k|		switch (event->se_type) {
 6980|  11.5k|		case SCTP_ASSOC_CHANGE:
  ------------------
  |  |  553|  11.5k|#define SCTP_ASSOC_CHANGE                       0x0001
  ------------------
  |  Branch (6980:3): [True: 11.5k, False: 138k]
  ------------------
 6981|  11.5k|			event_type = SCTP_PCB_FLAGS_RECVASSOCEVNT;
  ------------------
  |  |  582|  11.5k|#define SCTP_PCB_FLAGS_RECVASSOCEVNT     0x0000000000000800
  ------------------
 6982|  11.5k|			break;
 6983|  11.5k|		case SCTP_PEER_ADDR_CHANGE:
  ------------------
  |  |  554|  11.5k|#define SCTP_PEER_ADDR_CHANGE                   0x0002
  ------------------
  |  Branch (6983:3): [True: 11.5k, False: 138k]
  ------------------
 6984|  11.5k|			event_type = SCTP_PCB_FLAGS_RECVPADDREVNT;
  ------------------
  |  |  583|  11.5k|#define SCTP_PCB_FLAGS_RECVPADDREVNT     0x0000000000001000
  ------------------
 6985|  11.5k|			break;
 6986|  11.5k|		case SCTP_REMOTE_ERROR:
  ------------------
  |  |  555|  11.5k|#define SCTP_REMOTE_ERROR                       0x0003
  ------------------
  |  Branch (6986:3): [True: 11.5k, False: 138k]
  ------------------
 6987|  11.5k|			event_type = SCTP_PCB_FLAGS_RECVPEERERR;
  ------------------
  |  |  584|  11.5k|#define SCTP_PCB_FLAGS_RECVPEERERR       0x0000000000002000
  ------------------
 6988|  11.5k|			break;
 6989|  11.5k|		case SCTP_SEND_FAILED:
  ------------------
  |  |  556|  11.5k|#define SCTP_SEND_FAILED                        0x0004
  ------------------
  |  Branch (6989:3): [True: 11.5k, False: 138k]
  ------------------
 6990|  11.5k|			event_type = SCTP_PCB_FLAGS_RECVSENDFAILEVNT;
  ------------------
  |  |  585|  11.5k|#define SCTP_PCB_FLAGS_RECVSENDFAILEVNT  0x0000000000004000 /* deprecated */
  ------------------
 6991|  11.5k|			break;
 6992|  11.5k|		case SCTP_SHUTDOWN_EVENT:
  ------------------
  |  |  557|  11.5k|#define SCTP_SHUTDOWN_EVENT                     0x0005
  ------------------
  |  Branch (6992:3): [True: 11.5k, False: 138k]
  ------------------
 6993|  11.5k|			event_type = SCTP_PCB_FLAGS_RECVSHUTDOWNEVNT;
  ------------------
  |  |  586|  11.5k|#define SCTP_PCB_FLAGS_RECVSHUTDOWNEVNT  0x0000000000008000
  ------------------
 6994|  11.5k|			break;
 6995|  11.5k|		case SCTP_ADAPTATION_INDICATION:
  ------------------
  |  |  558|  11.5k|#define SCTP_ADAPTATION_INDICATION              0x0006
  ------------------
  |  Branch (6995:3): [True: 11.5k, False: 138k]
  ------------------
 6996|  11.5k|			event_type = SCTP_PCB_FLAGS_ADAPTATIONEVNT;
  ------------------
  |  |  587|  11.5k|#define SCTP_PCB_FLAGS_ADAPTATIONEVNT    0x0000000000010000
  ------------------
 6997|  11.5k|			break;
 6998|  11.5k|		case SCTP_PARTIAL_DELIVERY_EVENT:
  ------------------
  |  |  561|  11.5k|#define SCTP_PARTIAL_DELIVERY_EVENT             0x0007
  ------------------
  |  Branch (6998:3): [True: 11.5k, False: 138k]
  ------------------
 6999|  11.5k|			event_type = SCTP_PCB_FLAGS_PDAPIEVNT;
  ------------------
  |  |  588|  11.5k|#define SCTP_PCB_FLAGS_PDAPIEVNT         0x0000000000020000
  ------------------
 7000|  11.5k|			break;
 7001|  11.5k|		case SCTP_AUTHENTICATION_EVENT:
  ------------------
  |  |  562|  11.5k|#define SCTP_AUTHENTICATION_EVENT               0x0008
  ------------------
  |  Branch (7001:3): [True: 11.5k, False: 138k]
  ------------------
 7002|  11.5k|			event_type = SCTP_PCB_FLAGS_AUTHEVNT;
  ------------------
  |  |  589|  11.5k|#define SCTP_PCB_FLAGS_AUTHEVNT          0x0000000000040000
  ------------------
 7003|  11.5k|			break;
 7004|  11.5k|		case SCTP_STREAM_RESET_EVENT:
  ------------------
  |  |  563|  11.5k|#define SCTP_STREAM_RESET_EVENT                 0x0009
  ------------------
  |  Branch (7004:3): [True: 11.5k, False: 138k]
  ------------------
 7005|  11.5k|			event_type = SCTP_PCB_FLAGS_STREAM_RESETEVNT;
  ------------------
  |  |  590|  11.5k|#define SCTP_PCB_FLAGS_STREAM_RESETEVNT  0x0000000000080000
  ------------------
 7006|  11.5k|			break;
 7007|  11.5k|		case SCTP_SENDER_DRY_EVENT:
  ------------------
  |  |  564|  11.5k|#define SCTP_SENDER_DRY_EVENT                   0x000a
  ------------------
  |  Branch (7007:3): [True: 11.5k, False: 138k]
  ------------------
 7008|  11.5k|			event_type = SCTP_PCB_FLAGS_DRYEVNT;
  ------------------
  |  |  596|  11.5k|#define SCTP_PCB_FLAGS_DRYEVNT           0x0000000004000000
  ------------------
 7009|  11.5k|			break;
 7010|      0|		case SCTP_NOTIFICATIONS_STOPPED_EVENT:
  ------------------
  |  |  565|      0|#define SCTP_NOTIFICATIONS_STOPPED_EVENT        0x000b /* we don't send this*/
  ------------------
  |  Branch (7010:3): [True: 0, False: 150k]
  ------------------
 7011|      0|			event_type = 0;
 7012|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOTSUP);
 7013|      0|			error = ENOTSUP;
 7014|      0|			break;
 7015|  11.5k|		case SCTP_ASSOC_RESET_EVENT:
  ------------------
  |  |  566|  11.5k|#define SCTP_ASSOC_RESET_EVENT                  0x000c
  ------------------
  |  Branch (7015:3): [True: 11.5k, False: 138k]
  ------------------
 7016|  11.5k|			event_type = SCTP_PCB_FLAGS_ASSOC_RESETEVNT;
  ------------------
  |  |  599|  11.5k|#define SCTP_PCB_FLAGS_ASSOC_RESETEVNT   0x0000000020000000
  ------------------
 7017|  11.5k|			break;
 7018|  11.5k|		case SCTP_STREAM_CHANGE_EVENT:
  ------------------
  |  |  567|  11.5k|#define SCTP_STREAM_CHANGE_EVENT                0x000d
  ------------------
  |  Branch (7018:3): [True: 11.5k, False: 138k]
  ------------------
 7019|  11.5k|			event_type = SCTP_PCB_FLAGS_STREAM_CHANGEEVNT;
  ------------------
  |  |  600|  11.5k|#define SCTP_PCB_FLAGS_STREAM_CHANGEEVNT 0x0000000040000000
  ------------------
 7020|  11.5k|			break;
 7021|  11.5k|		case SCTP_SEND_FAILED_EVENT:
  ------------------
  |  |  568|  11.5k|#define SCTP_SEND_FAILED_EVENT                  0x000e
  ------------------
  |  Branch (7021:3): [True: 11.5k, False: 138k]
  ------------------
 7022|  11.5k|			event_type = SCTP_PCB_FLAGS_RECVNSENDFAILEVNT;
  ------------------
  |  |  601|  11.5k|#define SCTP_PCB_FLAGS_RECVNSENDFAILEVNT 0x0000000080000000
  ------------------
 7023|  11.5k|			break;
 7024|      0|		default:
  ------------------
  |  Branch (7024:3): [True: 0, False: 150k]
  ------------------
 7025|      0|			event_type = 0;
 7026|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7027|      0|			error = EINVAL;
 7028|      0|			break;
 7029|   150k|		}
 7030|   150k|		if (event_type > 0) {
  ------------------
  |  Branch (7030:7): [True: 150k, False: 0]
  ------------------
 7031|   150k|			if (stcb) {
  ------------------
  |  Branch (7031:8): [True: 0, False: 150k]
  ------------------
 7032|      0|				if (event->se_on) {
  ------------------
  |  Branch (7032:9): [True: 0, False: 0]
  ------------------
 7033|      0|					sctp_stcb_feature_on(inp, stcb, event_type);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 7034|      0|					if (event_type == SCTP_PCB_FLAGS_DRYEVNT) {
  ------------------
  |  |  596|      0|#define SCTP_PCB_FLAGS_DRYEVNT           0x0000000004000000
  ------------------
  |  Branch (7034:10): [True: 0, False: 0]
  ------------------
 7035|      0|						if (TAILQ_EMPTY(&stcb->asoc.send_queue) &&
 7036|      0|						    TAILQ_EMPTY(&stcb->asoc.sent_queue) &&
 7037|      0|						    (stcb->asoc.stream_queue_cnt == 0)) {
  ------------------
  |  Branch (7037:11): [True: 0, False: 0]
  ------------------
 7038|      0|							sctp_ulp_notify(SCTP_NOTIFY_SENDER_DRY, stcb,  0, NULL, SCTP_SO_LOCKED);
  ------------------
  |  |  730|      0|#define SCTP_NOTIFY_SENDER_DRY                  28
  ------------------
              							sctp_ulp_notify(SCTP_NOTIFY_SENDER_DRY, stcb,  0, NULL, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 7039|      0|						}
 7040|      0|					}
 7041|      0|				} else {
 7042|      0|					sctp_stcb_feature_off(inp, stcb, event_type);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 7043|      0|				}
 7044|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7045|   150k|			} else {
 7046|       |				/*
 7047|       |				 * We don't want to send up a storm of events,
 7048|       |				 * so return an error for sender dry events
 7049|       |				 */
 7050|   150k|				if ((event_type == SCTP_PCB_FLAGS_DRYEVNT) &&
  ------------------
  |  |  596|   150k|#define SCTP_PCB_FLAGS_DRYEVNT           0x0000000004000000
  ------------------
  |  Branch (7050:9): [True: 11.5k, False: 138k]
  ------------------
 7051|   150k|				    (inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|  11.5k|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7051:9): [True: 0, False: 11.5k]
  ------------------
 7052|   150k|				    ((event->se_assoc_id == SCTP_ALL_ASSOC) ||
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (7052:10): [True: 0, False: 0]
  ------------------
 7053|      0|				     (event->se_assoc_id == SCTP_CURRENT_ASSOC))) {
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (7053:10): [True: 0, False: 0]
  ------------------
 7054|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOTSUP);
 7055|      0|					error = ENOTSUP;
 7056|      0|					break;
 7057|      0|				}
 7058|   150k|				if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|   150k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7058:9): [True: 150k, False: 0]
  ------------------
 7059|   150k|				    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7059:9): [True: 0, False: 0]
  ------------------
 7060|   150k|				    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7060:10): [True: 0, False: 0]
  ------------------
 7061|      0|				     ((event->se_assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7061:11): [True: 0, False: 0]
  ------------------
 7062|   150k|				      (event->se_assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (7062:11): [True: 0, False: 0]
  ------------------
 7063|   150k|					SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|   150k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   150k|	do {                         \
  |  |  |  |  113|   150k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 150k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   150k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7064|   150k|					if (event->se_on) {
  ------------------
  |  Branch (7064:10): [True: 150k, False: 0]
  ------------------
 7065|   150k|						sctp_feature_on(inp, event_type);
  ------------------
  |  |   50|   150k|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 7066|   150k|					} else {
 7067|      0|						sctp_feature_off(inp, event_type);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 7068|      0|					}
 7069|   150k|					SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|   150k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   150k|	do {                         \
  |  |  |  |  113|   150k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 150k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   150k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7070|   150k|				}
 7071|   150k|				if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|   150k|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7071:9): [True: 0, False: 150k]
  ------------------
 7072|   150k|				    ((event->se_assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (7072:10): [True: 0, False: 0]
  ------------------
 7073|      0|				     (event->se_assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (7073:10): [True: 0, False: 0]
  ------------------
 7074|      0|					SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7075|      0|					LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 7076|      0|						SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7077|      0|						if (event->se_on) {
  ------------------
  |  Branch (7077:11): [True: 0, False: 0]
  ------------------
 7078|      0|							sctp_stcb_feature_on(inp, stcb, event_type);
  ------------------
  |  |   55|      0|#define sctp_stcb_feature_on(inp, stcb, feature) {\
  |  |   56|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (56:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   57|      0|		stcb->asoc.sctp_features |= feature; \
  |  |   58|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (58:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|		inp->sctp_features |= feature; \
  |  |   60|      0|	} \
  |  |   61|      0|}
  ------------------
 7079|      0|						} else {
 7080|      0|							sctp_stcb_feature_off(inp, stcb, event_type);
  ------------------
  |  |   62|      0|#define sctp_stcb_feature_off(inp, stcb, feature) {\
  |  |   63|      0|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (63:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   64|      0|		stcb->asoc.sctp_features &= ~feature; \
  |  |   65|      0|	} else if (inp) { \
  |  |  ------------------
  |  |  |  Branch (65:13): [True: 0, False: 0]
  |  |  ------------------
  |  |   66|      0|		inp->sctp_features &= ~feature; \
  |  |   67|      0|	} \
  |  |   68|      0|}
  ------------------
 7081|      0|						}
 7082|      0|						SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7083|      0|					}
 7084|      0|					SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7085|      0|				}
 7086|   150k|			}
 7087|   150k|		} else {
 7088|      0|			if (stcb) {
  ------------------
  |  Branch (7088:8): [True: 0, False: 0]
  ------------------
 7089|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7090|      0|			}
 7091|      0|		}
 7092|   150k|		break;
 7093|   150k|	}
 7094|   150k|	case SCTP_RECVRCVINFO:
  ------------------
  |  |  126|  11.5k|#define SCTP_RECVRCVINFO                0x0000001f
  ------------------
  |  Branch (7094:2): [True: 11.5k, False: 223k]
  ------------------
 7095|  11.5k|	{
 7096|  11.5k|		int *onoff;
 7097|       |
 7098|  11.5k|		SCTP_CHECK_AND_CAST(onoff, optval, int, optsize);
  ------------------
  |  | 2154|  11.5k|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|  11.5k|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 11.5k]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|  11.5k|	} else { \
  |  | 2160|  11.5k|		destp = (type *)srcp; \
  |  | 2161|  11.5k|	} \
  |  | 2162|  11.5k|}
  ------------------
 7099|  11.5k|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7100|  11.5k|		if (*onoff != 0) {
  ------------------
  |  Branch (7100:7): [True: 11.5k, False: 0]
  ------------------
 7101|  11.5k|			sctp_feature_on(inp, SCTP_PCB_FLAGS_RECVRCVINFO);
  ------------------
  |  |   50|  11.5k|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 7102|  11.5k|		} else {
 7103|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_RECVRCVINFO);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 7104|      0|		}
 7105|  11.5k|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7106|  11.5k|		break;
 7107|  11.5k|	}
 7108|  11.5k|	case SCTP_RECVNXTINFO:
  ------------------
  |  |  127|  11.5k|#define SCTP_RECVNXTINFO                0x00000020
  ------------------
  |  Branch (7108:2): [True: 11.5k, False: 223k]
  ------------------
 7109|  11.5k|	{
 7110|  11.5k|		int *onoff;
 7111|       |
 7112|  11.5k|		SCTP_CHECK_AND_CAST(onoff, optval, int, optsize);
  ------------------
  |  | 2154|  11.5k|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|  11.5k|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 11.5k]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|  11.5k|	} else { \
  |  | 2160|  11.5k|		destp = (type *)srcp; \
  |  | 2161|  11.5k|	} \
  |  | 2162|  11.5k|}
  ------------------
 7113|  11.5k|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7114|  11.5k|		if (*onoff != 0) {
  ------------------
  |  Branch (7114:7): [True: 11.5k, False: 0]
  ------------------
 7115|  11.5k|			sctp_feature_on(inp, SCTP_PCB_FLAGS_RECVNXTINFO);
  ------------------
  |  |   50|  11.5k|#define sctp_feature_on(inp, feature)  (inp->sctp_features |= feature)
  ------------------
 7116|  11.5k|		} else {
 7117|      0|			sctp_feature_off(inp, SCTP_PCB_FLAGS_RECVNXTINFO);
  ------------------
  |  |   51|      0|#define sctp_feature_off(inp, feature) (inp->sctp_features &= ~feature)
  ------------------
 7118|      0|		}
 7119|  11.5k|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7120|  11.5k|		break;
 7121|  11.5k|	}
 7122|  11.5k|	case SCTP_DEFAULT_SNDINFO:
  ------------------
  |  |  128|      0|#define SCTP_DEFAULT_SNDINFO            0x00000021
  ------------------
  |  Branch (7122:2): [True: 0, False: 234k]
  ------------------
 7123|      0|	{
 7124|      0|		struct sctp_sndinfo *info;
 7125|      0|		uint16_t policy;
 7126|       |
 7127|      0|		SCTP_CHECK_AND_CAST(info, optval, struct sctp_sndinfo, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7128|      0|		SCTP_FIND_STCB(inp, stcb, info->snd_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7129|       |
 7130|      0|		if (stcb) {
  ------------------
  |  Branch (7130:7): [True: 0, False: 0]
  ------------------
 7131|      0|			if (info->snd_sid < stcb->asoc.streamoutcnt) {
  ------------------
  |  Branch (7131:8): [True: 0, False: 0]
  ------------------
 7132|      0|				stcb->asoc.def_send.sinfo_stream = info->snd_sid;
 7133|      0|				policy = PR_SCTP_POLICY(stcb->asoc.def_send.sinfo_flags);
  ------------------
  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  ------------------
 7134|      0|				stcb->asoc.def_send.sinfo_flags = info->snd_flags;
 7135|      0|				stcb->asoc.def_send.sinfo_flags |= policy;
 7136|      0|				stcb->asoc.def_send.sinfo_ppid = info->snd_ppid;
 7137|      0|				stcb->asoc.def_send.sinfo_context = info->snd_context;
 7138|      0|			} else {
 7139|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7140|      0|				error = EINVAL;
 7141|      0|			}
 7142|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7143|      0|		} else {
 7144|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7144:8): [True: 0, False: 0]
  ------------------
 7145|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7145:8): [True: 0, False: 0]
  ------------------
 7146|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7146:9): [True: 0, False: 0]
  ------------------
 7147|      0|			     ((info->snd_assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7147:10): [True: 0, False: 0]
  ------------------
 7148|      0|			      (info->snd_assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (7148:10): [True: 0, False: 0]
  ------------------
 7149|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7150|      0|				inp->def_send.sinfo_stream = info->snd_sid;
 7151|      0|				policy = PR_SCTP_POLICY(inp->def_send.sinfo_flags);
  ------------------
  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  ------------------
 7152|      0|				inp->def_send.sinfo_flags = info->snd_flags;
 7153|      0|				inp->def_send.sinfo_flags |= policy;
 7154|      0|				inp->def_send.sinfo_ppid = info->snd_ppid;
 7155|      0|				inp->def_send.sinfo_context = info->snd_context;
 7156|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7157|      0|			}
 7158|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7158:8): [True: 0, False: 0]
  ------------------
 7159|      0|			    ((info->snd_assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (7159:9): [True: 0, False: 0]
  ------------------
 7160|      0|			     (info->snd_assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (7160:9): [True: 0, False: 0]
  ------------------
 7161|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7162|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 7163|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7164|      0|					if (info->snd_sid < stcb->asoc.streamoutcnt) {
  ------------------
  |  Branch (7164:10): [True: 0, False: 0]
  ------------------
 7165|      0|						stcb->asoc.def_send.sinfo_stream = info->snd_sid;
 7166|      0|						policy = PR_SCTP_POLICY(stcb->asoc.def_send.sinfo_flags);
  ------------------
  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  ------------------
 7167|      0|						stcb->asoc.def_send.sinfo_flags = info->snd_flags;
 7168|      0|						stcb->asoc.def_send.sinfo_flags |= policy;
 7169|      0|						stcb->asoc.def_send.sinfo_ppid = info->snd_ppid;
 7170|      0|						stcb->asoc.def_send.sinfo_context = info->snd_context;
 7171|      0|					}
 7172|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7173|      0|				}
 7174|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7175|      0|			}
 7176|      0|		}
 7177|      0|		break;
 7178|      0|	}
 7179|      0|	case SCTP_DEFAULT_PRINFO:
  ------------------
  |  |  129|      0|#define SCTP_DEFAULT_PRINFO             0x00000022
  ------------------
  |  Branch (7179:2): [True: 0, False: 234k]
  ------------------
 7180|      0|	{
 7181|      0|		struct sctp_default_prinfo *info;
 7182|       |
 7183|      0|		SCTP_CHECK_AND_CAST(info, optval, struct sctp_default_prinfo, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7184|      0|		SCTP_FIND_STCB(inp, stcb, info->pr_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7185|       |
 7186|      0|		if (info->pr_policy > SCTP_PR_SCTP_MAX) {
  ------------------
  |  |  277|      0|#define SCTP_PR_SCTP_MAX  SCTP_PR_SCTP_RTX
  |  |  ------------------
  |  |  |  |  276|      0|#define SCTP_PR_SCTP_RTX  0x0003 /* Number of retransmissions based PR-SCTP */
  |  |  ------------------
  ------------------
  |  Branch (7186:7): [True: 0, False: 0]
  ------------------
 7187|      0|			if (stcb) {
  ------------------
  |  Branch (7187:8): [True: 0, False: 0]
  ------------------
 7188|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7189|      0|			}
 7190|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7191|      0|			error = EINVAL;
 7192|      0|			break;
 7193|      0|		}
 7194|      0|		if (stcb) {
  ------------------
  |  Branch (7194:7): [True: 0, False: 0]
  ------------------
 7195|      0|			stcb->asoc.def_send.sinfo_flags &= 0xfff0;
 7196|      0|			stcb->asoc.def_send.sinfo_flags |= info->pr_policy;
 7197|      0|			stcb->asoc.def_send.sinfo_timetolive = info->pr_value;
 7198|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7199|      0|		} else {
 7200|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7200:8): [True: 0, False: 0]
  ------------------
 7201|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7201:8): [True: 0, False: 0]
  ------------------
 7202|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7202:9): [True: 0, False: 0]
  ------------------
 7203|      0|			     ((info->pr_assoc_id == SCTP_FUTURE_ASSOC) ||
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7203:10): [True: 0, False: 0]
  ------------------
 7204|      0|			      (info->pr_assoc_id == SCTP_ALL_ASSOC)))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (7204:10): [True: 0, False: 0]
  ------------------
 7205|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7206|      0|				inp->def_send.sinfo_flags &= 0xfff0;
 7207|      0|				inp->def_send.sinfo_flags |= info->pr_policy;
 7208|      0|				inp->def_send.sinfo_timetolive = info->pr_value;
 7209|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7210|      0|			}
 7211|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7211:8): [True: 0, False: 0]
  ------------------
 7212|      0|			    ((info->pr_assoc_id == SCTP_CURRENT_ASSOC) ||
  ------------------
  |  |   64|      0|#define SCTP_CURRENT_ASSOC 1
  ------------------
  |  Branch (7212:9): [True: 0, False: 0]
  ------------------
 7213|      0|			     (info->pr_assoc_id == SCTP_ALL_ASSOC))) {
  ------------------
  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  ------------------
  |  Branch (7213:9): [True: 0, False: 0]
  ------------------
 7214|      0|				SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7215|      0|				LIST_FOREACH(stcb, &inp->sctp_asoc_list, sctp_tcblist) {
 7216|      0|					SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7217|      0|					stcb->asoc.def_send.sinfo_flags &= 0xfff0;
 7218|      0|					stcb->asoc.def_send.sinfo_flags |= info->pr_policy;
 7219|      0|					stcb->asoc.def_send.sinfo_timetolive = info->pr_value;
 7220|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7221|      0|				}
 7222|      0|				SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7223|      0|			}
 7224|      0|		}
 7225|      0|		break;
 7226|      0|	}
 7227|      0|	case SCTP_PEER_ADDR_THLDS:
  ------------------
  |  |  130|      0|#define SCTP_PEER_ADDR_THLDS            0x00000023
  ------------------
  |  Branch (7227:2): [True: 0, False: 234k]
  ------------------
 7228|       |		/* Applies to the specific association */
 7229|      0|	{
 7230|      0|		struct sctp_paddrthlds *thlds;
 7231|      0|		struct sctp_nets *net;
 7232|      0|		struct sockaddr *addr;
 7233|      0|#if defined(INET) && defined(INET6)
 7234|      0|		struct sockaddr_in sin_store;
 7235|      0|#endif
 7236|       |
 7237|      0|		SCTP_CHECK_AND_CAST(thlds, optval, struct sctp_paddrthlds, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7238|      0|		SCTP_FIND_STCB(inp, stcb, thlds->spt_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7239|       |
 7240|      0|#if defined(INET) && defined(INET6)
 7241|      0|		if (thlds->spt_address.ss_family == AF_INET6) {
  ------------------
  |  Branch (7241:7): [True: 0, False: 0]
  ------------------
 7242|      0|			struct sockaddr_in6 *sin6;
 7243|       |
 7244|      0|			sin6 = (struct sockaddr_in6 *)&thlds->spt_address;
 7245|      0|			if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
 7246|      0|				in6_sin6_2_sin(&sin_store, sin6);
 7247|      0|				addr = (struct sockaddr *)&sin_store;
 7248|      0|			} else {
 7249|      0|				addr = (struct sockaddr *)&thlds->spt_address;
 7250|      0|			}
 7251|      0|		} else {
 7252|      0|			addr = (struct sockaddr *)&thlds->spt_address;
 7253|      0|		}
 7254|       |#else
 7255|       |		addr = (struct sockaddr *)&thlds->spt_address;
 7256|       |#endif
 7257|      0|		if (stcb != NULL) {
  ------------------
  |  Branch (7257:7): [True: 0, False: 0]
  ------------------
 7258|      0|			net = sctp_findnet(stcb, addr);
 7259|      0|		} else {
 7260|       |			/* We increment here since sctp_findassociation_ep_addr() wil
 7261|       |			 * do a decrement if it finds the stcb as long as the locked
 7262|       |			 * tcb (last argument) is NOT a TCB.. aka NULL.
 7263|       |			 */
 7264|      0|			net = NULL;
 7265|      0|			SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 7266|      0|			stcb = sctp_findassociation_ep_addr(&inp, addr,
 7267|      0|			                                    &net, NULL, NULL);
 7268|      0|			if (stcb == NULL) {
  ------------------
  |  Branch (7268:8): [True: 0, False: 0]
  ------------------
 7269|      0|				SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 7270|      0|			}
 7271|      0|		}
 7272|      0|		if ((stcb != NULL) && (net == NULL)) {
  ------------------
  |  Branch (7272:7): [True: 0, False: 0]
  |  Branch (7272:25): [True: 0, False: 0]
  ------------------
 7273|      0|#ifdef INET
 7274|      0|			if (addr->sa_family == AF_INET) {
  ------------------
  |  Branch (7274:8): [True: 0, False: 0]
  ------------------
 7275|      0|				struct sockaddr_in *sin;
 7276|       |
 7277|      0|				sin = (struct sockaddr_in *)addr;
 7278|      0|				if (sin->sin_addr.s_addr != INADDR_ANY) {
  ------------------
  |  Branch (7278:9): [True: 0, False: 0]
  ------------------
 7279|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7280|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7281|      0|					error = EINVAL;
 7282|      0|					break;
 7283|      0|				}
 7284|      0|			} else
 7285|      0|#endif
 7286|      0|#ifdef INET6
 7287|      0|			if (addr->sa_family == AF_INET6) {
  ------------------
  |  Branch (7287:8): [True: 0, False: 0]
  ------------------
 7288|      0|				struct sockaddr_in6 *sin6;
 7289|       |
 7290|      0|				sin6 = (struct sockaddr_in6 *)addr;
 7291|      0|				if (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
  ------------------
  |  Branch (7291:9): [True: 0, False: 0]
  ------------------
 7292|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7293|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7294|      0|					error = EINVAL;
 7295|      0|					break;
 7296|      0|				}
 7297|      0|			} else
 7298|      0|#endif
 7299|      0|#if defined(__Userspace__)
 7300|      0|			if (addr->sa_family == AF_CONN) {
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (7300:8): [True: 0, False: 0]
  ------------------
 7301|      0|				struct sockaddr_conn *sconn;
 7302|       |
 7303|      0|				sconn = (struct sockaddr_conn *)addr;
 7304|      0|				if (sconn->sconn_addr != NULL) {
  ------------------
  |  Branch (7304:9): [True: 0, False: 0]
  ------------------
 7305|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7306|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7307|      0|					error = EINVAL;
 7308|      0|					break;
 7309|      0|				}
 7310|      0|			} else
 7311|      0|#endif
 7312|      0|			{
 7313|      0|				error = EAFNOSUPPORT;
 7314|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7315|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, error);
 7316|      0|				break;
 7317|      0|			}
 7318|      0|		}
 7319|      0|		if (thlds->spt_pathcpthld != 0xffff) {
  ------------------
  |  Branch (7319:7): [True: 0, False: 0]
  ------------------
 7320|      0|			if (stcb != NULL) {
  ------------------
  |  Branch (7320:8): [True: 0, False: 0]
  ------------------
 7321|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7322|      0|			}
 7323|      0|			error = EINVAL;
 7324|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, error);
 7325|      0|			break;
 7326|      0|		}
 7327|      0|		if (stcb != NULL) {
  ------------------
  |  Branch (7327:7): [True: 0, False: 0]
  ------------------
 7328|      0|			if (net != NULL) {
  ------------------
  |  Branch (7328:8): [True: 0, False: 0]
  ------------------
 7329|      0|				net->failure_threshold = thlds->spt_pathmaxrxt;
 7330|      0|				net->pf_threshold = thlds->spt_pathpfthld;
 7331|      0|				if (net->dest_state & SCTP_ADDR_PF) {
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (7331:9): [True: 0, False: 0]
  ------------------
 7332|      0|					if ((net->error_count > net->failure_threshold) ||
  ------------------
  |  Branch (7332:10): [True: 0, False: 0]
  ------------------
 7333|      0|					    (net->error_count <= net->pf_threshold)) {
  ------------------
  |  Branch (7333:10): [True: 0, False: 0]
  ------------------
 7334|      0|						net->dest_state &= ~SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
 7335|      0|					}
 7336|      0|				} else {
 7337|      0|					if ((net->error_count > net->pf_threshold) &&
  ------------------
  |  Branch (7337:10): [True: 0, False: 0]
  ------------------
 7338|      0|					    (net->error_count <= net->failure_threshold)) {
  ------------------
  |  Branch (7338:10): [True: 0, False: 0]
  ------------------
 7339|      0|						net->dest_state |= SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
 7340|      0|						sctp_send_hb(stcb, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 7341|      0|						sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT,
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 7342|      0|						                stcb->sctp_ep, stcb, net,
 7343|      0|						                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_17);
  ------------------
  |  |  759|      0|#define SCTP_FROM_SCTP_USRREQ       0x50000000
  ------------------
              						                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_17);
  ------------------
  |  |  785|      0|#define SCTP_LOC_17 0x00000011
  ------------------
 7344|      0|						sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep, stcb, net);
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 7345|      0|					}
 7346|      0|				}
 7347|      0|				if (net->dest_state & SCTP_ADDR_REACHABLE) {
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (7347:9): [True: 0, False: 0]
  ------------------
 7348|      0|					if (net->error_count > net->failure_threshold) {
  ------------------
  |  Branch (7348:10): [True: 0, False: 0]
  ------------------
 7349|      0|						net->dest_state &= ~SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 7350|      0|						sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_DOWN, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  705|      0|#define SCTP_NOTIFY_INTERFACE_DOWN               3
  ------------------
              						sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_DOWN, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 7351|      0|					}
 7352|      0|				} else {
 7353|      0|					if (net->error_count <= net->failure_threshold) {
  ------------------
  |  Branch (7353:10): [True: 0, False: 0]
  ------------------
 7354|      0|						net->dest_state |= SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 7355|      0|						sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_UP, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  706|      0|#define SCTP_NOTIFY_INTERFACE_UP                 4
  ------------------
              						sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_UP, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 7356|      0|					}
 7357|      0|				}
 7358|      0|			} else {
 7359|      0|				TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 7360|      0|					net->failure_threshold = thlds->spt_pathmaxrxt;
 7361|      0|					net->pf_threshold = thlds->spt_pathpfthld;
 7362|      0|					if (net->dest_state & SCTP_ADDR_PF) {
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (7362:10): [True: 0, False: 0]
  ------------------
 7363|      0|						if ((net->error_count > net->failure_threshold) ||
  ------------------
  |  Branch (7363:11): [True: 0, False: 0]
  ------------------
 7364|      0|						    (net->error_count <= net->pf_threshold)) {
  ------------------
  |  Branch (7364:11): [True: 0, False: 0]
  ------------------
 7365|      0|							net->dest_state &= ~SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
 7366|      0|						}
 7367|      0|					} else {
 7368|      0|						if ((net->error_count > net->pf_threshold) &&
  ------------------
  |  Branch (7368:11): [True: 0, False: 0]
  ------------------
 7369|      0|						    (net->error_count <= net->failure_threshold)) {
  ------------------
  |  Branch (7369:11): [True: 0, False: 0]
  ------------------
 7370|      0|							net->dest_state |= SCTP_ADDR_PF;
  ------------------
  |  |  490|      0|#define SCTP_ADDR_PF                    0x800
  ------------------
 7371|      0|							sctp_send_hb(stcb, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 7372|      0|							sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT,
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 7373|      0|							                stcb->sctp_ep, stcb, net,
 7374|      0|							                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_18);
  ------------------
  |  |  759|      0|#define SCTP_FROM_SCTP_USRREQ       0x50000000
  ------------------
              							                SCTP_FROM_SCTP_USRREQ + SCTP_LOC_18);
  ------------------
  |  |  786|      0|#define SCTP_LOC_18 0x00000012
  ------------------
 7375|      0|							sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, stcb->sctp_ep, stcb, net);
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 7376|      0|						}
 7377|      0|					}
 7378|      0|					if (net->dest_state & SCTP_ADDR_REACHABLE) {
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (7378:10): [True: 0, False: 0]
  ------------------
 7379|      0|						if (net->error_count > net->failure_threshold) {
  ------------------
  |  Branch (7379:11): [True: 0, False: 0]
  ------------------
 7380|      0|							net->dest_state &= ~SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 7381|      0|							sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_DOWN, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  705|      0|#define SCTP_NOTIFY_INTERFACE_DOWN               3
  ------------------
              							sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_DOWN, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 7382|      0|						}
 7383|      0|					} else {
 7384|      0|						if (net->error_count <= net->failure_threshold) {
  ------------------
  |  Branch (7384:11): [True: 0, False: 0]
  ------------------
 7385|      0|							net->dest_state |= SCTP_ADDR_REACHABLE;
  ------------------
  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
 7386|      0|							sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_UP, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  706|      0|#define SCTP_NOTIFY_INTERFACE_UP                 4
  ------------------
              							sctp_ulp_notify(SCTP_NOTIFY_INTERFACE_UP, stcb, 0, net, SCTP_SO_LOCKED);
  ------------------
  |  |  959|      0|#define SCTP_SO_LOCKED		1
  ------------------
 7387|      0|						}
 7388|      0|					}
 7389|      0|				}
 7390|      0|				stcb->asoc.def_net_failure = thlds->spt_pathmaxrxt;
 7391|      0|				stcb->asoc.def_net_pf_threshold = thlds->spt_pathpfthld;
 7392|      0|			}
 7393|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7394|      0|		} else {
 7395|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7395:8): [True: 0, False: 0]
  ------------------
 7396|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7396:8): [True: 0, False: 0]
  ------------------
 7397|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7397:9): [True: 0, False: 0]
  ------------------
 7398|      0|			     (thlds->spt_assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7398:9): [True: 0, False: 0]
  ------------------
 7399|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7400|      0|				inp->sctp_ep.def_net_failure = thlds->spt_pathmaxrxt;
 7401|      0|				inp->sctp_ep.def_net_pf_threshold = thlds->spt_pathpfthld;
 7402|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7403|      0|			} else {
 7404|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7405|      0|				error = EINVAL;
 7406|      0|			}
 7407|      0|		}
 7408|      0|		break;
 7409|      0|	}
 7410|      0|	case SCTP_REMOTE_UDP_ENCAPS_PORT:
  ------------------
  |  |  131|      0|#define SCTP_REMOTE_UDP_ENCAPS_PORT     0x00000024
  ------------------
  |  Branch (7410:2): [True: 0, False: 234k]
  ------------------
 7411|      0|	{
 7412|      0|		struct sctp_udpencaps *encaps;
 7413|      0|		struct sctp_nets *net;
 7414|      0|		struct sockaddr *addr;
 7415|      0|#if defined(INET) && defined(INET6)
 7416|      0|		struct sockaddr_in sin_store;
 7417|      0|#endif
 7418|       |
 7419|      0|		SCTP_CHECK_AND_CAST(encaps, optval, struct sctp_udpencaps, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7420|      0|		SCTP_FIND_STCB(inp, stcb, encaps->sue_assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7421|       |
 7422|      0|#if defined(INET) && defined(INET6)
 7423|      0|		if (encaps->sue_address.ss_family == AF_INET6) {
  ------------------
  |  Branch (7423:7): [True: 0, False: 0]
  ------------------
 7424|      0|			struct sockaddr_in6 *sin6;
 7425|       |
 7426|      0|			sin6 = (struct sockaddr_in6 *)&encaps->sue_address;
 7427|      0|			if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
 7428|      0|				in6_sin6_2_sin(&sin_store, sin6);
 7429|      0|				addr = (struct sockaddr *)&sin_store;
 7430|      0|			} else {
 7431|      0|				addr = (struct sockaddr *)&encaps->sue_address;
 7432|      0|			}
 7433|      0|		} else {
 7434|      0|			addr = (struct sockaddr *)&encaps->sue_address;
 7435|      0|		}
 7436|       |#else
 7437|       |		addr = (struct sockaddr *)&encaps->sue_address;
 7438|       |#endif
 7439|      0|		if (stcb != NULL) {
  ------------------
  |  Branch (7439:7): [True: 0, False: 0]
  ------------------
 7440|      0|			net = sctp_findnet(stcb, addr);
 7441|      0|		} else {
 7442|       |			/* We increment here since sctp_findassociation_ep_addr() wil
 7443|       |			 * do a decrement if it finds the stcb as long as the locked
 7444|       |			 * tcb (last argument) is NOT a TCB.. aka NULL.
 7445|       |			 */
 7446|      0|			net = NULL;
 7447|      0|			SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|      0|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 7448|      0|			stcb = sctp_findassociation_ep_addr(&inp, addr, &net, NULL, NULL);
 7449|      0|			if (stcb == NULL) {
  ------------------
  |  Branch (7449:8): [True: 0, False: 0]
  ------------------
 7450|      0|				SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|      0|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 7451|      0|			}
 7452|      0|		}
 7453|      0|		if ((stcb != NULL) && (net == NULL)) {
  ------------------
  |  Branch (7453:7): [True: 0, False: 0]
  |  Branch (7453:25): [True: 0, False: 0]
  ------------------
 7454|      0|#ifdef INET
 7455|      0|			if (addr->sa_family == AF_INET) {
  ------------------
  |  Branch (7455:8): [True: 0, False: 0]
  ------------------
 7456|      0|				struct sockaddr_in *sin;
 7457|       |
 7458|      0|				sin = (struct sockaddr_in *)addr;
 7459|      0|				if (sin->sin_addr.s_addr != INADDR_ANY) {
  ------------------
  |  Branch (7459:9): [True: 0, False: 0]
  ------------------
 7460|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7461|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7462|      0|					error = EINVAL;
 7463|      0|					break;
 7464|      0|				}
 7465|      0|			} else
 7466|      0|#endif
 7467|      0|#ifdef INET6
 7468|      0|			if (addr->sa_family == AF_INET6) {
  ------------------
  |  Branch (7468:8): [True: 0, False: 0]
  ------------------
 7469|      0|				struct sockaddr_in6 *sin6;
 7470|       |
 7471|      0|				sin6 = (struct sockaddr_in6 *)addr;
 7472|      0|				if (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
  ------------------
  |  Branch (7472:9): [True: 0, False: 0]
  ------------------
 7473|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7474|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7475|      0|					error = EINVAL;
 7476|      0|					break;
 7477|      0|				}
 7478|      0|			} else
 7479|      0|#endif
 7480|      0|#if defined(__Userspace__)
 7481|      0|			if (addr->sa_family == AF_CONN) {
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (7481:8): [True: 0, False: 0]
  ------------------
 7482|      0|				struct sockaddr_conn *sconn;
 7483|       |
 7484|      0|				sconn = (struct sockaddr_conn *)addr;
 7485|      0|				if (sconn->sconn_addr != NULL) {
  ------------------
  |  Branch (7485:9): [True: 0, False: 0]
  ------------------
 7486|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7487|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7488|      0|					error = EINVAL;
 7489|      0|					break;
 7490|      0|				}
 7491|      0|			} else
 7492|      0|#endif
 7493|      0|			{
 7494|      0|					error = EAFNOSUPPORT;
 7495|      0|					SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7496|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, error);
 7497|      0|					break;
 7498|      0|				}
 7499|      0|		}
 7500|       |
 7501|      0|		if (stcb != NULL) {
  ------------------
  |  Branch (7501:7): [True: 0, False: 0]
  ------------------
 7502|      0|			if (net != NULL) {
  ------------------
  |  Branch (7502:8): [True: 0, False: 0]
  ------------------
 7503|      0|				net->port = encaps->sue_port;
 7504|      0|			} else {
 7505|      0|				stcb->asoc.port = encaps->sue_port;
 7506|      0|			}
 7507|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7508|      0|		} else {
 7509|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7509:8): [True: 0, False: 0]
  ------------------
 7510|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7510:8): [True: 0, False: 0]
  ------------------
 7511|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7511:9): [True: 0, False: 0]
  ------------------
 7512|      0|			     (encaps->sue_assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7512:9): [True: 0, False: 0]
  ------------------
 7513|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7514|      0|				inp->sctp_ep.port = encaps->sue_port;
 7515|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7516|      0|			} else {
 7517|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7518|      0|				error = EINVAL;
 7519|      0|			}
 7520|      0|		}
 7521|      0|		break;
 7522|      0|	}
 7523|      0|	case SCTP_ECN_SUPPORTED:
  ------------------
  |  |  132|      0|#define SCTP_ECN_SUPPORTED              0x00000025
  ------------------
  |  Branch (7523:2): [True: 0, False: 234k]
  ------------------
 7524|      0|	{
 7525|      0|		struct sctp_assoc_value *av;
 7526|       |
 7527|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7528|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7529|       |
 7530|      0|		if (stcb) {
  ------------------
  |  Branch (7530:7): [True: 0, False: 0]
  ------------------
 7531|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7532|      0|			error = EINVAL;
 7533|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7534|      0|		} else {
 7535|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7535:8): [True: 0, False: 0]
  ------------------
 7536|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7536:8): [True: 0, False: 0]
  ------------------
 7537|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7537:9): [True: 0, False: 0]
  ------------------
 7538|      0|			     (av->assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7538:9): [True: 0, False: 0]
  ------------------
 7539|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7540|      0|				if (av->assoc_value == 0) {
  ------------------
  |  Branch (7540:9): [True: 0, False: 0]
  ------------------
 7541|      0|					inp->ecn_supported = 0;
 7542|      0|				} else {
 7543|      0|					inp->ecn_supported = 1;
 7544|      0|				}
 7545|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7546|      0|			} else {
 7547|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7548|      0|				error = EINVAL;
 7549|      0|			}
 7550|      0|		}
 7551|      0|		break;
 7552|      0|	}
 7553|      0|	case SCTP_PR_SUPPORTED:
  ------------------
  |  |  133|      0|#define SCTP_PR_SUPPORTED               0x00000026
  ------------------
  |  Branch (7553:2): [True: 0, False: 234k]
  ------------------
 7554|      0|	{
 7555|      0|		struct sctp_assoc_value *av;
 7556|       |
 7557|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7558|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7559|       |
 7560|      0|		if (stcb) {
  ------------------
  |  Branch (7560:7): [True: 0, False: 0]
  ------------------
 7561|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7562|      0|			error = EINVAL;
 7563|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7564|      0|		} else {
 7565|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7565:8): [True: 0, False: 0]
  ------------------
 7566|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7566:8): [True: 0, False: 0]
  ------------------
 7567|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7567:9): [True: 0, False: 0]
  ------------------
 7568|      0|			     (av->assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7568:9): [True: 0, False: 0]
  ------------------
 7569|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7570|      0|				if (av->assoc_value == 0) {
  ------------------
  |  Branch (7570:9): [True: 0, False: 0]
  ------------------
 7571|      0|					inp->prsctp_supported = 0;
 7572|      0|				} else {
 7573|      0|					inp->prsctp_supported = 1;
 7574|      0|				}
 7575|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7576|      0|			} else {
 7577|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7578|      0|				error = EINVAL;
 7579|      0|			}
 7580|      0|		}
 7581|      0|		break;
 7582|      0|	}
 7583|      0|	case SCTP_AUTH_SUPPORTED:
  ------------------
  |  |  134|      0|#define SCTP_AUTH_SUPPORTED             0x00000027
  ------------------
  |  Branch (7583:2): [True: 0, False: 234k]
  ------------------
 7584|      0|	{
 7585|      0|		struct sctp_assoc_value *av;
 7586|       |
 7587|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7588|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7589|       |
 7590|      0|		if (stcb) {
  ------------------
  |  Branch (7590:7): [True: 0, False: 0]
  ------------------
 7591|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7592|      0|			error = EINVAL;
 7593|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7594|      0|		} else {
 7595|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7595:8): [True: 0, False: 0]
  ------------------
 7596|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7596:8): [True: 0, False: 0]
  ------------------
 7597|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7597:9): [True: 0, False: 0]
  ------------------
 7598|      0|			     (av->assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7598:9): [True: 0, False: 0]
  ------------------
 7599|      0|				if ((av->assoc_value == 0) &&
  ------------------
  |  Branch (7599:9): [True: 0, False: 0]
  ------------------
 7600|      0|				    (inp->asconf_supported == 1)) {
  ------------------
  |  Branch (7600:9): [True: 0, False: 0]
  ------------------
 7601|       |				    	/* AUTH is required for ASCONF */
 7602|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7603|      0|					error = EINVAL;
 7604|      0|				} else {
 7605|      0|					SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7606|      0|					if (av->assoc_value == 0) {
  ------------------
  |  Branch (7606:10): [True: 0, False: 0]
  ------------------
 7607|      0|						inp->auth_supported = 0;
 7608|      0|					} else {
 7609|      0|						inp->auth_supported = 1;
 7610|      0|					}
 7611|      0|					SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7612|      0|				}
 7613|      0|			} else {
 7614|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7615|      0|				error = EINVAL;
 7616|      0|			}
 7617|      0|		}
 7618|      0|		break;
 7619|      0|	}
 7620|      0|	case SCTP_ASCONF_SUPPORTED:
  ------------------
  |  |  135|      0|#define SCTP_ASCONF_SUPPORTED           0x00000028
  ------------------
  |  Branch (7620:2): [True: 0, False: 234k]
  ------------------
 7621|      0|	{
 7622|      0|		struct sctp_assoc_value *av;
 7623|       |
 7624|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7625|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7626|       |
 7627|      0|		if (stcb) {
  ------------------
  |  Branch (7627:7): [True: 0, False: 0]
  ------------------
 7628|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7629|      0|			error = EINVAL;
 7630|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7631|      0|		} else {
 7632|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7632:8): [True: 0, False: 0]
  ------------------
 7633|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7633:8): [True: 0, False: 0]
  ------------------
 7634|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7634:9): [True: 0, False: 0]
  ------------------
 7635|      0|			     (av->assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7635:9): [True: 0, False: 0]
  ------------------
 7636|      0|				if ((av->assoc_value != 0) &&
  ------------------
  |  Branch (7636:9): [True: 0, False: 0]
  ------------------
 7637|      0|				    (inp->auth_supported == 0)) {
  ------------------
  |  Branch (7637:9): [True: 0, False: 0]
  ------------------
 7638|       |				    	/* AUTH is required for ASCONF */
 7639|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7640|      0|					error = EINVAL;
 7641|      0|				} else {
 7642|      0|					SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7643|      0|					if (av->assoc_value == 0) {
  ------------------
  |  Branch (7643:10): [True: 0, False: 0]
  ------------------
 7644|      0|						inp->asconf_supported = 0;
 7645|      0|						sctp_auth_delete_chunk(SCTP_ASCONF,
  ------------------
  |  |  492|      0|#define SCTP_ASCONF		0xc1
  ------------------
 7646|      0|						                       inp->sctp_ep.local_auth_chunks);
 7647|      0|						sctp_auth_delete_chunk(SCTP_ASCONF_ACK,
  ------------------
  |  |  480|      0|#define	SCTP_ASCONF_ACK		0x80
  ------------------
 7648|      0|						                       inp->sctp_ep.local_auth_chunks);
 7649|      0|					} else {
 7650|      0|						inp->asconf_supported = 1;
 7651|      0|						sctp_auth_add_chunk(SCTP_ASCONF,
  ------------------
  |  |  492|      0|#define SCTP_ASCONF		0xc1
  ------------------
 7652|      0|						                    inp->sctp_ep.local_auth_chunks);
 7653|      0|						sctp_auth_add_chunk(SCTP_ASCONF_ACK,
  ------------------
  |  |  480|      0|#define	SCTP_ASCONF_ACK		0x80
  ------------------
 7654|      0|						                    inp->sctp_ep.local_auth_chunks);
 7655|      0|					}
 7656|      0|					SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7657|      0|				}
 7658|      0|			} else {
 7659|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7660|      0|				error = EINVAL;
 7661|      0|			}
 7662|      0|		}
 7663|      0|		break;
 7664|      0|	}
 7665|      0|	case SCTP_RECONFIG_SUPPORTED:
  ------------------
  |  |  136|      0|#define SCTP_RECONFIG_SUPPORTED         0x00000029
  ------------------
  |  Branch (7665:2): [True: 0, False: 234k]
  ------------------
 7666|      0|	{
 7667|      0|		struct sctp_assoc_value *av;
 7668|       |
 7669|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7670|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7671|       |
 7672|      0|		if (stcb) {
  ------------------
  |  Branch (7672:7): [True: 0, False: 0]
  ------------------
 7673|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7674|      0|			error = EINVAL;
 7675|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7676|      0|		} else {
 7677|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7677:8): [True: 0, False: 0]
  ------------------
 7678|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7678:8): [True: 0, False: 0]
  ------------------
 7679|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7679:9): [True: 0, False: 0]
  ------------------
 7680|      0|			     (av->assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7680:9): [True: 0, False: 0]
  ------------------
 7681|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7682|      0|				if (av->assoc_value == 0) {
  ------------------
  |  Branch (7682:9): [True: 0, False: 0]
  ------------------
 7683|      0|					inp->reconfig_supported = 0;
 7684|      0|				} else {
 7685|      0|					inp->reconfig_supported = 1;
 7686|      0|				}
 7687|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7688|      0|			} else {
 7689|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7690|      0|				error = EINVAL;
 7691|      0|			}
 7692|      0|		}
 7693|      0|		break;
 7694|      0|	}
 7695|      0|	case SCTP_NRSACK_SUPPORTED:
  ------------------
  |  |  137|      0|#define SCTP_NRSACK_SUPPORTED           0x00000030
  ------------------
  |  Branch (7695:2): [True: 0, False: 234k]
  ------------------
 7696|      0|	{
 7697|      0|		struct sctp_assoc_value *av;
 7698|       |
 7699|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7700|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7701|       |
 7702|      0|		if (stcb) {
  ------------------
  |  Branch (7702:7): [True: 0, False: 0]
  ------------------
 7703|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7704|      0|			error = EINVAL;
 7705|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7706|      0|		} else {
 7707|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7707:8): [True: 0, False: 0]
  ------------------
 7708|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7708:8): [True: 0, False: 0]
  ------------------
 7709|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7709:9): [True: 0, False: 0]
  ------------------
 7710|      0|			     (av->assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7710:9): [True: 0, False: 0]
  ------------------
 7711|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7712|      0|				if (av->assoc_value == 0) {
  ------------------
  |  Branch (7712:9): [True: 0, False: 0]
  ------------------
 7713|      0|					inp->nrsack_supported = 0;
 7714|      0|				} else {
 7715|      0|					inp->nrsack_supported = 1;
 7716|      0|				}
 7717|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7718|      0|			} else {
 7719|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7720|      0|				error = EINVAL;
 7721|      0|			}
 7722|      0|		}
 7723|      0|		break;
 7724|      0|	}
 7725|      0|	case SCTP_PKTDROP_SUPPORTED:
  ------------------
  |  |  138|      0|#define SCTP_PKTDROP_SUPPORTED          0x00000031
  ------------------
  |  Branch (7725:2): [True: 0, False: 234k]
  ------------------
 7726|      0|	{
 7727|      0|		struct sctp_assoc_value *av;
 7728|       |
 7729|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7730|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7731|       |
 7732|      0|		if (stcb) {
  ------------------
  |  Branch (7732:7): [True: 0, False: 0]
  ------------------
 7733|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7734|      0|			error = EINVAL;
 7735|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7736|      0|		} else {
 7737|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7737:8): [True: 0, False: 0]
  ------------------
 7738|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7738:8): [True: 0, False: 0]
  ------------------
 7739|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7739:9): [True: 0, False: 0]
  ------------------
 7740|      0|			     (av->assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7740:9): [True: 0, False: 0]
  ------------------
 7741|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7742|      0|				if (av->assoc_value == 0) {
  ------------------
  |  Branch (7742:9): [True: 0, False: 0]
  ------------------
 7743|      0|					inp->pktdrop_supported = 0;
 7744|      0|				} else {
 7745|      0|					inp->pktdrop_supported = 1;
 7746|      0|				}
 7747|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7748|      0|			} else {
 7749|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7750|      0|				error = EINVAL;
 7751|      0|			}
 7752|      0|		}
 7753|      0|		break;
 7754|      0|	}
 7755|      0|	case SCTP_MAX_CWND:
  ------------------
  |  |  139|      0|#define SCTP_MAX_CWND                   0x00000032
  ------------------
  |  Branch (7755:2): [True: 0, False: 234k]
  ------------------
 7756|      0|	{
 7757|      0|		struct sctp_assoc_value *av;
 7758|      0|		struct sctp_nets *net;
 7759|       |
 7760|      0|		SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7761|      0|		SCTP_FIND_STCB(inp, stcb, av->assoc_id);
  ------------------
  |  | 2133|      0|#define SCTP_FIND_STCB(inp, stcb, assoc_id) { \
  |  | 2134|      0|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||\
  |  |  ------------------
  |  |  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (2134:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2135|      0|	    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (2135:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2136|      0|		SCTP_INP_RLOCK(inp); \
  |  |  ------------------
  |  |  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2137|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list); \
  |  | 2138|      0|		if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (2138:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2139|      0|			SCTP_TCB_LOCK(stcb); \
  |  |  ------------------
  |  |  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2140|      0|		} \
  |  | 2141|      0|		SCTP_INP_RUNLOCK(inp); \
  |  |  ------------------
  |  |  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 2142|      0|	} else if (assoc_id > SCTP_ALL_ASSOC) { \
  |  |  ------------------
  |  |  |  |   65|      0|#define SCTP_ALL_ASSOC     2
  |  |  ------------------
  |  |  |  Branch (2142:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 2143|      0|		stcb = sctp_findassociation_ep_asocid(inp, assoc_id, 1); \
  |  | 2144|      0|		if (stcb == NULL) { \
  |  |  ------------------
  |  |  |  Branch (2144:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 2145|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOENT); \
  |  | 2146|      0|			error = ENOENT; \
  |  | 2147|      0|			break; \
  |  | 2148|      0|		} \
  |  | 2149|      0|	} else { \
  |  | 2150|      0|		stcb = NULL; \
  |  | 2151|      0|	} \
  |  | 2152|      0|}
  ------------------
 7762|       |
 7763|      0|		if (stcb) {
  ------------------
  |  Branch (7763:7): [True: 0, False: 0]
  ------------------
 7764|      0|			stcb->asoc.max_cwnd = av->assoc_value;
 7765|      0|			if (stcb->asoc.max_cwnd > 0) {
  ------------------
  |  Branch (7765:8): [True: 0, False: 0]
  ------------------
 7766|      0|				TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
 7767|      0|					if ((net->cwnd > stcb->asoc.max_cwnd) &&
  ------------------
  |  Branch (7767:10): [True: 0, False: 0]
  ------------------
 7768|      0|					    (net->cwnd > (net->mtu - sizeof(struct sctphdr)))) {
  ------------------
  |  Branch (7768:10): [True: 0, False: 0]
  ------------------
 7769|      0|						net->cwnd = stcb->asoc.max_cwnd;
 7770|      0|						if (net->cwnd < (net->mtu - sizeof(struct sctphdr))) {
  ------------------
  |  Branch (7770:11): [True: 0, False: 0]
  ------------------
 7771|      0|							net->cwnd = net->mtu - sizeof(struct sctphdr);
 7772|      0|						}
 7773|      0|					}
 7774|      0|				}
 7775|      0|			}
 7776|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7777|      0|		} else {
 7778|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (7778:8): [True: 0, False: 0]
  ------------------
 7779|      0|			    (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (7779:8): [True: 0, False: 0]
  ------------------
 7780|      0|			    ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) &&
  ------------------
  |  |  531|      0|#define SCTP_PCB_FLAGS_UDPTYPE		0x00000001
  ------------------
  |  Branch (7780:9): [True: 0, False: 0]
  ------------------
 7781|      0|			     (av->assoc_id == SCTP_FUTURE_ASSOC))) {
  ------------------
  |  |   63|      0|#define SCTP_FUTURE_ASSOC  0
  ------------------
  |  Branch (7781:9): [True: 0, False: 0]
  ------------------
 7782|      0|				SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7783|      0|				inp->max_cwnd = av->assoc_value;
 7784|      0|				SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7785|      0|			} else {
 7786|      0|				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7787|      0|				error = EINVAL;
 7788|      0|			}
 7789|      0|		}
 7790|      0|		break;
 7791|      0|	}
 7792|      0|	case SCTP_ACCEPT_ZERO_CHECKSUM:
  ------------------
  |  |  140|      0|#define SCTP_ACCEPT_ZERO_CHECKSUM       0x00000033
  ------------------
  |  Branch (7792:2): [True: 0, False: 234k]
  ------------------
 7793|      0|	{
 7794|      0|		uint32_t *value;
 7795|       |
 7796|      0|		SCTP_CHECK_AND_CAST(value, optval, uint32_t, optsize);
  ------------------
  |  | 2154|      0|#define SCTP_CHECK_AND_CAST(destp, srcp, type, size) {\
  |  | 2155|      0|	if (size < sizeof(type)) { \
  |  |  ------------------
  |  |  |  Branch (2155:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 2156|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); \
  |  | 2157|      0|		error = EINVAL; \
  |  | 2158|      0|		break; \
  |  | 2159|      0|	} else { \
  |  | 2160|      0|		destp = (type *)srcp; \
  |  | 2161|      0|	} \
  |  | 2162|      0|}
  ------------------
 7797|      0|		if ((*value == SCTP_EDMID_NONE) ||
  ------------------
  |  |  809|      0|#define SCTP_EDMID_NONE             0
  ------------------
  |  Branch (7797:7): [True: 0, False: 0]
  ------------------
 7798|      0|		    (*value == SCTP_EDMID_LOWER_LAYER_DTLS)) {
  ------------------
  |  |  810|      0|#define SCTP_EDMID_LOWER_LAYER_DTLS 1
  ------------------
  |  Branch (7798:7): [True: 0, False: 0]
  ------------------
 7799|      0|			SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7800|      0|			inp->rcv_edmid = *value;
 7801|      0|			SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7802|      0|		} else {
 7803|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 7804|      0|			error = EINVAL;
 7805|      0|		}
 7806|      0|		break;
 7807|      0|	}
 7808|       |
 7809|      0|	default:
  ------------------
  |  Branch (7809:2): [True: 0, False: 234k]
  ------------------
 7810|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, ENOPROTOOPT);
 7811|      0|		error = ENOPROTOOPT;
 7812|      0|		break;
 7813|   234k|	} /* end switch (opt) */
 7814|   234k|	return (error);
 7815|   234k|}
sctpconn_connect:
 8125|  11.5k|{
 8126|       |#ifdef SCTP_MVRF
 8127|       |	int i, fnd = 0;
 8128|       |#endif
 8129|  11.5k|	void *p = NULL;
 8130|  11.5k|	int error = 0;
 8131|  11.5k|	int create_lock_on = 0;
 8132|  11.5k|	uint32_t vrf_id;
 8133|  11.5k|	struct sctp_inpcb *inp;
 8134|  11.5k|	struct sctp_tcb *stcb = NULL;
 8135|       |
 8136|  11.5k|	inp = (struct sctp_inpcb *)so->so_pcb;
 8137|  11.5k|	if (inp == NULL) {
  ------------------
  |  Branch (8137:6): [True: 0, False: 11.5k]
  ------------------
 8138|       |		/* I made the same as TCP since we are not setup? */
 8139|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 8140|      0|		return (ECONNRESET);
 8141|      0|	}
 8142|  11.5k|	if (addr == NULL) {
  ------------------
  |  Branch (8142:6): [True: 0, False: 11.5k]
  ------------------
 8143|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 8144|      0|		return EINVAL;
 8145|      0|	}
 8146|  11.5k|	switch (addr->sa_family) {
 8147|      0|#ifdef INET
 8148|      0|	case AF_INET:
  ------------------
  |  Branch (8148:2): [True: 0, False: 11.5k]
  ------------------
 8149|       |#ifdef HAVE_SA_LEN
 8150|       |		if (addr->sa_len != sizeof(struct sockaddr_in)) {
 8151|       |			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 8152|       |			return (EINVAL);
 8153|       |		}
 8154|       |#endif
 8155|      0|		break;
 8156|      0|#endif
 8157|      0|#ifdef INET6
 8158|      0|	case AF_INET6:
  ------------------
  |  Branch (8158:2): [True: 0, False: 11.5k]
  ------------------
 8159|       |#ifdef HAVE_SA_LEN
 8160|       |		if (addr->sa_len != sizeof(struct sockaddr_in6)) {
 8161|       |			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 8162|       |			return (EINVAL);
 8163|       |		}
 8164|       |#endif
 8165|      0|		break;
 8166|      0|#endif
 8167|  11.5k|	case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (8167:2): [True: 11.5k, False: 0]
  ------------------
 8168|       |#ifdef HAVE_SA_LEN
 8169|       |		if (addr->sa_len != sizeof(struct sockaddr_conn)) {
 8170|       |			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 8171|       |			return (EINVAL);
 8172|       |		}
 8173|       |#endif
 8174|  11.5k|		break;
 8175|      0|	default:
  ------------------
  |  Branch (8175:2): [True: 0, False: 11.5k]
  ------------------
 8176|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EAFNOSUPPORT);
 8177|      0|		return (EAFNOSUPPORT);
 8178|  11.5k|	}
 8179|  11.5k|	SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|  11.5k|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|  11.5k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 8180|  11.5k|	SCTP_ASOC_CREATE_LOCK(inp);
  ------------------
  |  |  427|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8181|  11.5k|	create_lock_on = 1;
 8182|       |
 8183|       |
 8184|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) ||
  ------------------
  |  |  550|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (8184:6): [True: 0, False: 11.5k]
  ------------------
 8185|  11.5k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE)) {
  ------------------
  |  |  549|  11.5k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (8185:6): [True: 0, False: 11.5k]
  ------------------
 8186|       |		/* Should I really unlock ? */
 8187|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EFAULT);
 8188|      0|	        error = EFAULT;
 8189|      0|		goto out_now;
 8190|      0|	}
 8191|  11.5k|#ifdef INET6
 8192|  11.5k|	if (((inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) == 0) &&
  ------------------
  |  |  547|  11.5k|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  |  Branch (8192:6): [True: 11.5k, False: 0]
  ------------------
 8193|  11.5k|	    (addr->sa_family == AF_INET6)) {
  ------------------
  |  Branch (8193:6): [True: 0, False: 11.5k]
  ------------------
 8194|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 8195|      0|		error = EINVAL;
 8196|      0|		goto out_now;
 8197|      0|	}
 8198|  11.5k|#endif
 8199|  11.5k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_UNBOUND) {
  ------------------
  |  |  535|  11.5k|#define SCTP_PCB_FLAGS_UNBOUND		0x00000010
  ------------------
  |  Branch (8199:6): [True: 0, False: 11.5k]
  ------------------
 8200|       |		/* Bind a ephemeral port */
 8201|      0|		error = sctp_inpcb_bind(so, NULL, NULL, p);
 8202|      0|		if (error) {
  ------------------
  |  Branch (8202:7): [True: 0, False: 0]
  ------------------
 8203|      0|			goto out_now;
 8204|      0|		}
 8205|      0|	}
 8206|       |	/* Now do we connect? */
 8207|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) &&
  ------------------
  |  |  543|  11.5k|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (8207:6): [True: 0, False: 11.5k]
  ------------------
 8208|  11.5k|	    (sctp_is_feature_off(inp, SCTP_PCB_FLAGS_PORTREUSE))) {
  ------------------
  |  |   53|      0|#define sctp_is_feature_off(inp, feature) ((inp->sctp_features & feature) == 0)
  ------------------
  |  Branch (8208:6): [True: 0, False: 0]
  ------------------
 8209|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 8210|      0|		error = EINVAL;
 8211|      0|		goto out_now;
 8212|      0|	}
 8213|  11.5k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) &&
  ------------------
  |  |  532|  11.5k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (8213:6): [True: 11.5k, False: 0]
  ------------------
 8214|  11.5k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_CONNECTED)) {
  ------------------
  |  |  542|  11.5k|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
  |  Branch (8214:6): [True: 0, False: 11.5k]
  ------------------
 8215|       |		/* We are already connected AND the TCP model */
 8216|      0|		SCTP_LTRACE_ERR_RET(inp, stcb, NULL, SCTP_FROM_SCTP_USRREQ, EADDRINUSE);
 8217|      0|		error = EADDRINUSE;
 8218|      0|		goto out_now;
 8219|      0|	}
 8220|  11.5k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_CONNECTED) {
  ------------------
  |  |  542|  11.5k|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
  |  Branch (8220:6): [True: 0, False: 11.5k]
  ------------------
 8221|      0|		SCTP_INP_RLOCK(inp);
  ------------------
  |  |  376|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8222|      0|		stcb = LIST_FIRST(&inp->sctp_asoc_list);
 8223|      0|		SCTP_INP_RUNLOCK(inp);
  ------------------
  |  |  381|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8224|  11.5k|	} else {
 8225|       |		/* We increment here since sctp_findassociation_ep_addr() will
 8226|       |		 * do a decrement if it finds the stcb as long as the locked
 8227|       |		 * tcb (last argument) is NOT a TCB.. aka NULL.
 8228|       |		 */
 8229|  11.5k|		SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|  11.5k|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|  11.5k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 8230|  11.5k|		stcb = sctp_findassociation_ep_addr(&inp, addr, NULL, NULL, NULL);
 8231|  11.5k|		if (stcb == NULL) {
  ------------------
  |  Branch (8231:7): [True: 11.5k, False: 0]
  ------------------
 8232|  11.5k|			SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|  11.5k|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|  11.5k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 8233|  11.5k|		} else {
 8234|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8235|      0|		}
 8236|  11.5k|	}
 8237|  11.5k|	if (stcb != NULL) {
  ------------------
  |  Branch (8237:6): [True: 0, False: 11.5k]
  ------------------
 8238|       |		/* Already have or am bring up an association */
 8239|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EALREADY);
 8240|      0|		error = EALREADY;
 8241|      0|		goto out_now;
 8242|      0|	}
 8243|       |
 8244|  11.5k|	vrf_id = inp->def_vrf_id;
 8245|       |#ifdef SCTP_MVRF
 8246|       |	for (i = 0; i < inp->num_vrfs; i++) {
 8247|       |		if (vrf_id == inp->m_vrf_ids[i]) {
 8248|       |			fnd = 1;
 8249|       |			break;
 8250|       |		}
 8251|       |	}
 8252|       |	if (!fnd) {
 8253|       |		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
 8254|       |		error = EINVAL;
 8255|       |		goto out_now;
 8256|       |	}
 8257|       |#endif
 8258|       |	/* We are GOOD to go */
 8259|  11.5k|	stcb = sctp_aloc_assoc_connected(inp, addr, &error, 0, 0, vrf_id,
 8260|  11.5k|	                                 inp->sctp_ep.pre_open_stream_count,
 8261|  11.5k|	                                 inp->sctp_ep.port, p,
 8262|  11.5k|	                                 SCTP_INITIALIZE_AUTH_PARAMS);
  ------------------
  |  |  782|  11.5k|#define SCTP_INITIALIZE_AUTH_PARAMS		1
  ------------------
 8263|  11.5k|	if (stcb == NULL) {
  ------------------
  |  Branch (8263:6): [True: 0, False: 11.5k]
  ------------------
 8264|       |		/* Gak! no memory */
 8265|      0|		goto out_now;
 8266|      0|	}
 8267|  11.5k|	SCTP_SET_STATE(stcb, SCTP_STATE_COOKIE_WAIT);
  ------------------
  |  |  474|  11.5k|	sctp_set_state(_stcb, _state)
  ------------------
 8268|  11.5k|	(void)SCTP_GETTIME_TIMEVAL(&stcb->asoc.time_entered);
  ------------------
  |  |  991|  11.5k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 8269|       |
 8270|  11.5k|	sctp_send_initiate(inp, stcb, SCTP_SO_LOCKED);
  ------------------
  |  |  959|  11.5k|#define SCTP_SO_LOCKED		1
  ------------------
 8271|  11.5k|	SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|  11.5k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8272|  11.5k| out_now:
 8273|  11.5k|	if (create_lock_on) {
  ------------------
  |  Branch (8273:6): [True: 11.5k, False: 0]
  ------------------
 8274|  11.5k|		SCTP_ASOC_CREATE_UNLOCK(inp);
  ------------------
  |  |  430|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_create_mtx) == 0, ("%s:%d: inp_create_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8275|  11.5k|	}
 8276|       |
 8277|  11.5k|	SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|  11.5k|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|  11.5k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 8278|  11.5k|	return (error);
 8279|  11.5k|}
register_recv_cb:
 8974|  11.5k|{
 8975|  11.5k|	struct sctp_inpcb *inp;
 8976|       |
 8977|  11.5k|	inp = (struct sctp_inpcb *) so->so_pcb;
 8978|  11.5k|	if (inp == NULL) {
  ------------------
  |  Branch (8978:6): [True: 0, False: 11.5k]
  ------------------
 8979|      0|		return (0);
 8980|      0|	}
 8981|  11.5k|	SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8982|  11.5k|	inp->recv_callback = receive_cb;
 8983|  11.5k|	SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8984|  11.5k|	return (1);
 8985|  11.5k|}
register_send_cb:
 8989|  11.5k|{
 8990|  11.5k|	struct sctp_inpcb *inp;
 8991|       |
 8992|  11.5k|	inp = (struct sctp_inpcb *) so->so_pcb;
 8993|  11.5k|	if (inp == NULL) {
  ------------------
  |  Branch (8993:6): [True: 0, False: 11.5k]
  ------------------
 8994|      0|		return (0);
 8995|      0|	}
 8996|  11.5k|	SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 8997|  11.5k|	inp->send_callback = send_cb;
 8998|  11.5k|	inp->send_sb_threshold = sb_threshold;
 8999|  11.5k|	SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9000|       |	/* FIXME change to current amount free. This will be the full buffer
 9001|       |	 * the first time this is registered but it could be only a portion
 9002|       |	 * of the send buffer if this is called a second time e.g. if the
 9003|       |	 * threshold changes.
 9004|       |	 */
 9005|  11.5k|	return (1);
 9006|  11.5k|}
register_ulp_info:
 9010|  11.5k|{
 9011|  11.5k|	struct sctp_inpcb *inp;
 9012|       |
 9013|  11.5k|	inp = (struct sctp_inpcb *) so->so_pcb;
 9014|  11.5k|	if (inp == NULL) {
  ------------------
  |  Branch (9014:6): [True: 0, False: 11.5k]
  ------------------
 9015|      0|		return (0);
 9016|      0|	}
 9017|  11.5k|	SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|  11.5k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9018|  11.5k|	inp->ulp_info = ulp_info;
 9019|  11.5k|	SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|  11.5k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 9020|  11.5k|	return (1);
 9021|  11.5k|}

sctp_msecs_to_ticks:
  800|   191k|{
  801|   191k|	uint64_t temp;
  802|   191k|	uint32_t ticks;
  803|       |
  804|   191k|	if (hz == 1000) {
  ------------------
  |  Branch (804:6): [True: 191k, False: 3]
  ------------------
  805|   191k|		ticks = msecs;
  806|   191k|	} else {
  807|      3|		temp = (((uint64_t)msecs * hz) + 999) / 1000;
  808|      3|		if (temp > UINT32_MAX) {
  ------------------
  |  Branch (808:7): [True: 0, False: 3]
  ------------------
  809|      0|			ticks = UINT32_MAX;
  810|      3|		} else {
  811|      3|			ticks = (uint32_t)temp;
  812|      3|		}
  813|      3|	}
  814|   191k|	return (ticks);
  815|   191k|}
sctp_ticks_to_msecs:
  819|  23.1k|{
  820|  23.1k|	uint64_t temp;
  821|  23.1k|	uint32_t msecs;
  822|       |
  823|  23.1k|	if (hz == 1000) {
  ------------------
  |  Branch (823:6): [True: 23.1k, False: 0]
  ------------------
  824|  23.1k|		msecs = ticks;
  825|  23.1k|	} else {
  826|      0|		temp = (((uint64_t)ticks * 1000) + (hz - 1)) / hz;
  827|      0|		if (temp > UINT32_MAX) {
  ------------------
  |  Branch (827:7): [True: 0, False: 0]
  ------------------
  828|      0|			msecs = UINT32_MAX;
  829|      0|		} else {
  830|      0|			msecs = (uint32_t)temp;
  831|      0|		}
  832|      0|	}
  833|  23.1k|	return (msecs);
  834|  23.1k|}
sctp_secs_to_ticks:
  838|  57.7k|{
  839|  57.7k|	uint64_t temp;
  840|  57.7k|	uint32_t ticks;
  841|       |
  842|  57.7k|	temp = (uint64_t)secs * hz;
  843|  57.7k|	if (temp > UINT32_MAX) {
  ------------------
  |  Branch (843:6): [True: 0, False: 57.7k]
  ------------------
  844|      0|		ticks = UINT32_MAX;
  845|  57.7k|	} else {
  846|  57.7k|		ticks = (uint32_t)temp;
  847|  57.7k|	}
  848|  57.7k|	return (ticks);
  849|  57.7k|}
sctp_stop_timers_for_shutdown:
  873|     54|{
  874|     54|	struct sctp_inpcb *inp;
  875|     54|	struct sctp_nets *net;
  876|       |
  877|     54|	inp = stcb->sctp_ep;
  878|       |
  879|     54|	sctp_timer_stop(SCTP_TIMER_TYPE_RECV, inp, stcb, NULL,
  ------------------
  |  |  534|     54|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
  880|     54|	                SCTP_FROM_SCTPUTIL + SCTP_LOC_12);
  ------------------
  |  |  760|     54|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              	                SCTP_FROM_SCTPUTIL + SCTP_LOC_12);
  ------------------
  |  |  780|     54|#define SCTP_LOC_12 0x0000000c
  ------------------
  881|     54|	sctp_timer_stop(SCTP_TIMER_TYPE_STRRESET, inp, stcb, NULL,
  ------------------
  |  |  544|     54|#define SCTP_TIMER_TYPE_STRRESET	13
  ------------------
  882|     54|	                SCTP_FROM_SCTPUTIL + SCTP_LOC_13);
  ------------------
  |  |  760|     54|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              	                SCTP_FROM_SCTPUTIL + SCTP_LOC_13);
  ------------------
  |  |  781|     54|#define SCTP_LOC_13 0x0000000d
  ------------------
  883|     54|	sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, inp, stcb, NULL,
  ------------------
  |  |  541|     54|#define SCTP_TIMER_TYPE_ASCONF		10
  ------------------
  884|     54|	                SCTP_FROM_SCTPUTIL + SCTP_LOC_14);
  ------------------
  |  |  760|     54|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              	                SCTP_FROM_SCTPUTIL + SCTP_LOC_14);
  ------------------
  |  |  782|     54|#define SCTP_LOC_14 0x0000000e
  ------------------
  885|     54|	sctp_timer_stop(SCTP_TIMER_TYPE_AUTOCLOSE, inp, stcb, NULL,
  ------------------
  |  |  543|     54|#define SCTP_TIMER_TYPE_AUTOCLOSE	12
  ------------------
  886|     54|	                SCTP_FROM_SCTPUTIL + SCTP_LOC_15);
  ------------------
  |  |  760|     54|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              	                SCTP_FROM_SCTPUTIL + SCTP_LOC_15);
  ------------------
  |  |  783|     54|#define SCTP_LOC_15 0x0000000f
  ------------------
  887|    171|	TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
  888|    171|		sctp_timer_stop(SCTP_TIMER_TYPE_PATHMTURAISE, inp, stcb, net,
  ------------------
  |  |  539|    171|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
  889|    171|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_16);
  ------------------
  |  |  760|    171|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_16);
  ------------------
  |  |  784|    171|#define SCTP_LOC_16 0x00000010
  ------------------
  890|    171|		sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net,
  ------------------
  |  |  536|    171|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
  891|    171|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_17);
  ------------------
  |  |  760|    171|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_17);
  ------------------
  |  |  785|    171|#define SCTP_LOC_17 0x00000011
  ------------------
  892|    171|	}
  893|     54|}
sctp_stop_association_timers:
  897|  23.1k|{
  898|  23.1k|	struct sctp_inpcb *inp;
  899|  23.1k|	struct sctp_nets *net;
  900|       |
  901|  23.1k|	inp = stcb->sctp_ep;
  902|  23.1k|	sctp_timer_stop(SCTP_TIMER_TYPE_RECV, inp, stcb, NULL,
  ------------------
  |  |  534|  23.1k|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
  903|  23.1k|	                SCTP_FROM_SCTPUTIL + SCTP_LOC_18);
  ------------------
  |  |  760|  23.1k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              	                SCTP_FROM_SCTPUTIL + SCTP_LOC_18);
  ------------------
  |  |  786|  23.1k|#define SCTP_LOC_18 0x00000012
  ------------------
  904|  23.1k|	sctp_timer_stop(SCTP_TIMER_TYPE_STRRESET, inp, stcb, NULL,
  ------------------
  |  |  544|  23.1k|#define SCTP_TIMER_TYPE_STRRESET	13
  ------------------
  905|  23.1k|	                SCTP_FROM_SCTPUTIL + SCTP_LOC_19);
  ------------------
  |  |  760|  23.1k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              	                SCTP_FROM_SCTPUTIL + SCTP_LOC_19);
  ------------------
  |  |  787|  23.1k|#define SCTP_LOC_19 0x00000013
  ------------------
  906|  23.1k|	if (stop_assoc_kill_timer) {
  ------------------
  |  Branch (906:6): [True: 11.5k, False: 11.5k]
  ------------------
  907|  11.5k|		sctp_timer_stop(SCTP_TIMER_TYPE_ASOCKILL, inp, stcb, NULL,
  ------------------
  |  |  546|  11.5k|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
  908|  11.5k|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_20);
  ------------------
  |  |  760|  11.5k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_20);
  ------------------
  |  |  788|  11.5k|#define SCTP_LOC_20 0x00000014
  ------------------
  909|  11.5k|	}
  910|  23.1k|	sctp_timer_stop(SCTP_TIMER_TYPE_ASCONF, inp, stcb, NULL,
  ------------------
  |  |  541|  23.1k|#define SCTP_TIMER_TYPE_ASCONF		10
  ------------------
  911|  23.1k|	                SCTP_FROM_SCTPUTIL + SCTP_LOC_21);
  ------------------
  |  |  760|  23.1k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              	                SCTP_FROM_SCTPUTIL + SCTP_LOC_21);
  ------------------
  |  |  789|  23.1k|#define SCTP_LOC_21 0x00000015
  ------------------
  912|  23.1k|	sctp_timer_stop(SCTP_TIMER_TYPE_AUTOCLOSE, inp, stcb, NULL,
  ------------------
  |  |  543|  23.1k|#define SCTP_TIMER_TYPE_AUTOCLOSE	12
  ------------------
  913|  23.1k|	                SCTP_FROM_SCTPUTIL + SCTP_LOC_22);
  ------------------
  |  |  760|  23.1k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              	                SCTP_FROM_SCTPUTIL + SCTP_LOC_22);
  ------------------
  |  |  790|  23.1k|#define SCTP_LOC_22 0x00000016
  ------------------
  914|  23.1k|	sctp_timer_stop(SCTP_TIMER_TYPE_SHUTDOWNGUARD, inp, stcb, NULL,
  ------------------
  |  |  542|  23.1k|#define SCTP_TIMER_TYPE_SHUTDOWNGUARD	11
  ------------------
  915|  23.1k|	                SCTP_FROM_SCTPUTIL + SCTP_LOC_23);
  ------------------
  |  |  760|  23.1k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              	                SCTP_FROM_SCTPUTIL + SCTP_LOC_23);
  ------------------
  |  |  791|  23.1k|#define SCTP_LOC_23 0x00000017
  ------------------
  916|       |	/* Mobility adaptation */
  917|  23.1k|	sctp_timer_stop(SCTP_TIMER_TYPE_PRIM_DELETED, inp, stcb, NULL,
  ------------------
  |  |  548|  23.1k|#define SCTP_TIMER_TYPE_PRIM_DELETED	17
  ------------------
  918|  23.1k|	                SCTP_FROM_SCTPUTIL + SCTP_LOC_24);
  ------------------
  |  |  760|  23.1k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              	                SCTP_FROM_SCTPUTIL + SCTP_LOC_24);
  ------------------
  |  |  792|  23.1k|#define SCTP_LOC_24 0x00000018
  ------------------
  919|  33.0k|	TAILQ_FOREACH(net, &stcb->asoc.nets, sctp_next) {
  920|  33.0k|		sctp_timer_stop(SCTP_TIMER_TYPE_SEND, inp, stcb, net,
  ------------------
  |  |  532|  33.0k|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
  921|  33.0k|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_25);
  ------------------
  |  |  760|  33.0k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_25);
  ------------------
  |  |  793|  33.0k|#define SCTP_LOC_25 0x00000019
  ------------------
  922|  33.0k|		sctp_timer_stop(SCTP_TIMER_TYPE_INIT, inp, stcb, net,
  ------------------
  |  |  533|  33.0k|#define SCTP_TIMER_TYPE_INIT		2
  ------------------
  923|  33.0k|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_26);
  ------------------
  |  |  760|  33.0k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_26);
  ------------------
  |  |  794|  33.0k|#define SCTP_LOC_26 0x0000001a
  ------------------
  924|  33.0k|		sctp_timer_stop(SCTP_TIMER_TYPE_SHUTDOWN, inp, stcb, net,
  ------------------
  |  |  535|  33.0k|#define SCTP_TIMER_TYPE_SHUTDOWN	4
  ------------------
  925|  33.0k|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_27);
  ------------------
  |  |  760|  33.0k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_27);
  ------------------
  |  |  795|  33.0k|#define SCTP_LOC_27 0x0000001b
  ------------------
  926|  33.0k|		sctp_timer_stop(SCTP_TIMER_TYPE_COOKIE, inp, stcb, net,
  ------------------
  |  |  537|  33.0k|#define SCTP_TIMER_TYPE_COOKIE		6
  ------------------
  927|  33.0k|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_28);
  ------------------
  |  |  760|  33.0k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_28);
  ------------------
  |  |  796|  33.0k|#define SCTP_LOC_28 0x0000001c
  ------------------
  928|  33.0k|		sctp_timer_stop(SCTP_TIMER_TYPE_SHUTDOWNACK, inp, stcb, net,
  ------------------
  |  |  540|  33.0k|#define SCTP_TIMER_TYPE_SHUTDOWNACK	9
  ------------------
  929|  33.0k|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_29);
  ------------------
  |  |  760|  33.0k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_29);
  ------------------
  |  |  797|  33.0k|#define SCTP_LOC_29 0x0000001d
  ------------------
  930|  33.0k|		sctp_timer_stop(SCTP_TIMER_TYPE_PATHMTURAISE, inp, stcb, net,
  ------------------
  |  |  539|  33.0k|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
  931|  33.0k|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_30);
  ------------------
  |  |  760|  33.0k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_30);
  ------------------
  |  |  798|  33.0k|#define SCTP_LOC_30 0x0000001e
  ------------------
  932|  33.0k|		sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net,
  ------------------
  |  |  536|  33.0k|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
  933|  33.0k|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_31);
  ------------------
  |  |  760|  33.0k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_31);
  ------------------
  |  |  799|  33.0k|#define SCTP_LOC_31 0x0000001f
  ------------------
  934|  33.0k|	}
  935|  23.1k|}
sctp_fill_random_store:
 1012|  39.8k|{
 1013|       |	/*
 1014|       |	 * Here we use the MD5/SHA-1 to hash with our good randomNumbers and
 1015|       |	 * our counter. The result becomes our good random numbers and we
 1016|       |	 * then setup to give these out. Note that we do no locking to
 1017|       |	 * protect this. This is ok, since if competing folks call this we
 1018|       |	 * will get more gobbled gook in the random store which is what we
 1019|       |	 * want. There is a danger that two guys will use the same random
 1020|       |	 * numbers, but thats ok too since that is random as well :->
 1021|       |	 */
 1022|  39.8k|	m->store_at = 0;
 1023|  39.8k|#if defined(__Userspace__) && defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
 1024|   837k|	for (int i = 0; i < (int) (sizeof(m->random_store) / sizeof(m->random_store[0])); i++) {
  ------------------
  |  Branch (1024:18): [True: 797k, False: 39.8k]
  ------------------
 1025|   797k|		m->random_store[i] = (uint8_t) rand();
 1026|   797k|	}
 1027|       |#else
 1028|       |	(void)sctp_hmac(SCTP_HMAC, (uint8_t *)m->random_numbers,
 1029|       |	    sizeof(m->random_numbers), (uint8_t *)&m->random_counter,
 1030|       |	    sizeof(m->random_counter), (uint8_t *)m->random_store);
 1031|       |#endif
 1032|  39.8k|	m->random_counter++;
 1033|  39.8k|}
sctp_select_initial_TSN:
 1037|   175k|{
 1038|       |	/*
 1039|       |	 * A true implementation should use random selection process to get
 1040|       |	 * the initial stream sequence number, using RFC1750 as a good
 1041|       |	 * guideline
 1042|       |	 */
 1043|   175k|	uint32_t x, *xp;
 1044|   175k|	uint8_t *p;
 1045|   175k|	int store_at, new_store;
 1046|       |
 1047|   175k|	if (inp->initial_sequence_debug != 0) {
  ------------------
  |  Branch (1047:6): [True: 0, False: 175k]
  ------------------
 1048|      0|		uint32_t ret;
 1049|       |
 1050|      0|		ret = inp->initial_sequence_debug;
 1051|      0|		inp->initial_sequence_debug++;
 1052|      0|		return (ret);
 1053|      0|	}
 1054|   175k| retry:
 1055|   175k|	store_at = inp->store_at;
 1056|   175k|	new_store = store_at + sizeof(uint32_t);
 1057|   175k|	if (new_store >= (SCTP_SIGNATURE_SIZE-3)) {
  ------------------
  |  |  300|   175k|#define SCTP_SIGNATURE_SIZE	SCTP_AUTH_DIGEST_LEN_SHA1
  |  |  ------------------
  |  |  |  |   41|   175k|#define SCTP_AUTH_DIGEST_LEN_SHA1	20
  |  |  ------------------
  ------------------
  |  Branch (1057:6): [True: 28.3k, False: 147k]
  ------------------
 1058|  28.3k|		new_store = 0;
 1059|  28.3k|	}
 1060|   175k|	if (!atomic_cmpset_int(&inp->store_at, store_at, new_store)) {
  ------------------
  |  |  113|   175k|#define atomic_cmpset_int(dst, exp, src) __sync_bool_compare_and_swap(dst, exp, src)
  ------------------
  |  Branch (1060:6): [True: 0, False: 175k]
  ------------------
 1061|      0|		goto retry;
 1062|      0|	}
 1063|   175k|	if (new_store == 0) {
  ------------------
  |  Branch (1063:6): [True: 28.3k, False: 147k]
  ------------------
 1064|       |		/* Refill the random store */
 1065|  28.3k|		sctp_fill_random_store(inp);
 1066|  28.3k|	}
 1067|   175k|	p = &inp->random_store[store_at];
 1068|   175k|	xp = (uint32_t *)p;
 1069|   175k|	x = *xp;
 1070|   175k|	return (x);
 1071|   175k|}
sctp_select_a_tag:
 1075|  52.0k|{
 1076|  52.0k|	uint32_t x;
 1077|  52.0k|	struct timeval now;
 1078|       |
 1079|  52.0k|	if (check) {
  ------------------
  |  Branch (1079:6): [True: 28.9k, False: 23.1k]
  ------------------
 1080|  28.9k|		(void)SCTP_GETTIME_TIMEVAL(&now);
  ------------------
  |  |  991|  28.9k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 1081|  28.9k|	}
 1082|  52.0k|	for (;;) {
 1083|  52.0k|		x = sctp_select_initial_TSN(&inp->sctp_ep);
 1084|  52.0k|		if (x == 0) {
  ------------------
  |  Branch (1084:7): [True: 0, False: 52.0k]
  ------------------
 1085|       |			/* we never use 0 */
 1086|      0|			continue;
 1087|      0|		}
 1088|  52.0k|		if (!check || sctp_is_vtag_good(x, lport, rport, &now)) {
  ------------------
  |  Branch (1088:7): [True: 23.1k, False: 28.9k]
  |  Branch (1088:17): [True: 28.9k, False: 0]
  ------------------
 1089|  52.0k|			break;
 1090|  52.0k|		}
 1091|  52.0k|	}
 1092|  52.0k|	return (x);
 1093|  52.0k|}
sctp_init_asoc:
 1142|  11.5k|{
 1143|  11.5k|	struct sctp_association *asoc;
 1144|       |	/*
 1145|       |	 * Anything set to zero is taken care of by the allocation routine's
 1146|       |	 * bzero
 1147|       |	 */
 1148|       |
 1149|       |	/*
 1150|       |	 * Up front select what scoping to apply on addresses I tell my peer
 1151|       |	 * Not sure what to do with these right now, we will need to come up
 1152|       |	 * with a way to set them. We may need to pass them through from the
 1153|       |	 * caller in the sctp_aloc_assoc() function.
 1154|       |	 */
 1155|  11.5k|	int i;
 1156|       |#if defined(SCTP_DETAILED_STR_STATS)
 1157|       |	int j;
 1158|       |#endif
 1159|       |
 1160|  11.5k|	asoc = &stcb->asoc;
 1161|       |	/* init all variables to a known value. */
 1162|  11.5k|	SCTP_SET_STATE(stcb, SCTP_STATE_INUSE);
  ------------------
  |  |  474|  11.5k|	sctp_set_state(_stcb, _state)
  ------------------
 1163|  11.5k|	asoc->max_burst = inp->sctp_ep.max_burst;
 1164|  11.5k|	asoc->fr_max_burst = inp->sctp_ep.fr_max_burst;
 1165|  11.5k|	asoc->heart_beat_delay = sctp_ticks_to_msecs(inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_HEARTBEAT]);
  ------------------
  |  |  520|  11.5k|#define SCTP_TIMER_HEARTBEAT	3
  ------------------
 1166|  11.5k|	asoc->cookie_life = inp->sctp_ep.def_cookie_life;
 1167|  11.5k|	asoc->sctp_cmt_on_off = inp->sctp_cmt_on_off;
 1168|  11.5k|	asoc->ecn_supported = inp->ecn_supported;
 1169|  11.5k|	asoc->prsctp_supported = inp->prsctp_supported;
 1170|  11.5k|	asoc->auth_supported = inp->auth_supported;
 1171|  11.5k|	asoc->asconf_supported = inp->asconf_supported;
 1172|  11.5k|	asoc->reconfig_supported = inp->reconfig_supported;
 1173|  11.5k|	asoc->nrsack_supported = inp->nrsack_supported;
 1174|  11.5k|	asoc->pktdrop_supported = inp->pktdrop_supported;
 1175|  11.5k|	asoc->idata_supported = inp->idata_supported;
 1176|  11.5k|	asoc->rcv_edmid = inp->rcv_edmid;
 1177|  11.5k|	asoc->snd_edmid = SCTP_EDMID_NONE;
  ------------------
  |  |  809|  11.5k|#define SCTP_EDMID_NONE             0
  ------------------
 1178|  11.5k|	asoc->sctp_cmt_pf = (uint8_t)0;
 1179|  11.5k|	asoc->sctp_frag_point = inp->sctp_frag_point;
 1180|  11.5k|	asoc->sctp_features = inp->sctp_features;
 1181|  11.5k|	asoc->default_dscp = inp->sctp_ep.default_dscp;
 1182|  11.5k|	asoc->max_cwnd = inp->max_cwnd;
 1183|  11.5k|#ifdef INET6
 1184|  11.5k|	if (inp->sctp_ep.default_flowlabel) {
  ------------------
  |  Branch (1184:6): [True: 0, False: 11.5k]
  ------------------
 1185|      0|		asoc->default_flowlabel = inp->sctp_ep.default_flowlabel;
 1186|  11.5k|	} else {
 1187|  11.5k|		if (inp->ip_inp.inp.inp_flags & IN6P_AUTOFLOWLABEL) {
  ------------------
  |  |  299|  11.5k|#define	IN6P_AUTOFLOWLABEL	0x800000 /* attach flowlabel automatically */
  ------------------
  |  Branch (1187:7): [True: 0, False: 11.5k]
  ------------------
 1188|      0|			asoc->default_flowlabel = sctp_select_initial_TSN(&inp->sctp_ep);
 1189|      0|			asoc->default_flowlabel &= 0x000fffff;
 1190|      0|			asoc->default_flowlabel |= 0x80000000;
 1191|  11.5k|		} else {
 1192|  11.5k|			asoc->default_flowlabel = 0;
 1193|  11.5k|		}
 1194|  11.5k|	}
 1195|  11.5k|#endif
 1196|  11.5k|	asoc->sb_send_resv = 0;
 1197|  11.5k|	if (override_tag) {
  ------------------
  |  Branch (1197:6): [True: 0, False: 11.5k]
  ------------------
 1198|      0|		asoc->my_vtag = override_tag;
 1199|  11.5k|	} else {
 1200|  11.5k|		asoc->my_vtag = sctp_select_a_tag(inp, stcb->sctp_ep->sctp_lport, stcb->rport,  1);
  ------------------
  |  |  426|  11.5k|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|  11.5k|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|  11.5k|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1201|  11.5k|	}
 1202|       |	/* Get the nonce tags */
 1203|  11.5k|	asoc->my_vtag_nonce = sctp_select_a_tag(inp, stcb->sctp_ep->sctp_lport, stcb->rport, 0);
  ------------------
  |  |  426|  11.5k|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|  11.5k|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|  11.5k|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1204|  11.5k|	asoc->peer_vtag_nonce = sctp_select_a_tag(inp, stcb->sctp_ep->sctp_lport, stcb->rport, 0);
  ------------------
  |  |  426|  11.5k|#define sctp_lport ip_inp.inp.inp_lport
  |  |  ------------------
  |  |  |  |  145|  11.5k|#define	inp_lport	inp_inc.inc_lport
  |  |  |  |  ------------------
  |  |  |  |  |  |   98|  11.5k|#define	inc_lport	inc_ie.ie_lport
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1205|  11.5k|	asoc->vrf_id = vrf_id;
 1206|       |
 1207|       |#ifdef SCTP_ASOCLOG_OF_TSNS
 1208|       |	asoc->tsn_in_at = 0;
 1209|       |	asoc->tsn_out_at = 0;
 1210|       |	asoc->tsn_in_wrapped = 0;
 1211|       |	asoc->tsn_out_wrapped = 0;
 1212|       |	asoc->cumack_log_at = 0;
 1213|       |	asoc->cumack_log_atsnt = 0;
 1214|       |#endif
 1215|       |#ifdef SCTP_FS_SPEC_LOG
 1216|       |	asoc->fs_index = 0;
 1217|       |#endif
 1218|  11.5k|	asoc->refcnt = 0;
 1219|  11.5k|	asoc->assoc_up_sent = 0;
 1220|  11.5k|	if (override_tag) {
  ------------------
  |  Branch (1220:6): [True: 0, False: 11.5k]
  ------------------
 1221|      0|		asoc->init_seq_number = initial_tsn;
 1222|  11.5k|	} else {
 1223|  11.5k|		asoc->init_seq_number = sctp_select_initial_TSN(&inp->sctp_ep);
 1224|  11.5k|	}
 1225|  11.5k|	asoc->asconf_seq_out = asoc->init_seq_number;
 1226|  11.5k|	asoc->str_reset_seq_out = asoc->init_seq_number;
 1227|  11.5k|	asoc->sending_seq = asoc->init_seq_number;
 1228|  11.5k|	asoc->asconf_seq_out_acked = asoc->init_seq_number - 1;
 1229|       |	/* we are optimistic here */
 1230|  11.5k|	asoc->peer_supports_nat = 0;
 1231|  11.5k|	asoc->sent_queue_retran_cnt = 0;
 1232|       |
 1233|       |	/* for CMT */
 1234|  11.5k|	asoc->last_net_cmt_send_started = NULL;
 1235|       |
 1236|  11.5k|	asoc->last_acked_seq = asoc->init_seq_number - 1;
 1237|  11.5k|	asoc->advanced_peer_ack_point = asoc->init_seq_number - 1;
 1238|  11.5k|	asoc->asconf_seq_in = asoc->init_seq_number - 1;
 1239|       |
 1240|       |	/* here we are different, we hold the next one we expect */
 1241|  11.5k|	asoc->str_reset_seq_in = asoc->init_seq_number;
 1242|       |
 1243|  11.5k|	asoc->initial_init_rto_max = inp->sctp_ep.initial_init_rto_max;
 1244|  11.5k|	asoc->initial_rto = inp->sctp_ep.initial_rto;
 1245|       |
 1246|  11.5k|	asoc->default_mtu = inp->sctp_ep.default_mtu;
 1247|  11.5k|	asoc->max_init_times = inp->sctp_ep.max_init_times;
 1248|  11.5k|	asoc->max_send_times = inp->sctp_ep.max_send_times;
 1249|  11.5k|	asoc->def_net_failure = inp->sctp_ep.def_net_failure;
 1250|  11.5k|	asoc->def_net_pf_threshold = inp->sctp_ep.def_net_pf_threshold;
 1251|  11.5k|	asoc->free_chunk_cnt = 0;
 1252|       |
 1253|  11.5k|	asoc->iam_blocking = 0;
 1254|  11.5k|	asoc->context = inp->sctp_context;
 1255|  11.5k|	asoc->local_strreset_support = inp->local_strreset_support;
 1256|  11.5k|	asoc->def_send = inp->def_send;
 1257|  11.5k|	asoc->delayed_ack = sctp_ticks_to_msecs(inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_RECV]);
  ------------------
  |  |  518|  11.5k|#define SCTP_TIMER_RECV 	1
  ------------------
 1258|  11.5k|	asoc->sack_freq = inp->sctp_ep.sctp_sack_freq;
 1259|  11.5k|	asoc->pr_sctp_cnt = 0;
 1260|  11.5k|	asoc->total_output_queue_size = 0;
 1261|       |
 1262|  11.5k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_V6) {
  ------------------
  |  |  547|  11.5k|#define SCTP_PCB_FLAGS_BOUND_V6		0x04000000
  ------------------
  |  Branch (1262:6): [True: 0, False: 11.5k]
  ------------------
 1263|      0|		asoc->scope.ipv6_addr_legal = 1;
 1264|      0|		if (SCTP_IPV6_V6ONLY(inp) == 0) {
  ------------------
  |  |  948|      0|#define SCTP_IPV6_V6ONLY(sctp_inpcb)	((sctp_inpcb)->ip_inp.inp.inp_flags & IN6P_IPV6_V6ONLY)
  |  |  ------------------
  |  |  |  |  290|      0|#define IN6P_IPV6_V6ONLY	0x008000 /* restrict AF_INET6 socket for v6 */
  |  |  ------------------
  ------------------
  |  Branch (1264:7): [True: 0, False: 0]
  ------------------
 1265|      0|			asoc->scope.ipv4_addr_legal = 1;
 1266|      0|		} else {
 1267|      0|			asoc->scope.ipv4_addr_legal = 0;
 1268|      0|		}
 1269|      0|#if defined(__Userspace__)
 1270|      0|			asoc->scope.conn_addr_legal = 0;
 1271|      0|#endif
 1272|  11.5k|	} else {
 1273|  11.5k|		asoc->scope.ipv6_addr_legal = 0;
 1274|  11.5k|#if defined(__Userspace__)
 1275|  11.5k|		if (inp->sctp_flags & SCTP_PCB_FLAGS_BOUND_CONN) {
  ------------------
  |  |  553|  11.5k|#define SCTP_PCB_FLAGS_BOUND_CONN       0x80000000
  ------------------
  |  Branch (1275:7): [True: 11.5k, False: 0]
  ------------------
 1276|  11.5k|			asoc->scope.conn_addr_legal = 1;
 1277|  11.5k|			asoc->scope.ipv4_addr_legal = 0;
 1278|  11.5k|		} else {
 1279|      0|			asoc->scope.conn_addr_legal = 0;
 1280|      0|			asoc->scope.ipv4_addr_legal = 1;
 1281|      0|		}
 1282|       |#else
 1283|       |		asoc->scope.ipv4_addr_legal = 1;
 1284|       |#endif
 1285|  11.5k|	}
 1286|       |
 1287|  11.5k|	asoc->my_rwnd = max(SCTP_SB_LIMIT_RCV(inp->sctp_socket), SCTP_MINIMAL_RWND);
  ------------------
  |  |   67|  11.5k|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  ------------------
  |  |  |  Branch (67:19): [True: 11.5k, False: 0]
  |  |  ------------------
  ------------------
 1288|  11.5k|	asoc->peers_rwnd = SCTP_SB_LIMIT_RCV(inp->sctp_socket);
  ------------------
  |  |  977|  11.5k|#define SCTP_SB_LIMIT_RCV(so) so->so_rcv.sb_hiwat
  ------------------
 1289|       |
 1290|  11.5k|	asoc->smallest_mtu = 0;
 1291|  11.5k|	asoc->minrto = inp->sctp_ep.sctp_minrto;
 1292|  11.5k|	asoc->maxrto = inp->sctp_ep.sctp_maxrto;
 1293|       |
 1294|  11.5k|	asoc->stream_locked_on = 0;
 1295|  11.5k|	asoc->ecn_echo_cnt_onq = 0;
 1296|  11.5k|	asoc->stream_locked = 0;
 1297|       |
 1298|  11.5k|	asoc->send_sack = 1;
 1299|       |
 1300|  11.5k|	LIST_INIT(&asoc->sctp_restricted_addrs);
 1301|       |
 1302|  11.5k|	TAILQ_INIT(&asoc->nets);
 1303|  11.5k|	TAILQ_INIT(&asoc->pending_reply_queue);
 1304|  11.5k|	TAILQ_INIT(&asoc->asconf_ack_sent);
 1305|       |	/* Setup to fill the hb random cache at first HB */
 1306|  11.5k|	asoc->hb_random_idx = 4;
 1307|       |
 1308|  11.5k|	asoc->sctp_autoclose_ticks = inp->sctp_ep.auto_close_time;
 1309|       |
 1310|  11.5k|	stcb->asoc.congestion_control_module = inp->sctp_ep.sctp_default_cc_module;
 1311|  11.5k|	stcb->asoc.cc_functions = sctp_cc_functions[inp->sctp_ep.sctp_default_cc_module];
 1312|       |
 1313|  11.5k|	stcb->asoc.stream_scheduling_module = inp->sctp_ep.sctp_default_ss_module;
 1314|  11.5k|	stcb->asoc.ss_functions = sctp_ss_functions[inp->sctp_ep.sctp_default_ss_module];
 1315|       |
 1316|       |	/*
 1317|       |	 * Now the stream parameters, here we allocate space for all streams
 1318|       |	 * that we request by default.
 1319|       |	 */
 1320|  11.5k|	asoc->strm_realoutsize = asoc->streamoutcnt = asoc->pre_open_streams =
 1321|  11.5k|	    o_strms;
 1322|  11.5k|	SCTP_MALLOC(asoc->strmout, struct sctp_stream_out *,
  ------------------
  |  |  669|  11.5k|	do {								\
  |  |  670|  11.5k|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|  11.5k|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|  11.5k|    do {								\
  |  |  |  |  198|  11.5k|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  23.1k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|  11.5k|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|  11.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1323|  11.5k|		    asoc->streamoutcnt * sizeof(struct sctp_stream_out),
 1324|  11.5k|		    SCTP_M_STRMO);
 1325|  11.5k|	if (asoc->strmout == NULL) {
  ------------------
  |  Branch (1325:6): [True: 0, False: 11.5k]
  ------------------
 1326|       |		/* big trouble no memory */
 1327|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTPUTIL, ENOMEM);
 1328|      0|		return (ENOMEM);
 1329|      0|	}
 1330|  11.5k|	SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|  11.5k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1331|  2.98M|	for (i = 0; i < asoc->streamoutcnt; i++) {
  ------------------
  |  Branch (1331:14): [True: 2.97M, False: 11.5k]
  ------------------
 1332|       |		/*
 1333|       |		 * inbound side must be set to 0xffff, also NOTE when we get
 1334|       |		 * the INIT-ACK back (for INIT sender) we MUST reduce the
 1335|       |		 * count (streamoutcnt) but first check if we sent to any of
 1336|       |		 * the upper streams that were dropped (if some were). Those
 1337|       |		 * that were dropped must be notified to the upper layer as
 1338|       |		 * failed to send.
 1339|       |		 */
 1340|  2.97M|		TAILQ_INIT(&asoc->strmout[i].outqueue);
 1341|  2.97M|		asoc->ss_functions.sctp_ss_init_stream(stcb, &asoc->strmout[i], NULL);
 1342|  2.97M|		asoc->strmout[i].chunks_on_queues = 0;
 1343|       |#if defined(SCTP_DETAILED_STR_STATS)
 1344|       |		for (j = 0; j < SCTP_PR_SCTP_MAX + 1; j++) {
 1345|       |			asoc->strmout[i].abandoned_sent[j] = 0;
 1346|       |			asoc->strmout[i].abandoned_unsent[j] = 0;
 1347|       |		}
 1348|       |#else
 1349|  2.97M|		asoc->strmout[i].abandoned_sent[0] = 0;
 1350|  2.97M|		asoc->strmout[i].abandoned_unsent[0] = 0;
 1351|  2.97M|#endif
 1352|  2.97M|		asoc->strmout[i].next_mid_ordered = 0;
 1353|  2.97M|		asoc->strmout[i].next_mid_unordered = 0;
 1354|  2.97M|		asoc->strmout[i].sid = i;
 1355|  2.97M|		asoc->strmout[i].last_msg_incomplete = 0;
 1356|  2.97M|		asoc->strmout[i].state = SCTP_STREAM_OPENING;
  ------------------
  |  |  669|  2.97M|#define SCTP_STREAM_OPENING          0x01
  ------------------
 1357|  2.97M|	}
 1358|  11.5k|	asoc->ss_functions.sctp_ss_init(stcb, asoc);
 1359|  11.5k|	SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|  11.5k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1360|       |
 1361|       |	/* Now the mapping array */
 1362|  11.5k|	asoc->mapping_array_size = SCTP_INITIAL_MAPPING_ARRAY;
  ------------------
  |  |  509|  11.5k|#define SCTP_INITIAL_MAPPING_ARRAY  16
  ------------------
 1363|  11.5k|	SCTP_MALLOC(asoc->mapping_array, uint8_t *, asoc->mapping_array_size,
  ------------------
  |  |  669|  11.5k|	do {								\
  |  |  670|  11.5k|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|  11.5k|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|  11.5k|    do {								\
  |  |  |  |  198|  11.5k|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  23.1k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|  11.5k|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|  11.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1364|  11.5k|		    SCTP_M_MAP);
 1365|  11.5k|	if (asoc->mapping_array == NULL) {
  ------------------
  |  Branch (1365:6): [True: 0, False: 11.5k]
  ------------------
 1366|      0|		SCTP_FREE(asoc->strmout, SCTP_M_STRMO);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 1367|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTPUTIL, ENOMEM);
 1368|      0|		return (ENOMEM);
 1369|      0|	}
 1370|  11.5k|	memset(asoc->mapping_array, 0, asoc->mapping_array_size);
 1371|  11.5k|	SCTP_MALLOC(asoc->nr_mapping_array, uint8_t *, asoc->mapping_array_size,
  ------------------
  |  |  669|  11.5k|	do {								\
  |  |  670|  11.5k|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|  11.5k|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|  11.5k|    do {								\
  |  |  |  |  198|  11.5k|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  23.1k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|  11.5k|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|  11.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1372|  11.5k|	    SCTP_M_MAP);
 1373|  11.5k|	if (asoc->nr_mapping_array == NULL) {
  ------------------
  |  Branch (1373:6): [True: 0, False: 11.5k]
  ------------------
 1374|      0|		SCTP_FREE(asoc->strmout, SCTP_M_STRMO);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 1375|      0|		SCTP_FREE(asoc->mapping_array, SCTP_M_MAP);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 1376|      0|		SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTPUTIL, ENOMEM);
 1377|      0|		return (ENOMEM);
 1378|      0|	}
 1379|  11.5k|	memset(asoc->nr_mapping_array, 0, asoc->mapping_array_size);
 1380|       |
 1381|       |	/* Now the init of the other outqueues */
 1382|  11.5k|	TAILQ_INIT(&asoc->free_chunks);
 1383|  11.5k|	TAILQ_INIT(&asoc->control_send_queue);
 1384|  11.5k|	TAILQ_INIT(&asoc->asconf_send_queue);
 1385|  11.5k|	TAILQ_INIT(&asoc->send_queue);
 1386|  11.5k|	TAILQ_INIT(&asoc->sent_queue);
 1387|  11.5k|	TAILQ_INIT(&asoc->resetHead);
 1388|  11.5k|	asoc->max_inbound_streams = inp->sctp_ep.max_open_streams_intome;
 1389|  11.5k|	TAILQ_INIT(&asoc->asconf_queue);
 1390|       |	/* authentication fields */
 1391|  11.5k|	asoc->authinfo.random = NULL;
 1392|  11.5k|	asoc->authinfo.active_keyid = 0;
 1393|  11.5k|	asoc->authinfo.assoc_key = NULL;
 1394|  11.5k|	asoc->authinfo.assoc_keyid = 0;
 1395|  11.5k|	asoc->authinfo.recv_key = NULL;
 1396|  11.5k|	asoc->authinfo.recv_keyid = 0;
 1397|  11.5k|	LIST_INIT(&asoc->shared_keys);
 1398|  11.5k|	asoc->marked_retrans = 0;
 1399|  11.5k|	asoc->port = inp->sctp_ep.port;
 1400|  11.5k|	asoc->timoinit = 0;
 1401|  11.5k|	asoc->timodata = 0;
 1402|  11.5k|	asoc->timosack = 0;
 1403|  11.5k|	asoc->timoshutdown = 0;
 1404|  11.5k|	asoc->timoheartbeat = 0;
 1405|  11.5k|	asoc->timocookie = 0;
 1406|  11.5k|	asoc->timoshutdownack = 0;
 1407|  11.5k|	(void)SCTP_GETTIME_TIMEVAL(&asoc->start_time);
  ------------------
  |  |  991|  11.5k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 1408|  11.5k|	asoc->discontinuity_time = asoc->start_time;
 1409|  57.7k|	for (i = 0; i < SCTP_PR_SCTP_MAX + 1; i++) {
  ------------------
  |  |  277|  57.7k|#define SCTP_PR_SCTP_MAX  SCTP_PR_SCTP_RTX
  |  |  ------------------
  |  |  |  |  276|  57.7k|#define SCTP_PR_SCTP_RTX  0x0003 /* Number of retransmissions based PR-SCTP */
  |  |  ------------------
  ------------------
  |  Branch (1409:14): [True: 46.2k, False: 11.5k]
  ------------------
 1410|  46.2k|		asoc->abandoned_unsent[i] = 0;
 1411|  46.2k|		asoc->abandoned_sent[i] = 0;
 1412|  46.2k|	}
 1413|       |	/* sa_ignore MEMLEAK {memory is put in the assoc mapping array and freed later when
 1414|       |	 * the association is freed.
 1415|       |	 */
 1416|  11.5k|	return (0);
 1417|  11.5k|}
sctp_expand_mapping_array:
 1456|  2.46k|{
 1457|       |	/* mapping array needs to grow */
 1458|  2.46k|	uint8_t *new_array1, *new_array2;
 1459|  2.46k|	uint32_t new_size;
 1460|       |
 1461|  2.46k|	new_size = asoc->mapping_array_size + ((needed+7)/8 + SCTP_MAPPING_ARRAY_INCR);
  ------------------
  |  |  511|  2.46k|#define SCTP_MAPPING_ARRAY_INCR     32
  ------------------
 1462|  2.46k|	SCTP_MALLOC(new_array1, uint8_t *, new_size, SCTP_M_MAP);
  ------------------
  |  |  669|  2.46k|	do {								\
  |  |  670|  2.46k|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|  2.46k|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|  2.46k|    do {								\
  |  |  |  |  198|  2.46k|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  4.93k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|  2.46k|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|  2.46k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1463|  2.46k|	SCTP_MALLOC(new_array2, uint8_t *, new_size, SCTP_M_MAP);
  ------------------
  |  |  669|  2.46k|	do {								\
  |  |  670|  2.46k|		MALLOC(var, type, size, name, M_NOWAIT);		\
  |  |  ------------------
  |  |  |  |  196|  2.46k|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  |  |  197|  2.46k|    do {								\
  |  |  |  |  198|  2.46k|        if (flags & M_ZERO) {                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   62|  4.93k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  |  |  200|      0|	}								\
  |  |  |  |  201|  2.46k|    } while (0);
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  671|  2.46k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (671:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1464|  2.46k|	if ((new_array1 == NULL) || (new_array2 == NULL)) {
  ------------------
  |  Branch (1464:6): [True: 0, False: 2.46k]
  |  Branch (1464:30): [True: 0, False: 2.46k]
  ------------------
 1465|       |		/* can't get more, forget it */
 1466|      0|		SCTP_PRINTF("No memory for expansion of SCTP mapping array %d\n", new_size);
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 1467|      0|		if (new_array1) {
  ------------------
  |  Branch (1467:7): [True: 0, False: 0]
  ------------------
 1468|      0|			SCTP_FREE(new_array1, SCTP_M_MAP);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 1469|      0|		}
 1470|      0|		if (new_array2) {
  ------------------
  |  Branch (1470:7): [True: 0, False: 0]
  ------------------
 1471|      0|			SCTP_FREE(new_array2, SCTP_M_MAP);
  ------------------
  |  |  673|      0|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|      0|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 1472|      0|		}
 1473|      0|		return (-1);
 1474|      0|	}
 1475|  2.46k|	memset(new_array1, 0, new_size);
 1476|  2.46k|	memset(new_array2, 0, new_size);
 1477|  2.46k|	memcpy(new_array1, asoc->mapping_array, asoc->mapping_array_size);
 1478|  2.46k|	memcpy(new_array2, asoc->nr_mapping_array, asoc->mapping_array_size);
 1479|  2.46k|	SCTP_FREE(asoc->mapping_array, SCTP_M_MAP);
  ------------------
  |  |  673|  2.46k|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|  2.46k|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 1480|  2.46k|	SCTP_FREE(asoc->nr_mapping_array, SCTP_M_MAP);
  ------------------
  |  |  673|  2.46k|#define SCTP_FREE(var, type)	FREE(var, type)
  |  |  ------------------
  |  |  |  |  191|  2.46k|#define	FREE(addr, type) free((addr))
  |  |  ------------------
  ------------------
 1481|  2.46k|	asoc->mapping_array = new_array1;
 1482|  2.46k|	asoc->nr_mapping_array = new_array2;
 1483|  2.46k|	asoc->mapping_array_size = new_size;
 1484|  2.46k|	return (0);
 1485|  2.46k|}
sctp_timeout_handler:
 1776|  2.14k|{
 1777|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 1778|       |	struct epoch_tracker et;
 1779|       |#endif
 1780|  2.14k|	struct timeval tv;
 1781|  2.14k|	struct sctp_inpcb *inp;
 1782|  2.14k|	struct sctp_tcb *stcb;
 1783|  2.14k|	struct sctp_nets *net;
 1784|  2.14k|	struct sctp_timer *tmr;
 1785|  2.14k|	struct mbuf *op_err;
 1786|       |#if defined(__APPLE__) && !defined(__Userspace__)
 1787|       |	struct socket *so;
 1788|       |#endif
 1789|  2.14k|#if defined(__Userspace__)
 1790|  2.14k|	struct socket *upcall_socket = NULL;
 1791|  2.14k|#endif
 1792|  2.14k|	int type;
 1793|  2.14k|	int i, secret;
 1794|  2.14k|	bool did_output, released_asoc_reference;
 1795|       |
 1796|       |	/*
 1797|       |	 * If inp, stcb or net are not NULL, then references to these were
 1798|       |	 * added when the timer was started, and must be released before this
 1799|       |	 * function returns.
 1800|       |	 */
 1801|  2.14k|	tmr = (struct sctp_timer *)t;
 1802|  2.14k|	inp = (struct sctp_inpcb *)tmr->ep;
 1803|  2.14k|	stcb = (struct sctp_tcb *)tmr->tcb;
 1804|  2.14k|	net = (struct sctp_nets *)tmr->net;
 1805|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 1806|       |	CURVNET_SET((struct vnet *)tmr->vnet);
 1807|       |	NET_EPOCH_ENTER(et);
 1808|       |#endif
 1809|  2.14k|	released_asoc_reference = false;
 1810|       |
 1811|       |#ifdef SCTP_AUDITING_ENABLED
 1812|       |	sctp_audit_log(0xF0, (uint8_t) tmr->type);
 1813|       |	sctp_auditing(3, inp, stcb, net);
 1814|       |#endif
 1815|       |
 1816|       |	/* sanity checks... */
 1817|  2.14k|	KASSERT(tmr->self == NULL || tmr->self == tmr,
  ------------------
  |  |  112|  2.14k|	do {                         \
  |  |  113|  4.28k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 2.14k]
  |  |  |  Branch (113:9): [True: 2.14k, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  2.14k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1818|  2.14k|	        ("sctp_timeout_handler: tmr->self corrupted"));
 1819|  2.14k|	KASSERT(SCTP_IS_TIMER_TYPE_VALID(tmr->type),
  ------------------
  |  |  112|  2.14k|	do {                         \
  |  |  113|  4.28k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 2.14k, False: 0]
  |  |  |  Branch (113:9): [True: 2.14k, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  2.14k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1820|  2.14k|	        ("sctp_timeout_handler: invalid timer type %d", tmr->type));
 1821|  2.14k|	type = tmr->type;
 1822|  2.14k|	KASSERT(stcb == NULL || stcb->sctp_ep == inp,
  ------------------
  |  |  112|  2.14k|	do {                         \
  |  |  113|  4.26k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 21, False: 2.12k]
  |  |  |  Branch (113:9): [True: 2.12k, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  2.14k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1823|  2.14k|	        ("sctp_timeout_handler of type %d: inp = %p, stcb->sctp_ep %p",
 1824|  2.14k|	         type, stcb, stcb->sctp_ep));
 1825|  2.14k|	tmr->stopped_from = 0xa001;
 1826|  2.14k|	if ((stcb != NULL) && (stcb->asoc.state == SCTP_STATE_EMPTY)) {
  ------------------
  |  |  455|  2.12k|#define SCTP_STATE_EMPTY		0x0000
  ------------------
  |  Branch (1826:6): [True: 2.12k, False: 21]
  |  Branch (1826:24): [True: 0, False: 2.12k]
  ------------------
 1827|      0|		SCTPDBG(SCTP_DEBUG_TIMER2,
 1828|      0|		        "Timer type %d handler exiting due to CLOSED association.\n",
 1829|      0|		        type);
 1830|      0|		goto out_decr;
 1831|      0|	}
 1832|  2.14k|	tmr->stopped_from = 0xa002;
 1833|  2.14k|	SCTPDBG(SCTP_DEBUG_TIMER2, "Timer type %d goes off.\n", type);
 1834|  2.14k|	if (!SCTP_OS_TIMER_ACTIVE(&tmr->timer)) {
  ------------------
  |  |  103|  2.14k|#define	SCTP_OS_TIMER_ACTIVE(tmr) ((tmr)->c_flags & SCTP_CALLOUT_ACTIVE)
  |  |  ------------------
  |  |  |  |   82|  2.14k|#define	SCTP_CALLOUT_ACTIVE	0x0002	/* callout is currently active */
  |  |  ------------------
  ------------------
  |  Branch (1834:6): [True: 0, False: 2.14k]
  ------------------
 1835|      0|		SCTPDBG(SCTP_DEBUG_TIMER2,
 1836|      0|			"Timer type %d handler exiting due to not being active.\n",
 1837|      0|			type);
 1838|      0|		goto out_decr;
 1839|      0|	}
 1840|       |
 1841|  2.14k|	tmr->stopped_from = 0xa003;
 1842|  2.14k|	if (stcb) {
  ------------------
  |  Branch (1842:6): [True: 2.12k, False: 21]
  ------------------
 1843|  2.12k|		SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|  2.12k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  2.12k|	do {                         \
  |  |  |  |  113|  2.12k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 2.12k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  2.12k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1844|       |		/*
 1845|       |		 * Release reference so that association can be freed if
 1846|       |		 * necessary below.
 1847|       |		 * This is safe now that we have acquired the lock.
 1848|       |		 */
 1849|  2.12k|		atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|  2.12k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 1850|  2.12k|		released_asoc_reference = true;
 1851|  2.12k|		if ((type != SCTP_TIMER_TYPE_ASOCKILL) &&
  ------------------
  |  |  546|  2.12k|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
  |  Branch (1851:7): [True: 21, False: 2.10k]
  ------------------
 1852|  2.12k|		    ((stcb->asoc.state == SCTP_STATE_EMPTY) ||
  ------------------
  |  |  455|     21|#define SCTP_STATE_EMPTY		0x0000
  ------------------
  |  Branch (1852:8): [True: 0, False: 21]
  ------------------
 1853|     21|		     (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED))) {
  ------------------
  |  |  465|     21|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (1853:8): [True: 21, False: 0]
  ------------------
 1854|     21|			SCTPDBG(SCTP_DEBUG_TIMER2,
 1855|     21|			        "Timer type %d handler exiting due to CLOSED association.\n",
 1856|     21|			        type);
 1857|     21|			goto out;
 1858|     21|		}
 1859|  2.12k|	} else if (inp != NULL) {
  ------------------
  |  Branch (1859:13): [True: 21, False: 0]
  ------------------
 1860|     21|		SCTP_INP_WLOCK(inp);
  ------------------
  |  |  378|     21|	KASSERT(pthread_mutex_lock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     21|	do {                         \
  |  |  |  |  113|     21|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 21]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     21|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1861|     21|	} else {
 1862|      0|		SCTP_WQ_ADDR_LOCK();
  ------------------
  |  |  277|      0|	KASSERT(pthread_mutex_lock(&SCTP_BASE_INFO(wq_addr_mtx)) == 0, ("%s:%d: wq_addr_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1863|      0|	}
 1864|       |
 1865|       |	/* Record in stopped_from which timeout occurred. */
 1866|  2.12k|	tmr->stopped_from = type;
 1867|       |	/* mark as being serviced now */
 1868|  2.12k|	if (SCTP_OS_TIMER_PENDING(&tmr->timer)) {
  ------------------
  |  |  102|  2.12k|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|  2.12k|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  |  |  |  Branch (102:36): [True: 0, False: 2.12k]
  |  |  ------------------
  ------------------
 1869|       |		/*
 1870|       |		 * Callout has been rescheduled.
 1871|       |		 */
 1872|      0|		goto out;
 1873|      0|	}
 1874|  2.12k|	if (!SCTP_OS_TIMER_ACTIVE(&tmr->timer)) {
  ------------------
  |  |  103|  2.12k|#define	SCTP_OS_TIMER_ACTIVE(tmr) ((tmr)->c_flags & SCTP_CALLOUT_ACTIVE)
  |  |  ------------------
  |  |  |  |   82|  2.12k|#define	SCTP_CALLOUT_ACTIVE	0x0002	/* callout is currently active */
  |  |  ------------------
  ------------------
  |  Branch (1874:6): [True: 0, False: 2.12k]
  ------------------
 1875|       |		/*
 1876|       |		 * Not active, so no action.
 1877|       |		 */
 1878|      0|		goto out;
 1879|      0|	}
 1880|  2.12k|	SCTP_OS_TIMER_DEACTIVATE(&tmr->timer);
  ------------------
  |  |  104|  2.12k|#define	SCTP_OS_TIMER_DEACTIVATE(tmr) ((tmr)->c_flags &= ~SCTP_CALLOUT_ACTIVE)
  |  |  ------------------
  |  |  |  |   82|  2.12k|#define	SCTP_CALLOUT_ACTIVE	0x0002	/* callout is currently active */
  |  |  ------------------
  ------------------
 1881|       |
 1882|  2.12k|#if defined(__Userspace__)
 1883|  2.12k|	if ((stcb != NULL) &&
  ------------------
  |  Branch (1883:6): [True: 2.10k, False: 21]
  ------------------
 1884|  2.12k|	    ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) == 0) &&
  ------------------
  |  |  549|  2.10k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (1884:6): [True: 0, False: 2.10k]
  ------------------
 1885|  2.12k|	    (stcb->sctp_socket != NULL)) {
  ------------------
  |  Branch (1885:6): [True: 0, False: 0]
  ------------------
 1886|      0|		upcall_socket = stcb->sctp_socket;
 1887|      0|		SOCK_LOCK(upcall_socket);
  ------------------
  |  |  527|      0|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1888|      0|		soref(upcall_socket);
  ------------------
  |  |  404|      0|#define	soref(so) do {							\
  |  |  405|      0|	SOCK_LOCK_ASSERT(so);						\
  |  |  ------------------
  |  |  |  |  325|      0|#define	SOCK_LOCK_ASSERT(_so)		SOCKBUF_LOCK_ASSERT(&(_so)->so_rcv)
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|      0|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  406|      0|	++(so)->so_count;						\
  |  |  407|      0|	SCTPDBG(SCTP_DEBUG_USR, "soref(%p) -> %d, %s:%s:%d\n",		\
  |  |  408|      0|		(so), (so)->so_count,					\
  |  |  409|      0|		__func__, __FILE__, __LINE__)				\
  |  |  410|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (410:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1889|      0|		SOCK_UNLOCK(upcall_socket);
  ------------------
  |  |  529|      0|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1890|      0|	}
 1891|  2.12k|#endif
 1892|       |	/* call the handler for the appropriate timer type */
 1893|  2.12k|	switch (type) {
 1894|      0|	case SCTP_TIMER_TYPE_SEND:
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
  |  Branch (1894:2): [True: 0, False: 2.12k]
  ------------------
 1895|      0|		KASSERT(inp != NULL && stcb != NULL && net != NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1896|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 1897|      0|		         type, inp, stcb, net));
 1898|      0|		SCTP_STAT_INCR(sctps_timodata);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1899|      0|		stcb->asoc.timodata++;
 1900|      0|		stcb->asoc.num_send_timers_up--;
 1901|      0|		if (stcb->asoc.num_send_timers_up < 0) {
  ------------------
  |  Branch (1901:7): [True: 0, False: 0]
  ------------------
 1902|      0|			stcb->asoc.num_send_timers_up = 0;
 1903|      0|		}
 1904|      0|		SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1905|      0|		if (sctp_t3rxt_timer(inp, stcb, net)) {
  ------------------
  |  Branch (1905:7): [True: 0, False: 0]
  ------------------
 1906|       |			/* no need to unlock on tcb its gone */
 1907|       |
 1908|      0|			goto out_decr;
 1909|      0|		}
 1910|      0|		SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|      0|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1911|       |#ifdef SCTP_AUDITING_ENABLED
 1912|       |		sctp_auditing(4, inp, stcb, net);
 1913|       |#endif
 1914|      0|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_T3, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  362|      0|#define SCTP_OUTPUT_FROM_T3       	1
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_T3, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1915|      0|		did_output = true;
 1916|      0|		if ((stcb->asoc.num_send_timers_up == 0) &&
  ------------------
  |  Branch (1916:7): [True: 0, False: 0]
  ------------------
 1917|      0|		    (stcb->asoc.sent_queue_cnt > 0)) {
  ------------------
  |  Branch (1917:7): [True: 0, False: 0]
  ------------------
 1918|      0|			struct sctp_tmit_chunk *chk;
 1919|       |
 1920|       |			/*
 1921|       |			 * Safeguard. If there on some on the sent queue
 1922|       |			 * somewhere but no timers running something is
 1923|       |			 * wrong... so we start a timer on the first chunk
 1924|       |			 * on the send queue on whatever net it is sent to.
 1925|       |			 */
 1926|      0|			TAILQ_FOREACH(chk, &stcb->asoc.sent_queue, sctp_next) {
 1927|      0|				if (chk->whoTo != NULL) {
  ------------------
  |  Branch (1927:9): [True: 0, False: 0]
  ------------------
 1928|      0|					break;
 1929|      0|				}
 1930|      0|			}
 1931|      0|			if (chk != NULL) {
  ------------------
  |  Branch (1931:8): [True: 0, False: 0]
  ------------------
 1932|      0|				sctp_timer_start(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep, stcb, chk->whoTo);
  ------------------
  |  |  532|      0|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
 1933|      0|			}
 1934|      0|		}
 1935|      0|		break;
 1936|      0|	case SCTP_TIMER_TYPE_INIT:
  ------------------
  |  |  533|      0|#define SCTP_TIMER_TYPE_INIT		2
  ------------------
  |  Branch (1936:2): [True: 0, False: 2.12k]
  ------------------
 1937|      0|		KASSERT(inp != NULL && stcb != NULL && net != NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1938|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 1939|      0|		         type, inp, stcb, net));
 1940|      0|		SCTP_STAT_INCR(sctps_timoinit);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1941|      0|		stcb->asoc.timoinit++;
 1942|      0|		if (sctp_t1init_timer(inp, stcb, net)) {
  ------------------
  |  Branch (1942:7): [True: 0, False: 0]
  ------------------
 1943|       |			/* no need to unlock on tcb its gone */
 1944|      0|			goto out_decr;
 1945|      0|		}
 1946|      0|		did_output = false;
 1947|      0|		break;
 1948|      0|	case SCTP_TIMER_TYPE_RECV:
  ------------------
  |  |  534|      0|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
  |  Branch (1948:2): [True: 0, False: 2.12k]
  ------------------
 1949|      0|		KASSERT(inp != NULL && stcb != NULL && net == NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1950|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 1951|      0|		         type, inp, stcb, net));
 1952|      0|		SCTP_STAT_INCR(sctps_timosack);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1953|      0|		stcb->asoc.timosack++;
 1954|      0|		sctp_send_sack(stcb, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1955|       |#ifdef SCTP_AUDITING_ENABLED
 1956|       |		sctp_auditing(4, inp, stcb, NULL);
 1957|       |#endif
 1958|      0|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SACK_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  365|      0|#define SCTP_OUTPUT_FROM_SACK_TMR       4
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SACK_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1959|      0|		did_output = true;
 1960|      0|		break;
 1961|      0|	case SCTP_TIMER_TYPE_SHUTDOWN:
  ------------------
  |  |  535|      0|#define SCTP_TIMER_TYPE_SHUTDOWN	4
  ------------------
  |  Branch (1961:2): [True: 0, False: 2.12k]
  ------------------
 1962|      0|		KASSERT(inp != NULL && stcb != NULL && net != NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1963|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 1964|      0|		         type, inp, stcb, net));
 1965|      0|		SCTP_STAT_INCR(sctps_timoshutdown);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1966|      0|		stcb->asoc.timoshutdown++;
 1967|      0|		if (sctp_shutdown_timer(inp, stcb, net)) {
  ------------------
  |  Branch (1967:7): [True: 0, False: 0]
  ------------------
 1968|       |			/* no need to unlock on tcb its gone */
 1969|      0|			goto out_decr;
 1970|      0|		}
 1971|       |#ifdef SCTP_AUDITING_ENABLED
 1972|       |		sctp_auditing(4, inp, stcb, net);
 1973|       |#endif
 1974|      0|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SHUT_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  366|      0|#define SCTP_OUTPUT_FROM_SHUT_TMR       5
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SHUT_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1975|      0|		did_output = true;
 1976|      0|		break;
 1977|      0|	case SCTP_TIMER_TYPE_HEARTBEAT:
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
  |  Branch (1977:2): [True: 0, False: 2.12k]
  ------------------
 1978|      0|		KASSERT(inp != NULL && stcb != NULL && net != NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1979|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 1980|      0|		         type, inp, stcb, net));
 1981|      0|		SCTP_STAT_INCR(sctps_timoheartbeat);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1982|      0|		stcb->asoc.timoheartbeat++;
 1983|      0|		if (sctp_heartbeat_timer(inp, stcb, net)) {
  ------------------
  |  Branch (1983:7): [True: 0, False: 0]
  ------------------
 1984|       |			/* no need to unlock on tcb its gone */
 1985|      0|			goto out_decr;
 1986|      0|		}
 1987|       |#ifdef SCTP_AUDITING_ENABLED
 1988|       |		sctp_auditing(4, inp, stcb, net);
 1989|       |#endif
 1990|      0|		if ((net->dest_state & SCTP_ADDR_NOHB) == 0) {
  ------------------
  |  |  483|      0|#define SCTP_ADDR_NOHB			0x004
  ------------------
  |  Branch (1990:7): [True: 0, False: 0]
  ------------------
 1991|      0|			sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net);
  ------------------
  |  |  536|      0|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
 1992|      0|			sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_HB_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  367|      0|#define SCTP_OUTPUT_FROM_HB_TMR         6
  ------------------
              			sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_HB_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 1993|      0|			did_output = true;
 1994|      0|		} else {
 1995|      0|			did_output = false;
 1996|      0|		}
 1997|      0|		break;
 1998|      0|	case SCTP_TIMER_TYPE_COOKIE:
  ------------------
  |  |  537|      0|#define SCTP_TIMER_TYPE_COOKIE		6
  ------------------
  |  Branch (1998:2): [True: 0, False: 2.12k]
  ------------------
 1999|      0|		KASSERT(inp != NULL && stcb != NULL && net != NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2000|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2001|      0|		         type, inp, stcb, net));
 2002|      0|		SCTP_STAT_INCR(sctps_timocookie);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2003|      0|		stcb->asoc.timocookie++;
 2004|      0|		if (sctp_cookie_timer(inp, stcb, net)) {
  ------------------
  |  Branch (2004:7): [True: 0, False: 0]
  ------------------
 2005|       |			/* no need to unlock on tcb its gone */
 2006|      0|			goto out_decr;
 2007|      0|		}
 2008|       |#ifdef SCTP_AUDITING_ENABLED
 2009|       |		sctp_auditing(4, inp, stcb, net);
 2010|       |#endif
 2011|       |		/*
 2012|       |		 * We consider T3 and Cookie timer pretty much the same with
 2013|       |		 * respect to where from in chunk_output.
 2014|       |		 */
 2015|      0|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_T3, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  362|      0|#define SCTP_OUTPUT_FROM_T3       	1
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_T3, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2016|      0|		did_output = true;
 2017|      0|		break;
 2018|      0|	case SCTP_TIMER_TYPE_NEWCOOKIE:
  ------------------
  |  |  538|      0|#define SCTP_TIMER_TYPE_NEWCOOKIE	7
  ------------------
  |  Branch (2018:2): [True: 0, False: 2.12k]
  ------------------
 2019|      0|		KASSERT(inp != NULL && stcb == NULL && net == NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2020|      0|			("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2021|      0|			 type, inp, stcb, net));
 2022|      0|		SCTP_STAT_INCR(sctps_timosecret);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2023|      0|		(void)SCTP_GETTIME_TIMEVAL(&tv);
  ------------------
  |  |  991|      0|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 2024|      0|		inp->sctp_ep.time_of_secret_change = tv.tv_sec;
 2025|      0|		inp->sctp_ep.last_secret_number =
 2026|      0|		    inp->sctp_ep.current_secret_number;
 2027|      0|		inp->sctp_ep.current_secret_number++;
 2028|      0|		if (inp->sctp_ep.current_secret_number >=
  ------------------
  |  Branch (2028:7): [True: 0, False: 0]
  ------------------
 2029|      0|		    SCTP_HOW_MANY_SECRETS) {
  ------------------
  |  |  695|      0|#define SCTP_HOW_MANY_SECRETS	2	/* how many secrets I keep */
  ------------------
 2030|      0|			inp->sctp_ep.current_secret_number = 0;
 2031|      0|		}
 2032|      0|		secret = (int)inp->sctp_ep.current_secret_number;
 2033|      0|		for (i = 0; i < SCTP_NUMBER_OF_SECRETS; i++) {
  ------------------
  |  |  697|      0|#define SCTP_NUMBER_OF_SECRETS	8	/* or 8 * 4 = 32 octets */
  ------------------
  |  Branch (2033:15): [True: 0, False: 0]
  ------------------
 2034|      0|			inp->sctp_ep.secret_key[secret][i] =
 2035|      0|			    sctp_select_initial_TSN(&inp->sctp_ep);
 2036|      0|		}
 2037|      0|		sctp_timer_start(SCTP_TIMER_TYPE_NEWCOOKIE, inp, NULL, NULL);
  ------------------
  |  |  538|      0|#define SCTP_TIMER_TYPE_NEWCOOKIE	7
  ------------------
 2038|      0|		did_output = false;
 2039|      0|		break;
 2040|      0|	case SCTP_TIMER_TYPE_PATHMTURAISE:
  ------------------
  |  |  539|      0|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
  |  Branch (2040:2): [True: 0, False: 2.12k]
  ------------------
 2041|      0|		KASSERT(inp != NULL && stcb != NULL && net != NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2042|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2043|      0|		         type, inp, stcb, net));
 2044|      0|		SCTP_STAT_INCR(sctps_timopathmtu);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2045|      0|		sctp_pathmtu_timer(inp, stcb, net);
 2046|      0|		did_output = false;
 2047|      0|		break;
 2048|      0|	case SCTP_TIMER_TYPE_SHUTDOWNACK:
  ------------------
  |  |  540|      0|#define SCTP_TIMER_TYPE_SHUTDOWNACK	9
  ------------------
  |  Branch (2048:2): [True: 0, False: 2.12k]
  ------------------
 2049|      0|		KASSERT(inp != NULL && stcb != NULL && net != NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2050|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2051|      0|		         type, inp, stcb, net));
 2052|      0|		if (sctp_shutdownack_timer(inp, stcb, net)) {
  ------------------
  |  Branch (2052:7): [True: 0, False: 0]
  ------------------
 2053|       |			/* no need to unlock on tcb its gone */
 2054|      0|			goto out_decr;
 2055|      0|		}
 2056|      0|		SCTP_STAT_INCR(sctps_timoshutdownack);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2057|      0|		stcb->asoc.timoshutdownack++;
 2058|       |#ifdef SCTP_AUDITING_ENABLED
 2059|       |		sctp_auditing(4, inp, stcb, net);
 2060|       |#endif
 2061|      0|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SHUT_ACK_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  368|      0|#define SCTP_OUTPUT_FROM_SHUT_ACK_TMR   7
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SHUT_ACK_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2062|      0|		did_output = true;
 2063|      0|		break;
 2064|      0|	case SCTP_TIMER_TYPE_ASCONF:
  ------------------
  |  |  541|      0|#define SCTP_TIMER_TYPE_ASCONF		10
  ------------------
  |  Branch (2064:2): [True: 0, False: 2.12k]
  ------------------
 2065|      0|		KASSERT(inp != NULL && stcb != NULL && net != NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2066|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2067|      0|		         type, inp, stcb, net));
 2068|      0|		SCTP_STAT_INCR(sctps_timoasconf);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2069|      0|		if (sctp_asconf_timer(inp, stcb, net)) {
  ------------------
  |  Branch (2069:7): [True: 0, False: 0]
  ------------------
 2070|       |			/* no need to unlock on tcb its gone */
 2071|      0|			goto out_decr;
 2072|      0|		}
 2073|       |#ifdef SCTP_AUDITING_ENABLED
 2074|       |		sctp_auditing(4, inp, stcb, net);
 2075|       |#endif
 2076|      0|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_ASCONF_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  369|      0|#define SCTP_OUTPUT_FROM_ASCONF_TMR     8
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_ASCONF_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2077|      0|		did_output = true;
 2078|      0|		break;
 2079|      0|	case SCTP_TIMER_TYPE_SHUTDOWNGUARD:
  ------------------
  |  |  542|      0|#define SCTP_TIMER_TYPE_SHUTDOWNGUARD	11
  ------------------
  |  Branch (2079:2): [True: 0, False: 2.12k]
  ------------------
 2080|      0|		KASSERT(inp != NULL && stcb != NULL && net == NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2081|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2082|      0|		         type, inp, stcb, net));
 2083|      0|		SCTP_STAT_INCR(sctps_timoshutdownguard);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2084|      0|		op_err = sctp_generate_cause(SCTP_BASE_SYSCTL(sctp_diag_info_code),
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 2085|      0|		                             "Shutdown guard timer expired");
 2086|      0|		sctp_abort_an_association(inp, stcb, op_err, true, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2087|       |		/* no need to unlock on tcb its gone */
 2088|      0|		goto out_decr;
 2089|      0|	case SCTP_TIMER_TYPE_AUTOCLOSE:
  ------------------
  |  |  543|      0|#define SCTP_TIMER_TYPE_AUTOCLOSE	12
  ------------------
  |  Branch (2089:2): [True: 0, False: 2.12k]
  ------------------
 2090|      0|		KASSERT(inp != NULL && stcb != NULL && net == NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2091|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2092|      0|		         type, inp, stcb, net));
 2093|      0|		SCTP_STAT_INCR(sctps_timoautoclose);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2094|      0|		sctp_autoclose_timer(inp, stcb);
 2095|      0|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_AUTOCLOSE_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  371|      0|#define SCTP_OUTPUT_FROM_AUTOCLOSE_TMR  10
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_AUTOCLOSE_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2096|      0|		did_output = true;
 2097|      0|		break;
 2098|      0|	case SCTP_TIMER_TYPE_STRRESET:
  ------------------
  |  |  544|      0|#define SCTP_TIMER_TYPE_STRRESET	13
  ------------------
  |  Branch (2098:2): [True: 0, False: 2.12k]
  ------------------
 2099|      0|		KASSERT(inp != NULL && stcb != NULL && net == NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2100|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2101|      0|		         type, inp, stcb, net));
 2102|      0|		SCTP_STAT_INCR(sctps_timostrmrst);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2103|      0|		if (sctp_strreset_timer(inp, stcb)) {
  ------------------
  |  Branch (2103:7): [True: 0, False: 0]
  ------------------
 2104|       |			/* no need to unlock on tcb its gone */
 2105|      0|			goto out_decr;
 2106|      0|		}
 2107|      0|		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_STRRST_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  370|      0|#define SCTP_OUTPUT_FROM_STRRST_TMR     9
  ------------------
              		sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_STRRST_TMR, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|      0|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 2108|      0|		did_output = true;
 2109|      0|		break;
 2110|     21|	case SCTP_TIMER_TYPE_INPKILL:
  ------------------
  |  |  545|     21|#define SCTP_TIMER_TYPE_INPKILL		14
  ------------------
  |  Branch (2110:2): [True: 21, False: 2.10k]
  ------------------
 2111|     21|		KASSERT(inp != NULL && stcb == NULL && net == NULL,
  ------------------
  |  |  112|     21|	do {                         \
  |  |  113|     84|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 21, False: 0]
  |  |  |  Branch (113:9): [True: 21, False: 0]
  |  |  |  Branch (113:9): [True: 21, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|     21|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2112|     21|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2113|     21|		         type, inp, stcb, net));
 2114|     21|		SCTP_STAT_INCR(sctps_timoinpkill);
  ------------------
  |  | 1112|     21|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|     21|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|     21|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2115|       |		/*
 2116|       |		 * special case, take away our increment since WE are the
 2117|       |		 * killer
 2118|       |		 */
 2119|     21|		sctp_timer_stop(SCTP_TIMER_TYPE_INPKILL, inp, NULL, NULL,
  ------------------
  |  |  545|     21|#define SCTP_TIMER_TYPE_INPKILL		14
  ------------------
 2120|     21|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_3);
  ------------------
  |  |  760|     21|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_3);
  ------------------
  |  |  771|     21|#define SCTP_LOC_3  0x00000003
  ------------------
 2121|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2122|       |		SCTP_SOCKET_LOCK(SCTP_INP_SO(inp), 1);
 2123|       |#endif
 2124|     21|		SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|     21|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|     21|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 2125|     21|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|     21|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     21|	do {                         \
  |  |  |  |  113|     21|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 21]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     21|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2126|     21|		sctp_inpcb_free(inp, SCTP_FREE_SHOULD_USE_ABORT,
  ------------------
  |  |  869|     21|#define SCTP_FREE_SHOULD_USE_ABORT          1
  ------------------
 2127|     21|		                SCTP_CALLED_FROM_INPKILL_TIMER);
  ------------------
  |  |  867|     21|#define SCTP_CALLED_FROM_INPKILL_TIMER    2
  ------------------
 2128|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2129|       |		SCTP_SOCKET_UNLOCK(SCTP_INP_SO(inp), 1);
 2130|       |#endif
 2131|     21|		inp = NULL;
 2132|     21|		goto out_decr;
 2133|  2.10k|	case SCTP_TIMER_TYPE_ASOCKILL:
  ------------------
  |  |  546|  2.10k|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
  |  Branch (2133:2): [True: 2.10k, False: 21]
  ------------------
 2134|  2.10k|		KASSERT(inp != NULL && stcb != NULL && net == NULL,
  ------------------
  |  |  112|  2.10k|	do {                         \
  |  |  113|  8.40k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 2.10k, False: 0]
  |  |  |  Branch (113:9): [True: 2.10k, False: 0]
  |  |  |  Branch (113:9): [True: 2.10k, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  2.10k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2135|  2.10k|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2136|  2.10k|		         type, inp, stcb, net));
 2137|  2.10k|		SCTP_STAT_INCR(sctps_timoassockill);
  ------------------
  |  | 1112|  2.10k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  2.10k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  2.10k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2138|       |		/* Can we free it yet? */
 2139|  2.10k|		sctp_timer_stop(SCTP_TIMER_TYPE_ASOCKILL, inp, stcb, NULL,
  ------------------
  |  |  546|  2.10k|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
 2140|  2.10k|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_1);
  ------------------
  |  |  760|  2.10k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_1);
  ------------------
  |  |  769|  2.10k|#define SCTP_LOC_1  0x00000001
  ------------------
 2141|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2142|       |		so = SCTP_INP_SO(inp);
 2143|       |		atomic_add_int(&stcb->asoc.refcnt, 1);
 2144|       |		SCTP_TCB_UNLOCK(stcb);
 2145|       |		SCTP_SOCKET_LOCK(so, 1);
 2146|       |		SCTP_TCB_LOCK(stcb);
 2147|       |		atomic_subtract_int(&stcb->asoc.refcnt, 1);
 2148|       |#endif
 2149|  2.10k|		(void)sctp_free_assoc(inp, stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|  2.10k|#define SCTP_NORMAL_PROC      0
  ------------------
 2150|  2.10k|		                      SCTP_FROM_SCTPUTIL + SCTP_LOC_2);
  ------------------
  |  |  760|  2.10k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                      SCTP_FROM_SCTPUTIL + SCTP_LOC_2);
  ------------------
  |  |  770|  2.10k|#define SCTP_LOC_2  0x00000002
  ------------------
 2151|       |#if defined(__APPLE__) && !defined(__Userspace__)
 2152|       |		SCTP_SOCKET_UNLOCK(so, 1);
 2153|       |#endif
 2154|       |		/*
 2155|       |		 * free asoc, always unlocks (or destroy's) so prevent
 2156|       |		 * duplicate unlock or unlock of a free mtx :-0
 2157|       |		 */
 2158|  2.10k|		stcb = NULL;
 2159|  2.10k|		goto out_decr;
 2160|      0|	case SCTP_TIMER_TYPE_ADDR_WQ:
  ------------------
  |  |  547|      0|#define SCTP_TIMER_TYPE_ADDR_WQ		16
  ------------------
  |  Branch (2160:2): [True: 0, False: 2.12k]
  ------------------
 2161|      0|		KASSERT(inp == NULL && stcb == NULL && net == NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2162|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2163|      0|		         type, inp, stcb, net));
 2164|      0|		sctp_handle_addr_wq();
 2165|      0|		did_output = true;
 2166|      0|		break;
 2167|      0|	case SCTP_TIMER_TYPE_PRIM_DELETED:
  ------------------
  |  |  548|      0|#define SCTP_TIMER_TYPE_PRIM_DELETED	17
  ------------------
  |  Branch (2167:2): [True: 0, False: 2.12k]
  ------------------
 2168|      0|		KASSERT(inp != NULL && stcb != NULL && net == NULL,
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2169|      0|		        ("timeout of type %d: inp = %p, stcb = %p, net = %p",
 2170|      0|		         type, inp, stcb, net));
 2171|      0|		SCTP_STAT_INCR(sctps_timodelprim);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2172|      0|		sctp_delete_prim_timer(inp, stcb);
 2173|      0|		did_output = false;
 2174|      0|		break;
 2175|      0|	default:
  ------------------
  |  Branch (2175:2): [True: 0, False: 2.12k]
  ------------------
 2176|      0|#ifdef INVARIANTS
 2177|      0|		panic("Unknown timer type %d", type);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2178|       |#else
 2179|       |		goto out;
 2180|       |#endif
 2181|  2.12k|	}
 2182|       |#ifdef SCTP_AUDITING_ENABLED
 2183|       |	sctp_audit_log(0xF1, (uint8_t) type);
 2184|       |	if (inp != NULL)
 2185|       |		sctp_auditing(5, inp, stcb, net);
 2186|       |#endif
 2187|      0|	if (did_output && (stcb != NULL)) {
  ------------------
  |  Branch (2187:6): [True: 0, False: 0]
  |  Branch (2187:20): [True: 0, False: 0]
  ------------------
 2188|       |		/*
 2189|       |		 * Now we need to clean up the control chunk chain if an
 2190|       |		 * ECNE is on it. It must be marked as UNSENT again so next
 2191|       |		 * call will continue to send it until such time that we get
 2192|       |		 * a CWR, to remove it. It is, however, less likely that we
 2193|       |		 * will find a ecn echo on the chain though.
 2194|       |		 */
 2195|      0|		sctp_fix_ecn_echo(&stcb->asoc);
 2196|      0|	}
 2197|     21|out:
 2198|     21|	if (stcb != NULL) {
  ------------------
  |  Branch (2198:6): [True: 21, False: 0]
  ------------------
 2199|     21|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|     21|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     21|	do {                         \
  |  |  |  |  113|     21|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 21]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     21|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2200|     21|	} else if (inp != NULL) {
  ------------------
  |  Branch (2200:13): [True: 0, False: 0]
  ------------------
 2201|      0|		SCTP_INP_WUNLOCK(inp);
  ------------------
  |  |  383|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_mtx) == 0, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2202|      0|	} else {
 2203|      0|		SCTP_WQ_ADDR_UNLOCK();
  ------------------
  |  |  279|      0|	KASSERT(pthread_mutex_unlock(&SCTP_BASE_INFO(wq_addr_mtx)) == 0, ("%s:%d: wq_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2204|      0|	}
 2205|       |
 2206|  2.14k|out_decr:
 2207|  2.14k|#if defined(__Userspace__)
 2208|  2.14k|	if (upcall_socket != NULL) {
  ------------------
  |  Branch (2208:6): [True: 0, False: 2.14k]
  ------------------
 2209|      0|		if ((upcall_socket->so_upcall != NULL) &&
  ------------------
  |  Branch (2209:7): [True: 0, False: 0]
  ------------------
 2210|      0|		    (upcall_socket->so_error != 0)) {
  ------------------
  |  Branch (2210:7): [True: 0, False: 0]
  ------------------
 2211|      0|			(*upcall_socket->so_upcall)(upcall_socket, upcall_socket->so_upcallarg, M_NOWAIT);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
 2212|      0|		}
 2213|      0|		ACCEPT_LOCK();
  ------------------
  |  |  256|      0|#define	ACCEPT_LOCK()	KASSERT(pthread_mutex_lock(&accept_mtx) == 0, ("%s: accept_mtx already locked", __func__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2214|      0|		SOCK_LOCK(upcall_socket);
  ------------------
  |  |  527|      0|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2215|      0|		sorele(upcall_socket);
  ------------------
  |  |  412|      0|#define	sorele(so) do {							\
  |  |  413|      0|	ACCEPT_LOCK_ASSERT();						\
  |  |  ------------------
  |  |  |  |  263|      0|          KASSERT(pthread_mutex_trylock(&accept_mtx) == EBUSY, ("%s: accept_mtx not locked", __func__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  414|      0|	SOCK_LOCK_ASSERT(so);						\
  |  |  ------------------
  |  |  |  |  325|      0|#define	SOCK_LOCK_ASSERT(_so)		SOCKBUF_LOCK_ASSERT(&(_so)->so_rcv)
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|      0|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  415|      0|	KASSERT((so)->so_count > 0, ("sorele"));			\
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  416|      0|	if (--(so)->so_count == 0) {					\
  |  |  ------------------
  |  |  |  Branch (416:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  417|      0|		SCTPDBG(SCTP_DEBUG_USR, "sorele(%p) -> %d, %s:%s:%d\n",	\
  |  |  418|      0|			(so), (so)->so_count,				\
  |  |  419|      0|			__func__, __FILE__, __LINE__)			\
  |  |  420|      0|		sofree(so);						\
  |  |  421|      0|	}								\
  |  |  422|      0|	else {								\
  |  |  423|      0|		SCTPDBG(SCTP_DEBUG_USR, "sorele(%p) -> %d, %s:%s:%d\n",	\
  |  |  424|      0|			(so), (so)->so_count,				\
  |  |  425|      0|			__func__, __FILE__, __LINE__)			\
  |  |  426|      0|		SOCK_UNLOCK(so);					\
  |  |  ------------------
  |  |  |  |  529|      0|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  |  |  ------------------
  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  427|      0|		ACCEPT_UNLOCK();					\
  |  |  ------------------
  |  |  |  |  257|      0|#define	ACCEPT_UNLOCK()	KASSERT(pthread_mutex_unlock(&accept_mtx) == 0, ("%s: accept_mtx not locked", __func__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|      0|	}								\
  |  |  429|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (429:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2216|      0|	}
 2217|  2.14k|#endif
 2218|       |	/* These reference counts were incremented in sctp_timer_start(). */
 2219|  2.14k|	if (inp != NULL) {
  ------------------
  |  Branch (2219:6): [True: 2.12k, False: 21]
  ------------------
 2220|  2.12k|		SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|  2.12k|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|  2.12k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 2221|  2.12k|	}
 2222|  2.14k|	if ((stcb != NULL) && !released_asoc_reference) {
  ------------------
  |  Branch (2222:6): [True: 21, False: 2.12k]
  |  Branch (2222:24): [True: 0, False: 21]
  ------------------
 2223|      0|		atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 2224|      0|	}
 2225|  2.14k|	if (net != NULL) {
  ------------------
  |  Branch (2225:6): [True: 21, False: 2.12k]
  ------------------
 2226|     21|		sctp_free_remote_addr(net);
  ------------------
  |  |  228|     21|#define sctp_free_remote_addr(__net) { \
  |  |  229|     21|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 21, False: 0]
  |  |  ------------------
  |  |  230|     21|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|     21|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|     21|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 8, False: 13]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      8|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 8, False: 0]
  |  |  ------------------
  |  |  232|      8|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      8|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      8|		RT_LOCK(_rt);					\
  |  |  |  |  128|      8|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      8|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      8|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 8, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      8|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      8|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      8|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      8|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      8|		_rt = NULL;					\
  |  |  |  |  |  |  125|      8|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      8|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      8|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      8|			} \
  |  |  235|      8|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 8]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      8|			(__net)->src_addr_selected = 0; \
  |  |  240|      8|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      8|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      8|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      8|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      8|	free(element);  \
  |  |  |  |  703|      8|}
  |  |  ------------------
  |  |  242|      8|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      8|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      8|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      8|		} \
  |  |  244|     21|	} \
  |  |  245|     21|}
  ------------------
 2227|     21|	}
 2228|  2.14k|	SCTPDBG(SCTP_DEBUG_TIMER2, "Timer type %d handler finished.\n", type);
 2229|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2230|       |	CURVNET_RESTORE();
 2231|       |	NET_EPOCH_EXIT(et);
 2232|       |#endif
 2233|  2.14k|}
sctp_timer_start:
 2265|   235k|{
 2266|   235k|	struct sctp_timer *tmr;
 2267|   235k|	uint32_t to_ticks;
 2268|   235k|	uint32_t rndval, jitter;
 2269|       |
 2270|   235k|	KASSERT(stcb == NULL || stcb->sctp_ep == inp,
  ------------------
  |  |  112|   235k|	do {                         \
  |  |  113|   458k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 11.5k, False: 223k]
  |  |  |  Branch (113:9): [True: 223k, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   235k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2271|   235k|	        ("sctp_timer_start of type %d: inp = %p, stcb->sctp_ep %p",
 2272|   235k|	         t_type, stcb, stcb->sctp_ep));
 2273|   235k|	tmr = NULL;
 2274|   235k|	if (stcb != NULL) {
  ------------------
  |  Branch (2274:6): [True: 223k, False: 11.5k]
  ------------------
 2275|   223k|		SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|   223k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   223k|	do {                         \
  |  |  |  |  113|   223k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 223k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   223k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2276|   223k|	} else if (inp != NULL) {
  ------------------
  |  Branch (2276:13): [True: 11.5k, False: 2]
  ------------------
 2277|  11.5k|		SCTP_INP_WLOCK_ASSERT(inp);
  ------------------
  |  |  410|  11.5k|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_mtx) == EBUSY, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2278|  11.5k|	} else {
 2279|      2|		SCTP_WQ_ADDR_LOCK_ASSERT();
  ------------------
  |  |  287|      2|	KASSERT(pthread_mutex_trylock(&SCTP_BASE_INFO(wq_addr_mtx)) == EBUSY, ("%s:%d: wq_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      2|	do {                         \
  |  |  |  |  113|      2|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      2|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2280|      2|	}
 2281|   235k|	if (stcb != NULL) {
  ------------------
  |  Branch (2281:6): [True: 223k, False: 11.5k]
  ------------------
 2282|       |		/* Don't restart timer on association that's about to be killed. */
 2283|   223k|		if ((stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) &&
  ------------------
  |  |  465|   223k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (2283:7): [True: 2.10k, False: 221k]
  ------------------
 2284|   223k|		    (t_type != SCTP_TIMER_TYPE_ASOCKILL)) {
  ------------------
  |  |  546|  2.10k|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
  |  Branch (2284:7): [True: 0, False: 2.10k]
  ------------------
 2285|      0|			SCTPDBG(SCTP_DEBUG_TIMER2,
 2286|      0|				"Timer type %d not started: inp=%p, stcb=%p, net=%p (stcb deleted).\n",
 2287|      0|				t_type, inp, stcb, net);
 2288|      0|			return;
 2289|      0|		}
 2290|       |		/* Don't restart timer on net that's been removed. */
 2291|   223k|		if (net != NULL && (net->dest_state & SCTP_ADDR_BEING_DELETED)) {
  ------------------
  |  |  484|   221k|#define SCTP_ADDR_BEING_DELETED		0x008
  ------------------
  |  Branch (2291:7): [True: 221k, False: 2.22k]
  |  Branch (2291:22): [True: 0, False: 221k]
  ------------------
 2292|      0|			SCTPDBG(SCTP_DEBUG_TIMER2,
 2293|      0|				"Timer type %d not started: inp=%p, stcb=%p, net=%p (net deleted).\n",
 2294|      0|				t_type, inp, stcb, net);
 2295|      0|			return;
 2296|      0|		}
 2297|   223k|	}
 2298|   235k|	switch (t_type) {
 2299|  38.0k|	case SCTP_TIMER_TYPE_SEND:
  ------------------
  |  |  532|  38.0k|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
  |  Branch (2299:2): [True: 38.0k, False: 197k]
  ------------------
 2300|       |		/* Here we use the RTO timer. */
 2301|  38.0k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2301:7): [True: 0, False: 38.0k]
  |  Branch (2301:24): [True: 0, False: 38.0k]
  |  Branch (2301:42): [True: 0, False: 38.0k]
  ------------------
 2302|      0|#ifdef INVARIANTS
 2303|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2304|      0|			      t_type, inp, stcb, net);
 2305|       |#else
 2306|       |			return;
 2307|       |#endif
 2308|      0|		}
 2309|  38.0k|		tmr = &net->rxt_timer;
 2310|  38.0k|		if (net->RTO == 0) {
  ------------------
  |  Branch (2310:7): [True: 121, False: 37.8k]
  ------------------
 2311|    121|			to_ticks = sctp_msecs_to_ticks(stcb->asoc.initial_rto);
 2312|  37.8k|		} else {
 2313|  37.8k|			to_ticks = sctp_msecs_to_ticks(net->RTO);
 2314|  37.8k|		}
 2315|  38.0k|		break;
 2316|  20.1k|	case SCTP_TIMER_TYPE_INIT:
  ------------------
  |  |  533|  20.1k|#define SCTP_TIMER_TYPE_INIT		2
  ------------------
  |  Branch (2316:2): [True: 20.1k, False: 214k]
  ------------------
 2317|       |		/*
 2318|       |		 * Here we use the INIT timer default usually about 1
 2319|       |		 * second.
 2320|       |		 */
 2321|  20.1k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2321:7): [True: 0, False: 20.1k]
  |  Branch (2321:24): [True: 0, False: 20.1k]
  |  Branch (2321:42): [True: 0, False: 20.1k]
  ------------------
 2322|      0|#ifdef INVARIANTS
 2323|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2324|      0|			      t_type, inp, stcb, net);
 2325|       |#else
 2326|       |			return;
 2327|       |#endif
 2328|      0|		}
 2329|  20.1k|		tmr = &net->rxt_timer;
 2330|  20.1k|		if (net->RTO == 0) {
  ------------------
  |  Branch (2330:7): [True: 16.9k, False: 3.25k]
  ------------------
 2331|  16.9k|			to_ticks = sctp_msecs_to_ticks(stcb->asoc.initial_rto);
 2332|  16.9k|		} else {
 2333|  3.25k|			to_ticks = sctp_msecs_to_ticks(net->RTO);
 2334|  3.25k|		}
 2335|  20.1k|		break;
 2336|    125|	case SCTP_TIMER_TYPE_RECV:
  ------------------
  |  |  534|    125|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
  |  Branch (2336:2): [True: 125, False: 234k]
  ------------------
 2337|       |		/*
 2338|       |		 * Here we use the Delayed-Ack timer value from the inp,
 2339|       |		 * usually about 200ms.
 2340|       |		 */
 2341|    125|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2341:7): [True: 0, False: 125]
  |  Branch (2341:24): [True: 0, False: 125]
  |  Branch (2341:42): [True: 0, False: 125]
  ------------------
 2342|      0|#ifdef INVARIANTS
 2343|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2344|      0|			      t_type, inp, stcb, net);
 2345|       |#else
 2346|       |			return;
 2347|       |#endif
 2348|      0|		}
 2349|    125|		tmr = &stcb->asoc.dack_timer;
 2350|    125|		to_ticks = sctp_msecs_to_ticks(stcb->asoc.delayed_ack);
 2351|    125|		break;
 2352|      0|	case SCTP_TIMER_TYPE_SHUTDOWN:
  ------------------
  |  |  535|      0|#define SCTP_TIMER_TYPE_SHUTDOWN	4
  ------------------
  |  Branch (2352:2): [True: 0, False: 235k]
  ------------------
 2353|       |		/* Here we use the RTO of the destination. */
 2354|      0|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2354:7): [True: 0, False: 0]
  |  Branch (2354:24): [True: 0, False: 0]
  |  Branch (2354:42): [True: 0, False: 0]
  ------------------
 2355|      0|#ifdef INVARIANTS
 2356|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2357|      0|			      t_type, inp, stcb, net);
 2358|       |#else
 2359|       |			return;
 2360|       |#endif
 2361|      0|		}
 2362|      0|		tmr = &net->rxt_timer;
 2363|      0|		if (net->RTO == 0) {
  ------------------
  |  Branch (2363:7): [True: 0, False: 0]
  ------------------
 2364|      0|			to_ticks = sctp_msecs_to_ticks(stcb->asoc.initial_rto);
 2365|      0|		} else {
 2366|      0|			to_ticks = sctp_msecs_to_ticks(net->RTO);
 2367|      0|		}
 2368|      0|		break;
 2369|  74.0k|	case SCTP_TIMER_TYPE_HEARTBEAT:
  ------------------
  |  |  536|  74.0k|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
  |  Branch (2369:2): [True: 74.0k, False: 161k]
  ------------------
 2370|       |		/*
 2371|       |		 * The net is used here so that we can add in the RTO. Even
 2372|       |		 * though we use a different timer. We also add the HB timer
 2373|       |		 * PLUS a random jitter.
 2374|       |		 */
 2375|  74.0k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2375:7): [True: 0, False: 74.0k]
  |  Branch (2375:24): [True: 0, False: 74.0k]
  |  Branch (2375:42): [True: 0, False: 74.0k]
  ------------------
 2376|      0|#ifdef INVARIANTS
 2377|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2378|      0|			      t_type, inp, stcb, net);
 2379|       |#else
 2380|       |			return;
 2381|       |#endif
 2382|      0|		}
 2383|  74.0k|		if ((net->dest_state & SCTP_ADDR_NOHB) &&
  ------------------
  |  |  483|  74.0k|#define SCTP_ADDR_NOHB			0x004
  ------------------
  |  Branch (2383:7): [True: 0, False: 74.0k]
  ------------------
 2384|  74.0k|		    ((net->dest_state & SCTP_ADDR_UNCONFIRMED) == 0)) {
  ------------------
  |  |  487|      0|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (2384:7): [True: 0, False: 0]
  ------------------
 2385|      0|			SCTPDBG(SCTP_DEBUG_TIMER2,
 2386|      0|			        "Timer type %d not started: inp=%p, stcb=%p, net=%p.\n",
 2387|      0|			        t_type, inp, stcb, net);
 2388|      0|			return;
 2389|      0|		}
 2390|  74.0k|		tmr = &net->hb_timer;
 2391|  74.0k|		if (net->RTO == 0) {
  ------------------
  |  Branch (2391:7): [True: 61.9k, False: 12.1k]
  ------------------
 2392|  61.9k|			to_ticks = stcb->asoc.initial_rto;
 2393|  61.9k|		} else {
 2394|  12.1k|			to_ticks = net->RTO;
 2395|  12.1k|		}
 2396|  74.0k|		if (!((net->dest_state & SCTP_ADDR_UNCONFIRMED) &&
  ------------------
  |  |  487|  74.0k|#define SCTP_ADDR_UNCONFIRMED		0x200
  ------------------
  |  Branch (2396:9): [True: 60.1k, False: 13.9k]
  ------------------
 2397|  74.0k|		      (net->dest_state & SCTP_ADDR_REACHABLE)) &&
  ------------------
  |  |  481|  60.1k|#define SCTP_ADDR_REACHABLE		0x001
  ------------------
  |  Branch (2397:9): [True: 60.1k, False: 0]
  ------------------
 2398|  74.0k|		    ((net->dest_state & SCTP_ADDR_PF) == 0)) {
  ------------------
  |  |  490|  13.9k|#define SCTP_ADDR_PF                    0x800
  ------------------
  |  Branch (2398:7): [True: 13.9k, False: 0]
  ------------------
 2399|  13.9k|			if (to_ticks > 1) {
  ------------------
  |  Branch (2399:8): [True: 13.9k, False: 0]
  ------------------
 2400|  13.9k|				rndval = sctp_select_initial_TSN(&inp->sctp_ep);
 2401|  13.9k|				jitter = rndval % to_ticks;
 2402|  13.9k|				to_ticks >>= 1;
 2403|  13.9k|				if (jitter < (UINT32_MAX - to_ticks)) {
  ------------------
  |  Branch (2403:9): [True: 13.9k, False: 0]
  ------------------
 2404|  13.9k|					to_ticks += jitter;
 2405|  13.9k|				} else {
 2406|      0|					to_ticks = UINT32_MAX;
 2407|      0|				}
 2408|  13.9k|			}
 2409|  13.9k|			if (net->heart_beat_delay < (UINT32_MAX - to_ticks)) {
  ------------------
  |  Branch (2409:8): [True: 13.9k, False: 0]
  ------------------
 2410|  13.9k|				to_ticks += net->heart_beat_delay;
 2411|  13.9k|			} else {
 2412|      0|				to_ticks = UINT32_MAX;
 2413|      0|			}
 2414|  13.9k|		}
 2415|       |		/*
 2416|       |		 * Now we must convert the to_ticks that are now in
 2417|       |		 * ms to ticks.
 2418|       |		 */
 2419|  74.0k|		to_ticks = sctp_msecs_to_ticks(to_ticks);
 2420|  74.0k|		break;
 2421|  18.1k|	case SCTP_TIMER_TYPE_COOKIE:
  ------------------
  |  |  537|  18.1k|#define SCTP_TIMER_TYPE_COOKIE		6
  ------------------
  |  Branch (2421:2): [True: 18.1k, False: 216k]
  ------------------
 2422|       |		/*
 2423|       |		 * Here we can use the RTO timer from the network since one
 2424|       |		 * RTT was complete. If a retransmission happened then we will
 2425|       |		 * be using the RTO initial value.
 2426|       |		 */
 2427|  18.1k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2427:7): [True: 0, False: 18.1k]
  |  Branch (2427:24): [True: 0, False: 18.1k]
  |  Branch (2427:42): [True: 0, False: 18.1k]
  ------------------
 2428|      0|#ifdef INVARIANTS
 2429|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2430|      0|			      t_type, inp, stcb, net);
 2431|       |#else
 2432|       |			return;
 2433|       |#endif
 2434|      0|		}
 2435|  18.1k|		tmr = &net->rxt_timer;
 2436|  18.1k|		if (net->RTO == 0) {
  ------------------
  |  Branch (2436:7): [True: 0, False: 18.1k]
  ------------------
 2437|      0|			to_ticks = sctp_msecs_to_ticks(stcb->asoc.initial_rto);
 2438|  18.1k|		} else {
 2439|  18.1k|			to_ticks = sctp_msecs_to_ticks(net->RTO);
 2440|  18.1k|		}
 2441|  18.1k|		break;
 2442|  11.5k|	case SCTP_TIMER_TYPE_NEWCOOKIE:
  ------------------
  |  |  538|  11.5k|#define SCTP_TIMER_TYPE_NEWCOOKIE	7
  ------------------
  |  Branch (2442:2): [True: 11.5k, False: 223k]
  ------------------
 2443|       |		/*
 2444|       |		 * Nothing needed but the endpoint here usually about 60
 2445|       |		 * minutes.
 2446|       |		 */
 2447|  11.5k|		if ((inp == NULL) || (stcb != NULL) || (net != NULL)) {
  ------------------
  |  Branch (2447:7): [True: 0, False: 11.5k]
  |  Branch (2447:24): [True: 0, False: 11.5k]
  |  Branch (2447:42): [True: 0, False: 11.5k]
  ------------------
 2448|      0|#ifdef INVARIANTS
 2449|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2450|      0|			      t_type, inp, stcb, net);
 2451|       |#else
 2452|       |			return;
 2453|       |#endif
 2454|      0|		}
 2455|  11.5k|		tmr = &inp->sctp_ep.signature_change;
 2456|  11.5k|		to_ticks = inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_SIGNATURE];
  ------------------
  |  |  523|  11.5k|#define SCTP_TIMER_SIGNATURE	6
  ------------------
 2457|  11.5k|		break;
 2458|  67.9k|	case SCTP_TIMER_TYPE_PATHMTURAISE:
  ------------------
  |  |  539|  67.9k|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
  |  Branch (2458:2): [True: 67.9k, False: 167k]
  ------------------
 2459|       |		/*
 2460|       |		 * Here we use the value found in the EP for PMTUD, usually
 2461|       |		 * about 10 minutes.
 2462|       |		 */
 2463|  67.9k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2463:7): [True: 0, False: 67.9k]
  |  Branch (2463:24): [True: 0, False: 67.9k]
  |  Branch (2463:42): [True: 0, False: 67.9k]
  ------------------
 2464|      0|#ifdef INVARIANTS
 2465|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2466|      0|			      t_type, inp, stcb, net);
 2467|       |#else
 2468|       |			return;
 2469|       |#endif
 2470|      0|		}
 2471|  67.9k|		if (net->dest_state & SCTP_ADDR_NO_PMTUD) {
  ------------------
  |  |  482|  67.9k|#define SCTP_ADDR_NO_PMTUD              0x002
  ------------------
  |  Branch (2471:7): [True: 0, False: 67.9k]
  ------------------
 2472|      0|			SCTPDBG(SCTP_DEBUG_TIMER2,
 2473|      0|			        "Timer type %d not started: inp=%p, stcb=%p, net=%p.\n",
 2474|      0|			        t_type, inp, stcb, net);
 2475|      0|			return;
 2476|      0|		}
 2477|  67.9k|		tmr = &net->pmtu_timer;
 2478|  67.9k|		to_ticks = inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_PMTU];
  ------------------
  |  |  521|  67.9k|#define SCTP_TIMER_PMTU		4
  ------------------
 2479|  67.9k|		break;
 2480|     54|	case SCTP_TIMER_TYPE_SHUTDOWNACK:
  ------------------
  |  |  540|     54|#define SCTP_TIMER_TYPE_SHUTDOWNACK	9
  ------------------
  |  Branch (2480:2): [True: 54, False: 235k]
  ------------------
 2481|       |		/* Here we use the RTO of the destination. */
 2482|     54|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2482:7): [True: 0, False: 54]
  |  Branch (2482:24): [True: 0, False: 54]
  |  Branch (2482:42): [True: 0, False: 54]
  ------------------
 2483|      0|#ifdef INVARIANTS
 2484|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2485|      0|			      t_type, inp, stcb, net);
 2486|       |#else
 2487|       |			return;
 2488|       |#endif
 2489|      0|		}
 2490|     54|		tmr = &net->rxt_timer;
 2491|     54|		if (net->RTO == 0) {
  ------------------
  |  Branch (2491:7): [True: 0, False: 54]
  ------------------
 2492|      0|			to_ticks = sctp_msecs_to_ticks(stcb->asoc.initial_rto);
 2493|     54|		} else {
 2494|     54|			to_ticks = sctp_msecs_to_ticks(net->RTO);
 2495|     54|		}
 2496|     54|		break;
 2497|      0|	case SCTP_TIMER_TYPE_ASCONF:
  ------------------
  |  |  541|      0|#define SCTP_TIMER_TYPE_ASCONF		10
  ------------------
  |  Branch (2497:2): [True: 0, False: 235k]
  ------------------
 2498|       |		/*
 2499|       |		 * Here the timer comes from the stcb but its value is from
 2500|       |		 * the net's RTO.
 2501|       |		 */
 2502|      0|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2502:7): [True: 0, False: 0]
  |  Branch (2502:24): [True: 0, False: 0]
  |  Branch (2502:42): [True: 0, False: 0]
  ------------------
 2503|      0|#ifdef INVARIANTS
 2504|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2505|      0|			      t_type, inp, stcb, net);
 2506|       |#else
 2507|       |			return;
 2508|       |#endif
 2509|      0|		}
 2510|      0|		tmr = &stcb->asoc.asconf_timer;
 2511|      0|		if (net->RTO == 0) {
  ------------------
  |  Branch (2511:7): [True: 0, False: 0]
  ------------------
 2512|      0|			to_ticks = sctp_msecs_to_ticks(stcb->asoc.initial_rto);
 2513|      0|		} else {
 2514|      0|			to_ticks = sctp_msecs_to_ticks(net->RTO);
 2515|      0|		}
 2516|      0|		break;
 2517|      0|	case SCTP_TIMER_TYPE_SHUTDOWNGUARD:
  ------------------
  |  |  542|      0|#define SCTP_TIMER_TYPE_SHUTDOWNGUARD	11
  ------------------
  |  Branch (2517:2): [True: 0, False: 235k]
  ------------------
 2518|       |		/*
 2519|       |		 * Here we use the endpoints shutdown guard timer usually
 2520|       |		 * about 3 minutes.
 2521|       |		 */
 2522|      0|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2522:7): [True: 0, False: 0]
  |  Branch (2522:24): [True: 0, False: 0]
  |  Branch (2522:42): [True: 0, False: 0]
  ------------------
 2523|      0|#ifdef INVARIANTS
 2524|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2525|      0|			      t_type, inp, stcb, net);
 2526|       |#else
 2527|       |			return;
 2528|       |#endif
 2529|      0|		}
 2530|      0|		tmr = &stcb->asoc.shut_guard_timer;
 2531|      0|		if (inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_MAXSHUTDOWN] == 0) {
  ------------------
  |  |  522|      0|#define SCTP_TIMER_MAXSHUTDOWN	5
  ------------------
  |  Branch (2531:7): [True: 0, False: 0]
  ------------------
 2532|      0|			if (stcb->asoc.maxrto < UINT32_MAX / 5) {
  ------------------
  |  Branch (2532:8): [True: 0, False: 0]
  ------------------
 2533|      0|				to_ticks = sctp_msecs_to_ticks(5 * stcb->asoc.maxrto);
 2534|      0|			} else {
 2535|      0|				to_ticks = sctp_msecs_to_ticks(UINT32_MAX);
 2536|      0|			}
 2537|      0|		} else {
 2538|      0|			to_ticks = inp->sctp_ep.sctp_timeoutticks[SCTP_TIMER_MAXSHUTDOWN];
  ------------------
  |  |  522|      0|#define SCTP_TIMER_MAXSHUTDOWN	5
  ------------------
 2539|      0|		}
 2540|      0|		break;
 2541|      0|	case SCTP_TIMER_TYPE_AUTOCLOSE:
  ------------------
  |  |  543|      0|#define SCTP_TIMER_TYPE_AUTOCLOSE	12
  ------------------
  |  Branch (2541:2): [True: 0, False: 235k]
  ------------------
 2542|      0|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2542:7): [True: 0, False: 0]
  |  Branch (2542:24): [True: 0, False: 0]
  |  Branch (2542:42): [True: 0, False: 0]
  ------------------
 2543|      0|#ifdef INVARIANTS
 2544|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2545|      0|			      t_type, inp, stcb, net);
 2546|       |#else
 2547|       |			return;
 2548|       |#endif
 2549|      0|		}
 2550|      0|		tmr = &stcb->asoc.autoclose_timer;
 2551|      0|		to_ticks = stcb->asoc.sctp_autoclose_ticks;
 2552|      0|		break;
 2553|  2.89k|	case SCTP_TIMER_TYPE_STRRESET:
  ------------------
  |  |  544|  2.89k|#define SCTP_TIMER_TYPE_STRRESET	13
  ------------------
  |  Branch (2553:2): [True: 2.89k, False: 232k]
  ------------------
 2554|       |		/*
 2555|       |		 * Here the timer comes from the stcb but its value is from
 2556|       |		 * the net's RTO.
 2557|       |		 */
 2558|  2.89k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2558:7): [True: 0, False: 2.89k]
  |  Branch (2558:24): [True: 0, False: 2.89k]
  |  Branch (2558:42): [True: 0, False: 2.89k]
  ------------------
 2559|      0|#ifdef INVARIANTS
 2560|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2561|      0|			      t_type, inp, stcb, net);
 2562|       |#else
 2563|       |			return;
 2564|       |#endif
 2565|      0|		}
 2566|  2.89k|		tmr = &stcb->asoc.strreset_timer;
 2567|  2.89k|		if (net->RTO == 0) {
  ------------------
  |  Branch (2567:7): [True: 13, False: 2.88k]
  ------------------
 2568|     13|			to_ticks = sctp_msecs_to_ticks(stcb->asoc.initial_rto);
 2569|  2.88k|		} else {
 2570|  2.88k|			to_ticks = sctp_msecs_to_ticks(net->RTO);
 2571|  2.88k|		}
 2572|  2.89k|		break;
 2573|     21|	case SCTP_TIMER_TYPE_INPKILL:
  ------------------
  |  |  545|     21|#define SCTP_TIMER_TYPE_INPKILL		14
  ------------------
  |  Branch (2573:2): [True: 21, False: 235k]
  ------------------
 2574|       |		/*
 2575|       |		 * The inp is setup to die. We re-use the signature_change
 2576|       |		 * timer since that has stopped and we are in the GONE
 2577|       |		 * state.
 2578|       |		 */
 2579|     21|		if ((inp == NULL) || (stcb != NULL) || (net != NULL)) {
  ------------------
  |  Branch (2579:7): [True: 0, False: 21]
  |  Branch (2579:24): [True: 0, False: 21]
  |  Branch (2579:42): [True: 0, False: 21]
  ------------------
 2580|      0|#ifdef INVARIANTS
 2581|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2582|      0|			      t_type, inp, stcb, net);
 2583|       |#else
 2584|       |			return;
 2585|       |#endif
 2586|      0|		}
 2587|     21|		tmr = &inp->sctp_ep.signature_change;
 2588|     21|		to_ticks = sctp_msecs_to_ticks(SCTP_INP_KILL_TIMEOUT);
  ------------------
  |  |  610|     21|#define SCTP_INP_KILL_TIMEOUT 20	/* number of ms to retry kill of inpcb */
  ------------------
 2589|     21|		break;
 2590|  2.10k|	case SCTP_TIMER_TYPE_ASOCKILL:
  ------------------
  |  |  546|  2.10k|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
  |  Branch (2590:2): [True: 2.10k, False: 232k]
  ------------------
 2591|  2.10k|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2591:7): [True: 0, False: 2.10k]
  |  Branch (2591:24): [True: 0, False: 2.10k]
  |  Branch (2591:42): [True: 0, False: 2.10k]
  ------------------
 2592|      0|#ifdef INVARIANTS
 2593|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2594|      0|			      t_type, inp, stcb, net);
 2595|       |#else
 2596|       |			return;
 2597|       |#endif
 2598|      0|		}
 2599|  2.10k|		tmr = &stcb->asoc.strreset_timer;
 2600|  2.10k|		to_ticks = sctp_msecs_to_ticks(SCTP_ASOC_KILL_TIMEOUT);
  ------------------
  |  |  611|  2.10k|#define SCTP_ASOC_KILL_TIMEOUT 10	/* number of ms to retry kill of inpcb */
  ------------------
 2601|  2.10k|		break;
 2602|      0|	case SCTP_TIMER_TYPE_ADDR_WQ:
  ------------------
  |  |  547|      0|#define SCTP_TIMER_TYPE_ADDR_WQ		16
  ------------------
  |  Branch (2602:2): [True: 0, False: 235k]
  ------------------
 2603|      0|		if ((inp != NULL) || (stcb != NULL) || (net != NULL)) {
  ------------------
  |  Branch (2603:7): [True: 0, False: 0]
  |  Branch (2603:24): [True: 0, False: 0]
  |  Branch (2603:42): [True: 0, False: 0]
  ------------------
 2604|      0|#ifdef INVARIANTS
 2605|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2606|      0|			      t_type, inp, stcb, net);
 2607|       |#else
 2608|       |			return;
 2609|       |#endif
 2610|      0|		}
 2611|       |		/* Only 1 tick away :-) */
 2612|      0|		tmr = &SCTP_BASE_INFO(addr_wq_timer);
  ------------------
  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 2613|      0|		to_ticks = SCTP_ADDRESS_TICK_DELAY;
  ------------------
  |  |   84|      0|#define SCTP_ADDRESS_TICK_DELAY 2
  ------------------
 2614|      0|		break;
 2615|      0|	case SCTP_TIMER_TYPE_PRIM_DELETED:
  ------------------
  |  |  548|      0|#define SCTP_TIMER_TYPE_PRIM_DELETED	17
  ------------------
  |  Branch (2615:2): [True: 0, False: 235k]
  ------------------
 2616|      0|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2616:7): [True: 0, False: 0]
  |  Branch (2616:24): [True: 0, False: 0]
  |  Branch (2616:42): [True: 0, False: 0]
  ------------------
 2617|      0|#ifdef INVARIANTS
 2618|      0|			panic("sctp_timer_start of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2619|      0|			      t_type, inp, stcb, net);
 2620|       |#else
 2621|       |			return;
 2622|       |#endif
 2623|      0|		}
 2624|      0|		tmr = &stcb->asoc.delete_prim_timer;
 2625|      0|		to_ticks = sctp_msecs_to_ticks(stcb->asoc.initial_rto);
 2626|      0|		break;
 2627|      0|	default:
  ------------------
  |  Branch (2627:2): [True: 0, False: 235k]
  ------------------
 2628|      0|#ifdef INVARIANTS
 2629|      0|		panic("Unknown timer type %d", t_type);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2630|       |#else
 2631|       |		return;
 2632|       |#endif
 2633|   235k|	}
 2634|   235k|	KASSERT(tmr != NULL, ("tmr is NULL for timer type %d", t_type));
  ------------------
  |  |  112|   235k|	do {                         \
  |  |  113|   235k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 235k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   235k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2635|   235k|	KASSERT(to_ticks > 0, ("to_ticks == 0 for timer type %d", t_type));
  ------------------
  |  |  112|   235k|	do {                         \
  |  |  113|   235k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 235k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   235k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2636|   235k|	if (SCTP_OS_TIMER_PENDING(&tmr->timer)) {
  ------------------
  |  |  102|   235k|#define	SCTP_OS_TIMER_PENDING(tmr) ((tmr)->c_flags & SCTP_CALLOUT_PENDING)
  |  |  ------------------
  |  |  |  |   83|   235k|#define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
  |  |  ------------------
  |  |  |  Branch (102:36): [True: 53.2k, False: 181k]
  |  |  ------------------
  ------------------
 2637|       |		/*
 2638|       |		 * We do NOT allow you to have it already running. If it is,
 2639|       |		 * we leave the current one up unchanged.
 2640|       |		 */
 2641|  53.2k|		SCTPDBG(SCTP_DEBUG_TIMER2,
 2642|  53.2k|		        "Timer type %d already running: inp=%p, stcb=%p, net=%p.\n",
 2643|  53.2k|		         t_type, inp, stcb, net);
 2644|  53.2k|		return;
 2645|  53.2k|	}
 2646|       |	/* At this point we can proceed. */
 2647|   181k|	if (t_type == SCTP_TIMER_TYPE_SEND) {
  ------------------
  |  |  532|   181k|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
  |  Branch (2647:6): [True: 3.22k, False: 178k]
  ------------------
 2648|  3.22k|		stcb->asoc.num_send_timers_up++;
 2649|  3.22k|	}
 2650|   181k|	tmr->stopped_from = 0;
 2651|   181k|	tmr->type = t_type;
 2652|   181k|	tmr->ep = (void *)inp;
 2653|   181k|	tmr->tcb = (void *)stcb;
 2654|   181k|	if (t_type == SCTP_TIMER_TYPE_STRRESET) {
  ------------------
  |  |  544|   181k|#define SCTP_TIMER_TYPE_STRRESET	13
  ------------------
  |  Branch (2654:6): [True: 2.85k, False: 178k]
  ------------------
 2655|  2.85k|		tmr->net = NULL;
 2656|   178k|	} else {
 2657|   178k|		tmr->net = (void *)net;
 2658|   178k|	}
 2659|   181k|	tmr->self = (void *)tmr;
 2660|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 2661|       |	tmr->vnet = (void *)curvnet;
 2662|       |#endif
 2663|   181k|	tmr->ticks = sctp_get_tick_count();
 2664|   181k|	if (SCTP_OS_TIMER_START(&tmr->timer, to_ticks, sctp_timeout_handler, tmr) == 0) {
  ------------------
  |  |   98|   181k|#define SCTP_OS_TIMER_START	sctp_os_timer_start
  ------------------
  |  Branch (2664:6): [True: 181k, False: 18.4E]
  ------------------
 2665|   181k|		SCTPDBG(SCTP_DEBUG_TIMER2,
 2666|   181k|		        "Timer type %d started: ticks=%u, inp=%p, stcb=%p, net=%p.\n",
 2667|   181k|		         t_type, to_ticks, inp, stcb, net);
 2668|       |		/*
 2669|       |		 * If this is a newly scheduled callout, as opposed to a
 2670|       |		 * rescheduled one, increment relevant reference counts.
 2671|       |		 */
 2672|   181k|		if (tmr->ep != NULL) {
  ------------------
  |  Branch (2672:7): [True: 181k, False: 0]
  ------------------
 2673|   181k|			SCTP_INP_INCR_REF(inp);
  ------------------
  |  |  411|   181k|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|   181k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 2674|   181k|		}
 2675|   181k|		if (tmr->tcb != NULL) {
  ------------------
  |  Branch (2675:7): [True: 170k, False: 11.5k]
  ------------------
 2676|   170k|			atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|   170k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 2677|   170k|		}
 2678|   181k|		if (tmr->net != NULL) {
  ------------------
  |  Branch (2678:7): [True: 165k, False: 16.6k]
  ------------------
 2679|   165k|			atomic_add_int(&net->ref_count, 1);
  ------------------
  |  |   94|   165k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 2680|   165k|		}
 2681|  18.4E|	} else {
 2682|       |		/*
 2683|       |		 * This should not happen, since we checked for pending
 2684|       |		 * above.
 2685|       |		 */
 2686|  18.4E|		SCTPDBG(SCTP_DEBUG_TIMER2,
 2687|  18.4E|		        "Timer type %d restarted: ticks=%u, inp=%p, stcb=%p, net=%p.\n",
 2688|  18.4E|		         t_type, to_ticks, inp, stcb, net);
 2689|  18.4E|	}
 2690|   181k|	return;
 2691|   235k|}
sctp_timer_stop:
 2723|   546k|{
 2724|   546k|	struct sctp_timer *tmr;
 2725|       |
 2726|   546k|	KASSERT(stcb == NULL || stcb->sctp_ep == inp,
  ------------------
  |  |  112|   546k|	do {                         \
  |  |  113|  1.08M|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 11.6k, False: 534k]
  |  |  |  Branch (113:9): [True: 534k, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   546k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2727|   546k|	        ("sctp_timer_stop of type %d: inp = %p, stcb->sctp_ep %p",
 2728|   546k|	         t_type, stcb, stcb->sctp_ep));
 2729|   546k|	if (stcb != NULL) {
  ------------------
  |  Branch (2729:6): [True: 534k, False: 11.6k]
  ------------------
 2730|   534k|		SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|   534k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   534k|	do {                         \
  |  |  |  |  113|   534k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 534k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   534k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2731|   534k|	} else if (inp != NULL) {
  ------------------
  |  Branch (2731:13): [True: 11.6k, False: 0]
  ------------------
 2732|  11.6k|		SCTP_INP_WLOCK_ASSERT(inp);
  ------------------
  |  |  410|  11.6k|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_mtx) == EBUSY, ("%s:%d: inp_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.6k|	do {                         \
  |  |  |  |  113|  11.6k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.6k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.6k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2733|  11.6k|	} else {
 2734|      0|		SCTP_WQ_ADDR_LOCK_ASSERT();
  ------------------
  |  |  287|      0|	KASSERT(pthread_mutex_trylock(&SCTP_BASE_INFO(wq_addr_mtx)) == EBUSY, ("%s:%d: wq_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2735|      0|	}
 2736|   546k|	tmr = NULL;
 2737|   546k|	switch (t_type) {
 2738|  33.0k|	case SCTP_TIMER_TYPE_SEND:
  ------------------
  |  |  532|  33.0k|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
  |  Branch (2738:2): [True: 33.0k, False: 512k]
  ------------------
 2739|  33.0k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2739:7): [True: 0, False: 33.0k]
  |  Branch (2739:24): [True: 0, False: 33.0k]
  |  Branch (2739:42): [True: 0, False: 33.0k]
  ------------------
 2740|      0|#ifdef INVARIANTS
 2741|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2742|      0|			      t_type, inp, stcb, net);
 2743|       |#else
 2744|       |			return;
 2745|       |#endif
 2746|      0|		}
 2747|  33.0k|		tmr = &net->rxt_timer;
 2748|  33.0k|		break;
 2749|  54.3k|	case SCTP_TIMER_TYPE_INIT:
  ------------------
  |  |  533|  54.3k|#define SCTP_TIMER_TYPE_INIT		2
  ------------------
  |  Branch (2749:2): [True: 54.3k, False: 491k]
  ------------------
 2750|  54.3k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2750:7): [True: 0, False: 54.3k]
  |  Branch (2750:24): [True: 0, False: 54.3k]
  |  Branch (2750:42): [True: 0, False: 54.3k]
  ------------------
 2751|      0|#ifdef INVARIANTS
 2752|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2753|      0|			      t_type, inp, stcb, net);
 2754|       |#else
 2755|       |			return;
 2756|       |#endif
 2757|      0|		}
 2758|  54.3k|		tmr = &net->rxt_timer;
 2759|  54.3k|		break;
 2760|  30.3k|	case SCTP_TIMER_TYPE_RECV:
  ------------------
  |  |  534|  30.3k|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
  |  Branch (2760:2): [True: 30.3k, False: 515k]
  ------------------
 2761|  30.3k|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2761:7): [True: 0, False: 30.3k]
  |  Branch (2761:24): [True: 0, False: 30.3k]
  |  Branch (2761:42): [True: 0, False: 30.3k]
  ------------------
 2762|      0|#ifdef INVARIANTS
 2763|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2764|      0|			      t_type, inp, stcb, net);
 2765|       |#else
 2766|       |			return;
 2767|       |#endif
 2768|      0|		}
 2769|  30.3k|		tmr = &stcb->asoc.dack_timer;
 2770|  30.3k|		break;
 2771|  33.0k|	case SCTP_TIMER_TYPE_SHUTDOWN:
  ------------------
  |  |  535|  33.0k|#define SCTP_TIMER_TYPE_SHUTDOWN	4
  ------------------
  |  Branch (2771:2): [True: 33.0k, False: 512k]
  ------------------
 2772|  33.0k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2772:7): [True: 0, False: 33.0k]
  |  Branch (2772:24): [True: 0, False: 33.0k]
  |  Branch (2772:42): [True: 0, False: 33.0k]
  ------------------
 2773|      0|#ifdef INVARIANTS
 2774|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2775|      0|			      t_type, inp, stcb, net);
 2776|       |#else
 2777|       |			return;
 2778|       |#endif
 2779|      0|		}
 2780|  33.0k|		tmr = &net->rxt_timer;
 2781|  33.0k|		break;
 2782|  88.5k|	case SCTP_TIMER_TYPE_HEARTBEAT:
  ------------------
  |  |  536|  88.5k|#define SCTP_TIMER_TYPE_HEARTBEAT	5
  ------------------
  |  Branch (2782:2): [True: 88.5k, False: 457k]
  ------------------
 2783|  88.5k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2783:7): [True: 0, False: 88.5k]
  |  Branch (2783:24): [True: 0, False: 88.5k]
  |  Branch (2783:42): [True: 0, False: 88.5k]
  ------------------
 2784|      0|#ifdef INVARIANTS
 2785|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2786|      0|			      t_type, inp, stcb, net);
 2787|       |#else
 2788|       |			return;
 2789|       |#endif
 2790|      0|		}
 2791|  88.5k|		tmr = &net->hb_timer;
 2792|  88.5k|		break;
 2793|  43.5k|	case SCTP_TIMER_TYPE_COOKIE:
  ------------------
  |  |  537|  43.5k|#define SCTP_TIMER_TYPE_COOKIE		6
  ------------------
  |  Branch (2793:2): [True: 43.5k, False: 502k]
  ------------------
 2794|  43.5k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2794:7): [True: 0, False: 43.5k]
  |  Branch (2794:24): [True: 0, False: 43.5k]
  |  Branch (2794:42): [True: 0, False: 43.5k]
  ------------------
 2795|      0|#ifdef INVARIANTS
 2796|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2797|      0|			      t_type, inp, stcb, net);
 2798|       |#else
 2799|       |			return;
 2800|       |#endif
 2801|      0|		}
 2802|  43.5k|		tmr = &net->rxt_timer;
 2803|  43.5k|		break;
 2804|  11.5k|	case SCTP_TIMER_TYPE_NEWCOOKIE:
  ------------------
  |  |  538|  11.5k|#define SCTP_TIMER_TYPE_NEWCOOKIE	7
  ------------------
  |  Branch (2804:2): [True: 11.5k, False: 534k]
  ------------------
 2805|  11.5k|		if ((inp == NULL) || (stcb != NULL) || (net != NULL)) {
  ------------------
  |  Branch (2805:7): [True: 0, False: 11.5k]
  |  Branch (2805:24): [True: 0, False: 11.5k]
  |  Branch (2805:42): [True: 0, False: 11.5k]
  ------------------
 2806|      0|#ifdef INVARIANTS
 2807|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2808|      0|			      t_type, inp, stcb, net);
 2809|       |#else
 2810|       |			return;
 2811|       |#endif
 2812|      0|		}
 2813|  11.5k|		tmr = &inp->sctp_ep.signature_change;
 2814|  11.5k|		break;
 2815|  88.4k|	case SCTP_TIMER_TYPE_PATHMTURAISE:
  ------------------
  |  |  539|  88.4k|#define SCTP_TIMER_TYPE_PATHMTURAISE	8
  ------------------
  |  Branch (2815:2): [True: 88.4k, False: 457k]
  ------------------
 2816|  88.4k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2816:7): [True: 0, False: 88.4k]
  |  Branch (2816:24): [True: 0, False: 88.4k]
  |  Branch (2816:42): [True: 0, False: 88.4k]
  ------------------
 2817|      0|#ifdef INVARIANTS
 2818|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2819|      0|			      t_type, inp, stcb, net);
 2820|       |#else
 2821|       |			return;
 2822|       |#endif
 2823|      0|		}
 2824|  88.4k|		tmr = &net->pmtu_timer;
 2825|  88.4k|		break;
 2826|  33.0k|	case SCTP_TIMER_TYPE_SHUTDOWNACK:
  ------------------
  |  |  540|  33.0k|#define SCTP_TIMER_TYPE_SHUTDOWNACK	9
  ------------------
  |  Branch (2826:2): [True: 33.0k, False: 512k]
  ------------------
 2827|  33.0k|		if ((inp == NULL) || (stcb == NULL) || (net == NULL)) {
  ------------------
  |  Branch (2827:7): [True: 0, False: 33.0k]
  |  Branch (2827:24): [True: 0, False: 33.0k]
  |  Branch (2827:42): [True: 0, False: 33.0k]
  ------------------
 2828|      0|#ifdef INVARIANTS
 2829|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2830|      0|			      t_type, inp, stcb, net);
 2831|       |#else
 2832|       |			return;
 2833|       |#endif
 2834|      0|		}
 2835|  33.0k|		tmr = &net->rxt_timer;
 2836|  33.0k|		break;
 2837|  23.7k|	case SCTP_TIMER_TYPE_ASCONF:
  ------------------
  |  |  541|  23.7k|#define SCTP_TIMER_TYPE_ASCONF		10
  ------------------
  |  Branch (2837:2): [True: 23.7k, False: 522k]
  ------------------
 2838|  23.7k|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2838:7): [True: 0, False: 23.7k]
  |  Branch (2838:24): [True: 0, False: 23.7k]
  |  Branch (2838:42): [True: 0, False: 23.7k]
  ------------------
 2839|      0|#ifdef INVARIANTS
 2840|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2841|      0|			      t_type, inp, stcb, net);
 2842|       |#else
 2843|       |			return;
 2844|       |#endif
 2845|      0|		}
 2846|  23.7k|		tmr = &stcb->asoc.asconf_timer;
 2847|  23.7k|		break;
 2848|  23.1k|	case SCTP_TIMER_TYPE_SHUTDOWNGUARD:
  ------------------
  |  |  542|  23.1k|#define SCTP_TIMER_TYPE_SHUTDOWNGUARD	11
  ------------------
  |  Branch (2848:2): [True: 23.1k, False: 522k]
  ------------------
 2849|  23.1k|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2849:7): [True: 0, False: 23.1k]
  |  Branch (2849:24): [True: 0, False: 23.1k]
  |  Branch (2849:42): [True: 0, False: 23.1k]
  ------------------
 2850|      0|#ifdef INVARIANTS
 2851|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2852|      0|			      t_type, inp, stcb, net);
 2853|       |#else
 2854|       |			return;
 2855|       |#endif
 2856|      0|		}
 2857|  23.1k|		tmr = &stcb->asoc.shut_guard_timer;
 2858|  23.1k|		break;
 2859|  23.1k|	case SCTP_TIMER_TYPE_AUTOCLOSE:
  ------------------
  |  |  543|  23.1k|#define SCTP_TIMER_TYPE_AUTOCLOSE	12
  ------------------
  |  Branch (2859:2): [True: 23.1k, False: 522k]
  ------------------
 2860|  23.1k|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2860:7): [True: 0, False: 23.1k]
  |  Branch (2860:24): [True: 0, False: 23.1k]
  |  Branch (2860:42): [True: 0, False: 23.1k]
  ------------------
 2861|      0|#ifdef INVARIANTS
 2862|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2863|      0|			      t_type, inp, stcb, net);
 2864|       |#else
 2865|       |			return;
 2866|       |#endif
 2867|      0|		}
 2868|  23.1k|		tmr = &stcb->asoc.autoclose_timer;
 2869|  23.1k|		break;
 2870|  23.1k|	case SCTP_TIMER_TYPE_STRRESET:
  ------------------
  |  |  544|  23.1k|#define SCTP_TIMER_TYPE_STRRESET	13
  ------------------
  |  Branch (2870:2): [True: 23.1k, False: 522k]
  ------------------
 2871|  23.1k|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2871:7): [True: 0, False: 23.1k]
  |  Branch (2871:24): [True: 0, False: 23.1k]
  |  Branch (2871:42): [True: 0, False: 23.1k]
  ------------------
 2872|      0|#ifdef INVARIANTS
 2873|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2874|      0|			      t_type, inp, stcb, net);
 2875|       |#else
 2876|       |			return;
 2877|       |#endif
 2878|      0|		}
 2879|  23.1k|		tmr = &stcb->asoc.strreset_timer;
 2880|  23.1k|		break;
 2881|     21|	case SCTP_TIMER_TYPE_INPKILL:
  ------------------
  |  |  545|     21|#define SCTP_TIMER_TYPE_INPKILL		14
  ------------------
  |  Branch (2881:2): [True: 21, False: 546k]
  ------------------
 2882|       |		/*
 2883|       |		 * The inp is setup to die. We re-use the signature_change
 2884|       |		 * timer since that has stopped and we are in the GONE
 2885|       |		 * state.
 2886|       |		 */
 2887|     21|		if ((inp == NULL) || (stcb != NULL) || (net != NULL)) {
  ------------------
  |  Branch (2887:7): [True: 0, False: 21]
  |  Branch (2887:24): [True: 0, False: 21]
  |  Branch (2887:42): [True: 0, False: 21]
  ------------------
 2888|      0|#ifdef INVARIANTS
 2889|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2890|      0|			      t_type, inp, stcb, net);
 2891|       |#else
 2892|       |			return;
 2893|       |#endif
 2894|      0|		}
 2895|     21|		tmr = &inp->sctp_ep.signature_change;
 2896|     21|		break;
 2897|  13.6k|	case SCTP_TIMER_TYPE_ASOCKILL:
  ------------------
  |  |  546|  13.6k|#define SCTP_TIMER_TYPE_ASOCKILL	15
  ------------------
  |  Branch (2897:2): [True: 13.6k, False: 532k]
  ------------------
 2898|  13.6k|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2898:7): [True: 0, False: 13.6k]
  |  Branch (2898:24): [True: 0, False: 13.6k]
  |  Branch (2898:42): [True: 0, False: 13.6k]
  ------------------
 2899|      0|#ifdef INVARIANTS
 2900|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2901|      0|			      t_type, inp, stcb, net);
 2902|       |#else
 2903|       |			return;
 2904|       |#endif
 2905|      0|		}
 2906|  13.6k|		tmr = &stcb->asoc.strreset_timer;
 2907|  13.6k|		break;
 2908|      0|	case SCTP_TIMER_TYPE_ADDR_WQ:
  ------------------
  |  |  547|      0|#define SCTP_TIMER_TYPE_ADDR_WQ		16
  ------------------
  |  Branch (2908:2): [True: 0, False: 546k]
  ------------------
 2909|      0|		if ((inp != NULL) || (stcb != NULL) || (net != NULL)) {
  ------------------
  |  Branch (2909:7): [True: 0, False: 0]
  |  Branch (2909:24): [True: 0, False: 0]
  |  Branch (2909:42): [True: 0, False: 0]
  ------------------
 2910|      0|#ifdef INVARIANTS
 2911|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2912|      0|			      t_type, inp, stcb, net);
 2913|       |#else
 2914|       |			return;
 2915|       |#endif
 2916|      0|		}
 2917|      0|		tmr = &SCTP_BASE_INFO(addr_wq_timer);
  ------------------
  |  |  581|      0|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  ------------------
 2918|      0|		break;
 2919|  23.1k|	case SCTP_TIMER_TYPE_PRIM_DELETED:
  ------------------
  |  |  548|  23.1k|#define SCTP_TIMER_TYPE_PRIM_DELETED	17
  ------------------
  |  Branch (2919:2): [True: 23.1k, False: 522k]
  ------------------
 2920|  23.1k|		if ((inp == NULL) || (stcb == NULL) || (net != NULL)) {
  ------------------
  |  Branch (2920:7): [True: 0, False: 23.1k]
  |  Branch (2920:24): [True: 0, False: 23.1k]
  |  Branch (2920:42): [True: 0, False: 23.1k]
  ------------------
 2921|      0|#ifdef INVARIANTS
 2922|      0|			panic("sctp_timer_stop of type %d: inp = %p, stcb = %p, net = %p",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2923|      0|			      t_type, inp, stcb, net);
 2924|       |#else
 2925|       |			return;
 2926|       |#endif
 2927|      0|		}
 2928|  23.1k|		tmr = &stcb->asoc.delete_prim_timer;
 2929|  23.1k|		break;
 2930|      0|	default:
  ------------------
  |  Branch (2930:2): [True: 0, False: 546k]
  ------------------
 2931|      0|#ifdef INVARIANTS
 2932|      0|		panic("Unknown timer type %d", t_type);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2933|       |#else
 2934|       |		return;
 2935|       |#endif
 2936|   546k|	}
 2937|   546k|	KASSERT(tmr != NULL, ("tmr is NULL for timer type %d", t_type));
  ------------------
  |  |  112|   546k|	do {                         \
  |  |  113|   546k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 546k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   546k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2938|   546k|	if ((tmr->type != SCTP_TIMER_TYPE_NONE) &&
  ------------------
  |  |  531|   546k|#define SCTP_TIMER_TYPE_NONE		0
  ------------------
  |  Branch (2938:6): [True: 327k, False: 218k]
  ------------------
 2939|   546k|	    (tmr->type != t_type)) {
  ------------------
  |  Branch (2939:6): [True: 97.0k, False: 230k]
  ------------------
 2940|       |		/*
 2941|       |		 * Ok we have a timer that is under joint use. Cookie timer
 2942|       |		 * per chance with the SEND timer. We therefore are NOT
 2943|       |		 * running the timer that the caller wants stopped.  So just
 2944|       |		 * return.
 2945|       |		 */
 2946|  97.0k|		SCTPDBG(SCTP_DEBUG_TIMER2,
 2947|  97.0k|		        "Shared timer type %d not running: inp=%p, stcb=%p, net=%p.\n",
 2948|  97.0k|		         t_type, inp, stcb, net);
 2949|  97.0k|		return;
 2950|  97.0k|	}
 2951|   449k|	if ((t_type == SCTP_TIMER_TYPE_SEND) && (stcb != NULL)) {
  ------------------
  |  |  532|   449k|#define SCTP_TIMER_TYPE_SEND		1
  ------------------
  |  Branch (2951:6): [True: 15.9k, False: 433k]
  |  Branch (2951:42): [True: 15.9k, False: 0]
  ------------------
 2952|  15.9k|		stcb->asoc.num_send_timers_up--;
 2953|  15.9k|		if (stcb->asoc.num_send_timers_up < 0) {
  ------------------
  |  Branch (2953:7): [True: 12.7k, False: 3.21k]
  ------------------
 2954|  12.7k|			stcb->asoc.num_send_timers_up = 0;
 2955|  12.7k|		}
 2956|  15.9k|	}
 2957|   449k|	tmr->self = NULL;
 2958|   449k|	tmr->stopped_from = from;
 2959|   449k|	if (SCTP_OS_TIMER_STOP(&tmr->timer) == 1) {
  ------------------
  |  |   99|   449k|#define SCTP_OS_TIMER_STOP	sctp_os_timer_stop
  ------------------
  |  Branch (2959:6): [True: 179k, False: 269k]
  ------------------
 2960|   179k|		KASSERT(tmr->ep == inp,
  ------------------
  |  |  112|   179k|	do {                         \
  |  |  113|   179k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 179k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   179k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2961|   179k|		        ("sctp_timer_stop of type %d: inp = %p, tmr->inp = %p",
 2962|   179k|		         t_type, inp, tmr->ep));
 2963|   179k|		KASSERT(tmr->tcb == stcb,
  ------------------
  |  |  112|   179k|	do {                         \
  |  |  113|   179k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 179k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   179k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2964|   179k|		        ("sctp_timer_stop of type %d: stcb = %p, tmr->stcb = %p",
 2965|   179k|		         t_type, stcb, tmr->tcb));
 2966|   179k|		KASSERT(((t_type == SCTP_TIMER_TYPE_ASCONF) && (tmr->net != NULL)) ||
  ------------------
  |  |  112|   179k|	do {                         \
  |  |  113|   898k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 179k]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 179k, False: 0]
  |  |  |  Branch (113:9): [True: 179k, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   179k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2967|   179k|		        ((t_type != SCTP_TIMER_TYPE_ASCONF) && (tmr->net == net)),
 2968|   179k|		        ("sctp_timer_stop of type %d: net = %p, tmr->net = %p",
 2969|   179k|		         t_type, net, tmr->net));
 2970|   179k|		SCTPDBG(SCTP_DEBUG_TIMER2,
 2971|   179k|		        "Timer type %d stopped: inp=%p, stcb=%p, net=%p.\n",
 2972|   179k|		        t_type, inp, stcb, net);
 2973|       |		/*
 2974|       |		 * If the timer was actually stopped, decrement reference counts
 2975|       |		 * that were incremented in sctp_timer_start().
 2976|       |		 */
 2977|   179k|		if (tmr->ep != NULL) {
  ------------------
  |  Branch (2977:7): [True: 179k, False: 0]
  ------------------
 2978|   179k|			tmr->ep = NULL;
 2979|   179k|			SCTP_INP_DECR_REF(inp);
  ------------------
  |  |  412|   179k|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|   179k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 2980|   179k|		}
 2981|   179k|		if (tmr->tcb != NULL) {
  ------------------
  |  Branch (2981:7): [True: 168k, False: 11.5k]
  ------------------
 2982|   168k|			tmr->tcb = NULL;
 2983|   168k|			atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|   168k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 2984|   168k|		}
 2985|   179k|		if (tmr->net != NULL) {
  ------------------
  |  Branch (2985:7): [True: 165k, False: 14.5k]
  ------------------
 2986|   165k|			struct sctp_nets *tmr_net;
 2987|       |
 2988|       |			/*
 2989|       |			 * Can't use net, since it doesn't work for
 2990|       |			 * SCTP_TIMER_TYPE_ASCONF.
 2991|       |			 */
 2992|   165k|			tmr_net = tmr->net;
 2993|   165k|			tmr->net = NULL;
 2994|   165k|			sctp_free_remote_addr(tmr_net);
  ------------------
  |  |  228|   165k|#define sctp_free_remote_addr(__net) { \
  |  |  229|   165k|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 165k, False: 0]
  |  |  ------------------
  |  |  230|   165k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|   165k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|   165k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 165k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|   165k|	} \
  |  |  245|   165k|}
  ------------------
 2995|   165k|		}
 2996|   269k|	} else {
 2997|   269k|		SCTPDBG(SCTP_DEBUG_TIMER2,
 2998|   269k|		        "Timer type %d not stopped: inp=%p, stcb=%p, net=%p.\n",
 2999|   269k|		         t_type, inp, stcb, net);
 3000|   269k|	}
 3001|   449k|	return;
 3002|   449k|}
sctp_calculate_len:
 3006|  57.3k|{
 3007|  57.3k|	struct mbuf *at;
 3008|  57.3k|	uint32_t tlen;
 3009|       |
 3010|  57.3k|	tlen = 0;
 3011|   264k|	for (at = m; at != NULL; at = SCTP_BUF_NEXT(at)) {
  ------------------
  |  |  796|   207k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|   207k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (3011:15): [True: 207k, False: 57.3k]
  ------------------
 3012|   207k|		tlen += SCTP_BUF_LEN(at);
  ------------------
  |  |  795|   207k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   207k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3013|   207k|	}
 3014|  57.3k|	return (tlen);
 3015|  57.3k|}
sctp_calculate_rto:
 3030|  17.0k|{
 3031|  17.0k|	struct timeval now;
 3032|  17.0k|	uint64_t rtt_us;	/* RTT in us */
 3033|  17.0k|	int32_t rtt;		/* RTT in ms */
 3034|  17.0k|	uint32_t new_rto;
 3035|  17.0k|	int first_measure = 0;
 3036|       |
 3037|       |	/************************/
 3038|       |	/* 1. calculate new RTT */
 3039|       |	/************************/
 3040|       |	/* get the current time */
 3041|  17.0k|	if (stcb->asoc.use_precise_time) {
  ------------------
  |  Branch (3041:6): [True: 0, False: 17.0k]
  ------------------
 3042|      0|		(void)SCTP_GETPTIME_TIMEVAL(&now);
  ------------------
  |  |  992|      0|#define SCTP_GETPTIME_TIMEVAL(x) gettimeofday(x, NULL)
  ------------------
 3043|  17.0k|	} else {
 3044|  17.0k|		(void)SCTP_GETTIME_TIMEVAL(&now);
  ------------------
  |  |  991|  17.0k|#define SCTP_GETTIME_TIMEVAL(x)	gettimeofday(x, NULL)
  ------------------
 3045|  17.0k|	}
 3046|  17.0k|	if ((old->tv_sec > now.tv_sec) ||
  ------------------
  |  Branch (3046:6): [True: 250, False: 16.8k]
  ------------------
 3047|  17.0k|	    ((old->tv_sec == now.tv_sec) && (old->tv_usec > now.tv_usec))) {
  ------------------
  |  Branch (3047:7): [True: 15.1k, False: 1.63k]
  |  Branch (3047:38): [True: 0, False: 15.1k]
  ------------------
 3048|       |		/* The starting point is in the future. */
 3049|    250|		return (0);
 3050|    250|	}
 3051|  16.8k|	timevalsub(&now, old);
  ------------------
  |  | 1110|  16.8k|	do {                                       \
  |  | 1111|  16.8k|		(tp1)->tv_sec -= (tp2)->tv_sec;    \
  |  | 1112|  16.8k|		(tp1)->tv_usec -= (tp2)->tv_usec;  \
  |  | 1113|  16.8k|		if ((tp1)->tv_usec < 0) {          \
  |  |  ------------------
  |  |  |  Branch (1113:7): [True: 1.27k, False: 15.5k]
  |  |  ------------------
  |  | 1114|  1.27k|			(tp1)->tv_sec--;           \
  |  | 1115|  1.27k|			(tp1)->tv_usec += 1000000; \
  |  | 1116|  1.27k|		}                                  \
  |  | 1117|  16.8k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (1117:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3052|  16.8k|	rtt_us = (uint64_t)1000000 * (uint64_t)now.tv_sec + (uint64_t)now.tv_usec;
 3053|  16.8k|	if (rtt_us > SCTP_RTO_UPPER_BOUND * 1000) {
  ------------------
  |  |  606|  16.8k|#define SCTP_RTO_UPPER_BOUND	(60000)	/* 60 sec in ms */
  ------------------
  |  Branch (3053:6): [True: 1.63k, False: 15.1k]
  ------------------
 3054|       |		/* The RTT is larger than a sane value. */
 3055|  1.63k|		return (0);
 3056|  1.63k|	}
 3057|       |	/* store the current RTT in us */
 3058|  15.1k|	net->rtt = rtt_us;
 3059|       |	/* compute rtt in ms */
 3060|  15.1k|	rtt = (int32_t)(net->rtt / 1000);
 3061|  15.1k|	if ((asoc->cc_functions.sctp_rtt_calculated) && (rtt_from_sack == SCTP_RTT_FROM_DATA)) {
  ------------------
  |  |  341|      0|#define SCTP_RTT_FROM_DATA     1
  ------------------
  |  Branch (3061:6): [True: 0, False: 15.1k]
  |  Branch (3061:50): [True: 0, False: 0]
  ------------------
 3062|       |		/* Tell the CC module that a new update has just occurred from a sack */
 3063|      0|		(*asoc->cc_functions.sctp_rtt_calculated)(stcb, net, &now);
 3064|      0|	}
 3065|       |	/* Do we need to determine the lan? We do this only
 3066|       |	 * on sacks i.e. RTT being determined from data not
 3067|       |	 * non-data (HB/INIT->INITACK).
 3068|       |	 */
 3069|  15.1k|	if ((rtt_from_sack == SCTP_RTT_FROM_DATA) &&
  ------------------
  |  |  341|  15.1k|#define SCTP_RTT_FROM_DATA     1
  ------------------
  |  Branch (3069:6): [True: 0, False: 15.1k]
  ------------------
 3070|  15.1k|	    (net->lan_type == SCTP_LAN_UNKNOWN)) {
  ------------------
  |  |  938|      0|#define SCTP_LAN_UNKNOWN  0
  ------------------
  |  Branch (3070:6): [True: 0, False: 0]
  ------------------
 3071|      0|		if (net->rtt > SCTP_LOCAL_LAN_RTT) {
  ------------------
  |  |  937|      0|#define SCTP_LOCAL_LAN_RTT 900
  ------------------
  |  Branch (3071:7): [True: 0, False: 0]
  ------------------
 3072|      0|			net->lan_type = SCTP_LAN_INTERNET;
  ------------------
  |  |  940|      0|#define SCTP_LAN_INTERNET 2
  ------------------
 3073|      0|		} else {
 3074|      0|			net->lan_type = SCTP_LAN_LOCAL;
  ------------------
  |  |  939|      0|#define SCTP_LAN_LOCAL    1
  ------------------
 3075|      0|		}
 3076|      0|	}
 3077|       |
 3078|       |	/***************************/
 3079|       |	/* 2. update RTTVAR & SRTT */
 3080|       |	/***************************/
 3081|       |	/*-
 3082|       |	 * Compute the scaled average lastsa and the
 3083|       |	 * scaled variance lastsv as described in van Jacobson
 3084|       |	 * Paper "Congestion Avoidance and Control", Annex A.
 3085|       |	 *
 3086|       |	 * (net->lastsa >> SCTP_RTT_SHIFT) is the srtt
 3087|       |	 * (net->lastsv >> SCTP_RTT_VAR_SHIFT) is the rttvar
 3088|       |	 */
 3089|  15.1k|	if (net->RTO_measured) {
  ------------------
  |  Branch (3089:6): [True: 6.13k, False: 9.06k]
  ------------------
 3090|  6.13k|		rtt -= (net->lastsa >> SCTP_RTT_SHIFT);
  ------------------
  |  |   40|  6.13k|#define SCTP_RTT_SHIFT 3
  ------------------
 3091|  6.13k|		net->lastsa += rtt;
 3092|  6.13k|		if (rtt < 0) {
  ------------------
  |  Branch (3092:7): [True: 0, False: 6.13k]
  ------------------
 3093|      0|			rtt = -rtt;
 3094|      0|		}
 3095|  6.13k|		rtt -= (net->lastsv >> SCTP_RTT_VAR_SHIFT);
  ------------------
  |  |   41|  6.13k|#define SCTP_RTT_VAR_SHIFT 2
  ------------------
 3096|  6.13k|		net->lastsv += rtt;
 3097|  6.13k|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_RTTVAR_LOGGING_ENABLE) {
  ------------------
  |  |  584|  6.13k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_RTTVAR_LOGGING_ENABLE) {
  ------------------
  |  |  657|  6.13k|#define SCTP_RTTVAR_LOGGING_ENABLE			0x00002000
  ------------------
  |  Branch (3097:7): [True: 0, False: 6.13k]
  ------------------
 3098|      0|			rto_logging(net, SCTP_LOG_RTTVAR);
  ------------------
  |  |  156|      0|#define SCTP_LOG_RTTVAR             52
  ------------------
 3099|      0|		}
 3100|  9.06k|	} else {
 3101|       |		/* First RTO measurement */
 3102|  9.06k|		net->RTO_measured = 1;
 3103|  9.06k|		first_measure = 1;
 3104|  9.06k|		net->lastsa = rtt << SCTP_RTT_SHIFT;
  ------------------
  |  |   40|  9.06k|#define SCTP_RTT_SHIFT 3
  ------------------
 3105|  9.06k|		net->lastsv = (rtt / 2) << SCTP_RTT_VAR_SHIFT;
  ------------------
  |  |   41|  9.06k|#define SCTP_RTT_VAR_SHIFT 2
  ------------------
 3106|  9.06k|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_RTTVAR_LOGGING_ENABLE) {
  ------------------
  |  |  584|  9.06k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_RTTVAR_LOGGING_ENABLE) {
  ------------------
  |  |  657|  9.06k|#define SCTP_RTTVAR_LOGGING_ENABLE			0x00002000
  ------------------
  |  Branch (3106:7): [True: 0, False: 9.06k]
  ------------------
 3107|      0|			rto_logging(net, SCTP_LOG_INITIAL_RTT);
  ------------------
  |  |  155|      0|#define SCTP_LOG_INITIAL_RTT        51
  ------------------
 3108|      0|		}
 3109|  9.06k|	}
 3110|  15.1k|	if (net->lastsv == 0) {
  ------------------
  |  Branch (3110:6): [True: 9.06k, False: 6.13k]
  ------------------
 3111|  9.06k|		net->lastsv = SCTP_CLOCK_GRANULARITY;
  ------------------
  |  |  856|  9.06k|#define SCTP_CLOCK_GRANULARITY	10
  ------------------
 3112|  9.06k|	}
 3113|  15.1k|	new_rto = (net->lastsa >> SCTP_RTT_SHIFT) + net->lastsv;
  ------------------
  |  |   40|  15.1k|#define SCTP_RTT_SHIFT 3
  ------------------
 3114|  15.1k|	if ((new_rto > SCTP_SAT_NETWORK_MIN) &&
  ------------------
  |  |  507|  15.1k|#define SCTP_SAT_NETWORK_MIN	400	/* min ms for RTT to set satellite
  ------------------
  |  Branch (3114:6): [True: 0, False: 15.1k]
  ------------------
 3115|  15.1k|	    (stcb->asoc.sat_network_lockout == 0)) {
  ------------------
  |  Branch (3115:6): [True: 0, False: 0]
  ------------------
 3116|      0|		stcb->asoc.sat_network = 1;
 3117|  15.1k|	} else if ((!first_measure) && stcb->asoc.sat_network) {
  ------------------
  |  Branch (3117:13): [True: 6.13k, False: 9.06k]
  |  Branch (3117:33): [True: 0, False: 6.13k]
  ------------------
 3118|      0|		stcb->asoc.sat_network = 0;
 3119|      0|		stcb->asoc.sat_network_lockout = 1;
 3120|      0|	}
 3121|       |	/* bound it, per C6/C7 in Section 5.3.1 */
 3122|  15.1k|	if (new_rto < stcb->asoc.minrto) {
  ------------------
  |  Branch (3122:6): [True: 15.1k, False: 0]
  ------------------
 3123|  15.1k|		new_rto = stcb->asoc.minrto;
 3124|  15.1k|	}
 3125|  15.1k|	if (new_rto > stcb->asoc.maxrto) {
  ------------------
  |  Branch (3125:6): [True: 0, False: 15.1k]
  ------------------
 3126|      0|		new_rto = stcb->asoc.maxrto;
 3127|      0|	}
 3128|  15.1k|	net->RTO = new_rto;
 3129|  15.1k|	return (1);
 3130|  16.8k|}
sctp_m_getptr:
 3140|  2.33M|{
 3141|  2.33M|	uint32_t count;
 3142|  2.33M|	uint8_t *ptr;
 3143|       |
 3144|  2.33M|	ptr = in_ptr;
 3145|  2.33M|	if ((off < 0) || (len <= 0))
  ------------------
  |  Branch (3145:6): [True: 0, False: 2.33M]
  |  Branch (3145:19): [True: 0, False: 2.33M]
  ------------------
 3146|      0|		return (NULL);
 3147|       |
 3148|       |	/* find the desired start location */
 3149|  14.4M|	while ((m != NULL) && (off > 0)) {
  ------------------
  |  Branch (3149:9): [True: 14.4M, False: 10.2k]
  |  Branch (3149:24): [True: 14.4M, False: 5.78k]
  ------------------
 3150|  14.4M|		if (off < SCTP_BUF_LEN(m))
  ------------------
  |  |  795|  14.4M|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  14.4M|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (3150:7): [True: 2.32M, False: 12.1M]
  ------------------
 3151|  2.32M|			break;
 3152|  12.1M|		off -= SCTP_BUF_LEN(m);
  ------------------
  |  |  795|  12.1M|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  12.1M|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3153|  12.1M|		m = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|  12.1M|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  12.1M|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3154|  12.1M|	}
 3155|  2.33M|	if (m == NULL)
  ------------------
  |  Branch (3155:6): [True: 10.2k, False: 2.32M]
  ------------------
 3156|  10.2k|		return (NULL);
 3157|       |
 3158|       |	/* is the current mbuf large enough (eg. contiguous)? */
 3159|  2.32M|	if ((SCTP_BUF_LEN(m) - off) >= len) {
  ------------------
  |  |  795|  2.32M|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  2.32M|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (3159:6): [True: 2.32M, False: 6.27k]
  ------------------
 3160|  2.32M|		return (mtod(m, caddr_t) + off);
  ------------------
  |  |   96|  2.32M|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  2.32M|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3161|  2.32M|	} else {
 3162|       |		/* else, it spans more than one mbuf, so save a temp copy... */
 3163|  17.8k|		while ((m != NULL) && (len > 0)) {
  ------------------
  |  Branch (3163:10): [True: 14.9k, False: 2.94k]
  |  Branch (3163:25): [True: 11.6k, False: 3.33k]
  ------------------
 3164|  11.6k|			count = min(SCTP_BUF_LEN(m) - off, len);
  ------------------
  |  |   66|  11.6k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 4.72k, False: 6.89k]
  |  |  ------------------
  ------------------
 3165|  11.6k|			memcpy(ptr, mtod(m, caddr_t) + off, count);
  ------------------
  |  |   96|  11.6k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  11.6k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3166|  11.6k|			len -= count;
 3167|  11.6k|			ptr += count;
 3168|  11.6k|			off = 0;
 3169|  11.6k|			m = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|  11.6k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  11.6k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3170|  11.6k|		}
 3171|  6.27k|		if ((m == NULL) && (len > 0))
  ------------------
  |  Branch (3171:7): [True: 2.94k, False: 3.33k]
  |  Branch (3171:22): [True: 1.25k, False: 1.69k]
  ------------------
 3172|  1.25k|			return (NULL);
 3173|  5.02k|		else
 3174|  5.02k|			return ((caddr_t)in_ptr);
 3175|  6.27k|	}
 3176|  2.32M|}
sctp_get_next_param:
 3183|   384k|{
 3184|       |	/* This just provides a typed signature to Peter's Pull routine */
 3185|   384k|	return ((struct sctp_paramhdr *)sctp_m_getptr(m, offset, pull_limit,
 3186|   384k|	    (uint8_t *) pull));
 3187|   384k|}
sctp_add_pad_tombuf:
 3191|  32.8k|{
 3192|  32.8k|	struct mbuf *m_last;
 3193|  32.8k|	caddr_t dp;
 3194|       |
 3195|  32.8k|	if (padlen > 3) {
  ------------------
  |  Branch (3195:6): [True: 0, False: 32.8k]
  ------------------
 3196|      0|		return (NULL);
 3197|      0|	}
 3198|  32.8k|	if (padlen <= M_TRAILINGSPACE(m)) {
  ------------------
  |  |  355|  32.8k|	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  221|  32.8k|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  233|  32.8k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (355:3): [True: 25.1k, False: 7.63k]
  |  |  ------------------
  |  |  356|  32.8k|	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  326|  25.1k|#define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|  25.1k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               #define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  236|  25.1k|#define	M_RDONLY	0x0008	/* associated data is marked read-only */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (326:24): [True: 25.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  327|  25.1k|			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|  25.1k|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  233|  25.1k|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (327:6): [True: 0, False: 25.1k]
  |  |  |  |  ------------------
  |  |  |  |  328|  25.1k|			 (*((m)->m_ext.ref_cnt) == 1)) )		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  225|  25.1k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (328:5): [True: 20.1k, False: 5.06k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|  20.1k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|  20.1k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |  357|  20.1k|		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  219|  20.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  218|  20.1k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  |  |  358|  32.8k|	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  227|  7.63k|#define	m_dat		M_dat.M_databuf
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  138|  7.63k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  7.63k|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  219|  7.63k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  218|  7.63k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (3198:6): [True: 27.7k, False: 5.06k]
  ------------------
 3199|       |		/*
 3200|       |		 * The easy way. We hope the majority of the time we hit
 3201|       |		 * here :)
 3202|       |		 */
 3203|  27.7k|		m_last = m;
 3204|  27.7k|	} else {
 3205|       |		/* Hard way we must grow the mbuf chain */
 3206|  5.06k|		m_last = sctp_get_mbuf_for_msg(padlen, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  5.06k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		m_last = sctp_get_mbuf_for_msg(padlen, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  5.06k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 3207|  5.06k|		if (m_last == NULL) {
  ------------------
  |  Branch (3207:7): [True: 0, False: 5.06k]
  ------------------
 3208|      0|			return (NULL);
 3209|      0|		}
 3210|  5.06k|		SCTP_BUF_LEN(m_last) = 0;
  ------------------
  |  |  795|  5.06k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  5.06k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3211|  5.06k|		SCTP_BUF_NEXT(m_last) = NULL;
  ------------------
  |  |  796|  5.06k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  5.06k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3212|  5.06k|		SCTP_BUF_NEXT(m) = m_last;
  ------------------
  |  |  796|  5.06k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  5.06k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3213|  5.06k|	}
 3214|  32.8k|	dp = mtod(m_last, caddr_t) + SCTP_BUF_LEN(m_last);
  ------------------
  |  |   96|  32.8k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  32.8k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
              	dp = mtod(m_last, caddr_t) + SCTP_BUF_LEN(m_last);
  ------------------
  |  |  795|  32.8k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  32.8k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3215|  32.8k|	SCTP_BUF_LEN(m_last) += padlen;
  ------------------
  |  |  795|  32.8k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  32.8k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3216|  32.8k|	memset(dp, 0, padlen);
 3217|  32.8k|	return (m_last);
 3218|  32.8k|}
sctp_pad_lastmbuf:
 3222|  7.44k|{
 3223|       |	/* find the last mbuf in chain and pad it */
 3224|  7.44k|	struct mbuf *m_at;
 3225|       |
 3226|  7.44k|	if (last_mbuf != NULL) {
  ------------------
  |  Branch (3226:6): [True: 5.57k, False: 1.86k]
  ------------------
 3227|  5.57k|		return (sctp_add_pad_tombuf(last_mbuf, padval));
 3228|  5.57k|	} else {
 3229|  2.05k|		for (m_at = m; m_at; m_at = SCTP_BUF_NEXT(m_at)) {
  ------------------
  |  |  796|    188|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    188|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (3229:18): [True: 2.05k, False: 0]
  ------------------
 3230|  2.05k|			if (SCTP_BUF_NEXT(m_at) == NULL) {
  ------------------
  |  |  796|  2.05k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  2.05k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (3230:8): [True: 1.86k, False: 188]
  ------------------
 3231|  1.86k|				return (sctp_add_pad_tombuf(m_at, padval));
 3232|  1.86k|			}
 3233|  2.05k|		}
 3234|  1.86k|	}
 3235|      0|	return (NULL);
 3236|  7.44k|}
sctp_ulp_notify:
 4254|   467k|{
 4255|   467k|	struct sctp_inpcb *inp;
 4256|   467k|	struct sctp_nets *net;
 4257|       |
 4258|   467k|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|   467k|	do {                         \
  |  |  113|   467k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 467k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   467k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4259|   467k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|   467k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   467k|	do {                         \
  |  |  |  |  113|   467k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 467k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   467k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4260|       |
 4261|   467k|	inp = stcb->sctp_ep;
 4262|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4263|       |	if (so_locked) {
 4264|       |		sctp_lock_assert(SCTP_INP_SO(inp));
 4265|       |	} else {
 4266|       |		sctp_unlock_assert(SCTP_INP_SO(inp));
 4267|       |	}
 4268|       |#endif
 4269|   467k|	if (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET) {
  ------------------
  |  |  464|   467k|#define SCTP_STATE_CLOSED_SOCKET	0x0100
  ------------------
  |  Branch (4269:6): [True: 0, False: 467k]
  ------------------
 4270|      0|		return;
 4271|      0|	}
 4272|   467k|	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  472|   467k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|   467k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  457|   467k|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (4272:6): [True: 31.6k, False: 435k]
  ------------------
 4273|   467k|	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  472|   435k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|   435k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  458|   435k|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (4273:6): [True: 112k, False: 322k]
  ------------------
 4274|   144k|		if ((notification == SCTP_NOTIFY_INTERFACE_DOWN) ||
  ------------------
  |  |  705|   144k|#define SCTP_NOTIFY_INTERFACE_DOWN               3
  ------------------
  |  Branch (4274:7): [True: 0, False: 144k]
  ------------------
 4275|   144k|		    (notification == SCTP_NOTIFY_INTERFACE_UP) ||
  ------------------
  |  |  706|   144k|#define SCTP_NOTIFY_INTERFACE_UP                 4
  ------------------
  |  Branch (4275:7): [True: 0, False: 144k]
  ------------------
 4276|   144k|		    (notification == SCTP_NOTIFY_INTERFACE_CONFIRMED)) {
  ------------------
  |  |  718|   144k|#define SCTP_NOTIFY_INTERFACE_CONFIRMED         16
  ------------------
  |  Branch (4276:7): [True: 38, False: 144k]
  ------------------
 4277|       |			/* Don't report these in front states */
 4278|     38|			return;
 4279|     38|		}
 4280|   144k|	}
 4281|   467k|	if (notification != SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION) {
  ------------------
  |  |  717|   467k|#define SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION 15
  ------------------
  |  Branch (4281:6): [True: 466k, False: 865]
  ------------------
 4282|   466k|		SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|   466k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   466k|	do {                         \
  |  |  |  |  113|   466k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 466k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   466k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4283|   466k|	}
 4284|   467k|	SCTP_INP_READ_LOCK_ASSERT(inp);
  ------------------
  |  |  356|   467k|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   467k|	do {                         \
  |  |  |  |  113|   467k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 467k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   467k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4285|       |
 4286|   467k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) ||
  ------------------
  |  |  549|   467k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (4286:6): [True: 0, False: 467k]
  ------------------
 4287|   467k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) ||
  ------------------
  |  |  550|   467k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (4287:6): [True: 0, False: 467k]
  ------------------
 4288|   467k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_CANT_READ)) {
  ------------------
  |  |  551|   467k|#define SCTP_PCB_FLAGS_SOCKET_CANT_READ	0x40000000
  ------------------
  |  Branch (4288:6): [True: 0, False: 467k]
  ------------------
 4289|      0|		SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4290|      0|		return;
 4291|      0|	}
 4292|       |
 4293|   467k|	switch (notification) {
 4294|  6.07k|	case SCTP_NOTIFY_ASSOC_UP:
  ------------------
  |  |  703|  6.07k|#define SCTP_NOTIFY_ASSOC_UP                     1
  ------------------
  |  Branch (4294:2): [True: 6.07k, False: 461k]
  ------------------
 4295|  6.07k|		if (stcb->asoc.assoc_up_sent == 0) {
  ------------------
  |  Branch (4295:7): [True: 6.07k, False: 0]
  ------------------
 4296|  6.07k|			sctp_notify_assoc_change(SCTP_COMM_UP, stcb, error, NULL, false, false, so_locked);
  ------------------
  |  |  327|  6.07k|#define SCTP_COMM_UP            0x0001
  ------------------
 4297|  6.07k|			stcb->asoc.assoc_up_sent = 1;
 4298|  6.07k|		}
 4299|  6.07k|		if (stcb->asoc.adaptation_needed && (stcb->asoc.adaptation_sent == 0)) {
  ------------------
  |  Branch (4299:7): [True: 6.07k, False: 0]
  |  Branch (4299:39): [True: 6.07k, False: 0]
  ------------------
 4300|  6.07k|			sctp_notify_adaptation_layer(stcb, so_locked);
 4301|  6.07k|		}
 4302|  6.07k|		if (stcb->asoc.auth_supported == 0) {
  ------------------
  |  Branch (4302:7): [True: 0, False: 6.07k]
  ------------------
 4303|      0|			sctp_notify_authentication(stcb, SCTP_AUTH_NO_AUTH, 0, so_locked);
  ------------------
  |  |  469|      0|#define SCTP_AUTH_NO_AUTH	0x0002
  ------------------
 4304|      0|		}
 4305|  6.07k|		break;
 4306|      0|	case SCTP_NOTIFY_ASSOC_DOWN:
  ------------------
  |  |  704|      0|#define SCTP_NOTIFY_ASSOC_DOWN                   2
  ------------------
  |  Branch (4306:2): [True: 0, False: 467k]
  ------------------
 4307|      0|		sctp_notify_assoc_change(SCTP_SHUTDOWN_COMP, stcb, error, NULL, false, false, so_locked);
  ------------------
  |  |  330|      0|#define SCTP_SHUTDOWN_COMP      0x0004
  ------------------
 4308|      0|#if defined(__Userspace__)
 4309|      0|		if (inp->recv_callback) {
  ------------------
  |  Branch (4309:7): [True: 0, False: 0]
  ------------------
 4310|      0|			if (stcb->sctp_socket) {
  ------------------
  |  Branch (4310:8): [True: 0, False: 0]
  ------------------
 4311|      0|				union sctp_sockstore addr;
 4312|      0|				struct sctp_rcvinfo rcv;
 4313|       |
 4314|      0|				memset(&addr, 0, sizeof(union sctp_sockstore));
 4315|      0|				memset(&rcv, 0, sizeof(struct sctp_rcvinfo));
 4316|      0|				atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 4317|      0|				SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4318|      0|				inp->recv_callback(stcb->sctp_socket, addr, NULL, 0, rcv, 0, inp->ulp_info);
 4319|      0|				SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4320|      0|				atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 4321|      0|			}
 4322|      0|		}
 4323|      0|#endif
 4324|      0|		break;
 4325|      0|	case SCTP_NOTIFY_INTERFACE_DOWN:
  ------------------
  |  |  705|      0|#define SCTP_NOTIFY_INTERFACE_DOWN               3
  ------------------
  |  Branch (4325:2): [True: 0, False: 467k]
  ------------------
 4326|      0|		net = (struct sctp_nets *)data;
 4327|      0|		sctp_notify_peer_addr_change(stcb, SCTP_ADDR_UNREACHABLE,
  ------------------
  |  |  356|      0|#define SCTP_ADDR_UNREACHABLE	0x0002
  ------------------
 4328|      0|		                             &net->ro._l_addr.sa, error, so_locked);
 4329|      0|		break;
 4330|      0|	case SCTP_NOTIFY_INTERFACE_UP:
  ------------------
  |  |  706|      0|#define SCTP_NOTIFY_INTERFACE_UP                 4
  ------------------
  |  Branch (4330:2): [True: 0, False: 467k]
  ------------------
 4331|      0|		net = (struct sctp_nets *)data;
 4332|      0|		sctp_notify_peer_addr_change(stcb, SCTP_ADDR_AVAILABLE,
  ------------------
  |  |  355|      0|#define SCTP_ADDR_AVAILABLE	0x0001
  ------------------
 4333|      0|		                             &net->ro._l_addr.sa, error, so_locked);
 4334|      0|		break;
 4335|      1|	case SCTP_NOTIFY_INTERFACE_CONFIRMED:
  ------------------
  |  |  718|      1|#define SCTP_NOTIFY_INTERFACE_CONFIRMED         16
  ------------------
  |  Branch (4335:2): [True: 1, False: 467k]
  ------------------
 4336|      1|		net = (struct sctp_nets *)data;
 4337|      1|		sctp_notify_peer_addr_change(stcb, SCTP_ADDR_CONFIRMED,
  ------------------
  |  |  360|      1|#define SCTP_ADDR_CONFIRMED	0x0006
  ------------------
 4338|      1|		                             &net->ro._l_addr.sa, error, so_locked);
 4339|      1|		break;
 4340|    559|	case SCTP_NOTIFY_SPECIAL_SP_FAIL:
  ------------------
  |  |  709|    559|#define SCTP_NOTIFY_SPECIAL_SP_FAIL              7
  ------------------
  |  Branch (4340:2): [True: 559, False: 466k]
  ------------------
 4341|    559|		sctp_notify_send_failed2(stcb, error,
 4342|    559|		                         (struct sctp_stream_queue_pending *)data, so_locked);
 4343|    559|		break;
 4344|    575|	case SCTP_NOTIFY_SENT_DG_FAIL:
  ------------------
  |  |  707|    575|#define SCTP_NOTIFY_SENT_DG_FAIL                 5
  ------------------
  |  Branch (4344:2): [True: 575, False: 466k]
  ------------------
 4345|    575|		sctp_notify_send_failed(stcb, 1, error,
 4346|    575|		    (struct sctp_tmit_chunk *)data, so_locked);
 4347|    575|		break;
 4348|     23|	case SCTP_NOTIFY_UNSENT_DG_FAIL:
  ------------------
  |  |  708|     23|#define SCTP_NOTIFY_UNSENT_DG_FAIL               6
  ------------------
  |  Branch (4348:2): [True: 23, False: 467k]
  ------------------
 4349|     23|		sctp_notify_send_failed(stcb, 0, error,
 4350|     23|		                        (struct sctp_tmit_chunk *)data, so_locked);
 4351|     23|		break;
 4352|    865|	case SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION:
  ------------------
  |  |  717|    865|#define SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION 15
  ------------------
  |  Branch (4352:2): [True: 865, False: 466k]
  ------------------
 4353|    865|		sctp_notify_partial_delivery_indication(stcb, error,
 4354|    865|		                                        (struct sctp_queued_to_read *)data,
 4355|    865|		                                        so_locked);
 4356|    865|		break;
 4357|  1.60k|	case SCTP_NOTIFY_ASSOC_LOC_ABORTED:
  ------------------
  |  |  710|  1.60k|#define SCTP_NOTIFY_ASSOC_LOC_ABORTED            8
  ------------------
  |  Branch (4357:2): [True: 1.60k, False: 465k]
  ------------------
 4358|  1.60k|		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  472|  1.60k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  1.60k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  457|  1.60k|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (4358:7): [True: 637, False: 963]
  ------------------
 4359|  1.60k|		    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  472|    963|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    963|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  458|    963|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (4359:7): [True: 21, False: 942]
  ------------------
 4360|    658|			sctp_notify_assoc_change(SCTP_CANT_STR_ASSOC, stcb, error, data, false, false, so_locked);
  ------------------
  |  |  331|    658|#define SCTP_CANT_STR_ASSOC     0x0005
  ------------------
 4361|    942|		} else {
 4362|    942|			sctp_notify_assoc_change(SCTP_COMM_LOST, stcb, error, data, false, false, so_locked);
  ------------------
  |  |  328|    942|#define SCTP_COMM_LOST          0x0002
  ------------------
 4363|    942|		}
 4364|  1.60k|		break;
 4365|    105|	case SCTP_NOTIFY_ASSOC_REM_ABORTED:
  ------------------
  |  |  711|    105|#define SCTP_NOTIFY_ASSOC_REM_ABORTED            9
  ------------------
  |  Branch (4365:2): [True: 105, False: 467k]
  ------------------
 4366|    105|		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  472|    105|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    105|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  457|    105|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (4366:7): [True: 45, False: 60]
  ------------------
 4367|    105|		    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  472|     60|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|     60|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  458|     60|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (4367:7): [True: 26, False: 34]
  ------------------
 4368|     71|			sctp_notify_assoc_change(SCTP_CANT_STR_ASSOC, stcb, error, data, true, false, so_locked);
  ------------------
  |  |  331|     71|#define SCTP_CANT_STR_ASSOC     0x0005
  ------------------
 4369|     71|		} else {
 4370|     34|			sctp_notify_assoc_change(SCTP_COMM_LOST, stcb, error, data, true, false, so_locked);
  ------------------
  |  |  328|     34|#define SCTP_COMM_LOST          0x0002
  ------------------
 4371|     34|		}
 4372|    105|		break;
 4373|      0|	case SCTP_NOTIFY_ASSOC_TIMEDOUT:
  ------------------
  |  |  732|      0|#define SCTP_NOTIFY_ASSOC_TIMEDOUT              30
  ------------------
  |  Branch (4373:2): [True: 0, False: 467k]
  ------------------
 4374|      0|		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) ||
  ------------------
  |  |  457|      0|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (4374:7): [True: 0, False: 0]
  ------------------
 4375|      0|		    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  472|      0|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|      0|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		    (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_ECHOED)) {
  ------------------
  |  |  458|      0|#define SCTP_STATE_COOKIE_ECHOED	0x0004
  ------------------
  |  Branch (4375:7): [True: 0, False: 0]
  ------------------
 4376|      0|			sctp_notify_assoc_change(SCTP_CANT_STR_ASSOC, stcb, error, data, false, true, so_locked);
  ------------------
  |  |  331|      0|#define SCTP_CANT_STR_ASSOC     0x0005
  ------------------
 4377|      0|		} else {
 4378|      0|			sctp_notify_assoc_change(SCTP_COMM_LOST, stcb, error, data, false, true, so_locked);
  ------------------
  |  |  328|      0|#define SCTP_COMM_LOST          0x0002
  ------------------
 4379|      0|		}
 4380|      0|		break;
 4381|      0|	case SCTP_NOTIFY_ASSOC_RESTART:
  ------------------
  |  |  712|      0|#define SCTP_NOTIFY_ASSOC_RESTART               10
  ------------------
  |  Branch (4381:2): [True: 0, False: 467k]
  ------------------
 4382|      0|		sctp_notify_assoc_change(SCTP_RESTART, stcb, error, NULL, false, false, so_locked);
  ------------------
  |  |  329|      0|#define SCTP_RESTART            0x0003
  ------------------
 4383|      0|		if (stcb->asoc.auth_supported == 0) {
  ------------------
  |  Branch (4383:7): [True: 0, False: 0]
  ------------------
 4384|      0|			sctp_notify_authentication(stcb, SCTP_AUTH_NO_AUTH, 0, so_locked);
  ------------------
  |  |  469|      0|#define SCTP_AUTH_NO_AUTH	0x0002
  ------------------
 4385|      0|		}
 4386|      0|		break;
 4387|     97|	case SCTP_NOTIFY_STR_RESET_SEND:
  ------------------
  |  |  720|     97|#define SCTP_NOTIFY_STR_RESET_SEND              18
  ------------------
  |  Branch (4387:2): [True: 97, False: 467k]
  ------------------
 4388|     97|		sctp_notify_stream_reset(stcb, error, ((uint16_t *) data), SCTP_STREAM_RESET_OUTGOING_SSN, so_locked);
  ------------------
  |  |  492|     97|#define SCTP_STREAM_RESET_OUTGOING_SSN  0x0002
  ------------------
 4389|     97|		break;
 4390|    624|	case SCTP_NOTIFY_STR_RESET_RECV:
  ------------------
  |  |  719|    624|#define SCTP_NOTIFY_STR_RESET_RECV              17
  ------------------
  |  Branch (4390:2): [True: 624, False: 466k]
  ------------------
 4391|    624|		sctp_notify_stream_reset(stcb, error, ((uint16_t *) data), SCTP_STREAM_RESET_INCOMING, so_locked);
  ------------------
  |  |  188|    624|#define SCTP_STREAM_RESET_INCOMING	0x00000001
  ------------------
 4392|    624|		break;
 4393|      0|	case SCTP_NOTIFY_STR_RESET_FAILED_OUT:
  ------------------
  |  |  721|      0|#define SCTP_NOTIFY_STR_RESET_FAILED_OUT        19
  ------------------
  |  Branch (4393:2): [True: 0, False: 467k]
  ------------------
 4394|      0|		sctp_notify_stream_reset(stcb, error, ((uint16_t *) data),
 4395|      0|		                         (SCTP_STREAM_RESET_OUTGOING_SSN|SCTP_STREAM_RESET_FAILED), so_locked);
  ------------------
  |  |  492|      0|#define SCTP_STREAM_RESET_OUTGOING_SSN  0x0002
  ------------------
              		                         (SCTP_STREAM_RESET_OUTGOING_SSN|SCTP_STREAM_RESET_FAILED), so_locked);
  ------------------
  |  |  494|      0|#define SCTP_STREAM_RESET_FAILED        0x0008
  ------------------
 4396|      0|		break;
 4397|      0|	case SCTP_NOTIFY_STR_RESET_DENIED_OUT:
  ------------------
  |  |  723|      0|#define SCTP_NOTIFY_STR_RESET_DENIED_OUT        21
  ------------------
  |  Branch (4397:2): [True: 0, False: 467k]
  ------------------
 4398|      0|		sctp_notify_stream_reset(stcb, error, ((uint16_t *) data),
 4399|      0|		                         (SCTP_STREAM_RESET_OUTGOING_SSN|SCTP_STREAM_RESET_DENIED), so_locked);
  ------------------
  |  |  492|      0|#define SCTP_STREAM_RESET_OUTGOING_SSN  0x0002
  ------------------
              		                         (SCTP_STREAM_RESET_OUTGOING_SSN|SCTP_STREAM_RESET_DENIED), so_locked);
  ------------------
  |  |  493|      0|#define SCTP_STREAM_RESET_DENIED        0x0004
  ------------------
 4400|      0|		break;
 4401|      0|	case SCTP_NOTIFY_STR_RESET_FAILED_IN:
  ------------------
  |  |  722|      0|#define SCTP_NOTIFY_STR_RESET_FAILED_IN         20
  ------------------
  |  Branch (4401:2): [True: 0, False: 467k]
  ------------------
 4402|      0|		sctp_notify_stream_reset(stcb, error, ((uint16_t *) data),
 4403|      0|		                         (SCTP_STREAM_RESET_INCOMING|SCTP_STREAM_RESET_FAILED), so_locked);
  ------------------
  |  |  188|      0|#define SCTP_STREAM_RESET_INCOMING	0x00000001
  ------------------
              		                         (SCTP_STREAM_RESET_INCOMING|SCTP_STREAM_RESET_FAILED), so_locked);
  ------------------
  |  |  494|      0|#define SCTP_STREAM_RESET_FAILED        0x0008
  ------------------
 4404|      0|		break;
 4405|      0|	case SCTP_NOTIFY_STR_RESET_DENIED_IN:
  ------------------
  |  |  724|      0|#define SCTP_NOTIFY_STR_RESET_DENIED_IN         22
  ------------------
  |  Branch (4405:2): [True: 0, False: 467k]
  ------------------
 4406|      0|		sctp_notify_stream_reset(stcb, error, ((uint16_t *) data),
 4407|      0|		                         (SCTP_STREAM_RESET_INCOMING|SCTP_STREAM_RESET_DENIED), so_locked);
  ------------------
  |  |  188|      0|#define SCTP_STREAM_RESET_INCOMING	0x00000001
  ------------------
              		                         (SCTP_STREAM_RESET_INCOMING|SCTP_STREAM_RESET_DENIED), so_locked);
  ------------------
  |  |  493|      0|#define SCTP_STREAM_RESET_DENIED        0x0004
  ------------------
 4408|      0|		break;
 4409|     41|	case SCTP_NOTIFY_STR_RESET_ADD:
  ------------------
  |  |  725|     41|#define SCTP_NOTIFY_STR_RESET_ADD               23
  ------------------
  |  Branch (4409:2): [True: 41, False: 467k]
  ------------------
 4410|     41|		sctp_notify_stream_reset_add(stcb, error, so_locked);
 4411|     41|		break;
 4412|     97|	case SCTP_NOTIFY_STR_RESET_TSN:
  ------------------
  |  |  726|     97|#define SCTP_NOTIFY_STR_RESET_TSN               24
  ------------------
  |  Branch (4412:2): [True: 97, False: 467k]
  ------------------
 4413|     97|		sctp_notify_stream_reset_tsn(stcb, error, so_locked);
 4414|     97|		break;
 4415|  60.2k|	case SCTP_NOTIFY_ASCONF_ADD_IP:
  ------------------
  |  |  714|  60.2k|#define SCTP_NOTIFY_ASCONF_ADD_IP               12
  ------------------
  |  Branch (4415:2): [True: 60.2k, False: 407k]
  ------------------
 4416|  60.2k|		sctp_notify_peer_addr_change(stcb, SCTP_ADDR_ADDED, data,
  ------------------
  |  |  358|  60.2k|#define SCTP_ADDR_ADDED		0x0004
  ------------------
 4417|  60.2k|		                             error, so_locked);
 4418|  60.2k|		break;
 4419|  64.7k|	case SCTP_NOTIFY_ASCONF_DELETE_IP:
  ------------------
  |  |  715|  64.7k|#define SCTP_NOTIFY_ASCONF_DELETE_IP            13
  ------------------
  |  Branch (4419:2): [True: 64.7k, False: 402k]
  ------------------
 4420|  64.7k|		sctp_notify_peer_addr_change(stcb, SCTP_ADDR_REMOVED, data,
  ------------------
  |  |  357|  64.7k|#define SCTP_ADDR_REMOVED	0x0003
  ------------------
 4421|  64.7k|		                             error, so_locked);
 4422|  64.7k|		break;
 4423|  2.23k|	case SCTP_NOTIFY_ASCONF_SET_PRIMARY:
  ------------------
  |  |  716|  2.23k|#define SCTP_NOTIFY_ASCONF_SET_PRIMARY          14
  ------------------
  |  Branch (4423:2): [True: 2.23k, False: 465k]
  ------------------
 4424|  2.23k|		sctp_notify_peer_addr_change(stcb, SCTP_ADDR_MADE_PRIM, data,
  ------------------
  |  |  359|  2.23k|#define SCTP_ADDR_MADE_PRIM	0x0005
  ------------------
 4425|  2.23k|		                             error, so_locked);
 4426|  2.23k|		break;
 4427|    108|	case SCTP_NOTIFY_PEER_SHUTDOWN:
  ------------------
  |  |  713|    108|#define SCTP_NOTIFY_PEER_SHUTDOWN               11
  ------------------
  |  Branch (4427:2): [True: 108, False: 467k]
  ------------------
 4428|    108|		sctp_notify_shutdown_event(stcb, so_locked);
 4429|    108|		break;
 4430|      0|	case SCTP_NOTIFY_AUTH_NEW_KEY:
  ------------------
  |  |  727|      0|#define SCTP_NOTIFY_AUTH_NEW_KEY                25
  ------------------
  |  Branch (4430:2): [True: 0, False: 467k]
  ------------------
 4431|      0|		sctp_notify_authentication(stcb, SCTP_AUTH_NEW_KEY,
  ------------------
  |  |  467|      0|#define SCTP_AUTH_NEW_KEY	0x0001
  ------------------
 4432|      0|		                           *(uint16_t *)data, so_locked);
 4433|      0|		break;
 4434|      0|	case SCTP_NOTIFY_AUTH_FREE_KEY:
  ------------------
  |  |  728|      0|#define SCTP_NOTIFY_AUTH_FREE_KEY               26
  ------------------
  |  Branch (4434:2): [True: 0, False: 467k]
  ------------------
 4435|      0|		sctp_notify_authentication(stcb, SCTP_AUTH_FREE_KEY,
  ------------------
  |  |  470|      0|#define SCTP_AUTH_FREE_KEY	0x0003
  ------------------
 4436|      0|		                           *(uint16_t *)data, so_locked);
 4437|      0|		break;
 4438|      0|	case SCTP_NOTIFY_NO_PEER_AUTH:
  ------------------
  |  |  729|      0|#define SCTP_NOTIFY_NO_PEER_AUTH                27
  ------------------
  |  Branch (4438:2): [True: 0, False: 467k]
  ------------------
 4439|      0|		sctp_notify_authentication(stcb, SCTP_AUTH_NO_AUTH,
  ------------------
  |  |  469|      0|#define SCTP_AUTH_NO_AUTH	0x0002
  ------------------
 4440|      0|		                           0, so_locked);
 4441|      0|		break;
 4442|    287|	case SCTP_NOTIFY_SENDER_DRY:
  ------------------
  |  |  730|    287|#define SCTP_NOTIFY_SENDER_DRY                  28
  ------------------
  |  Branch (4442:2): [True: 287, False: 466k]
  ------------------
 4443|    287|		sctp_notify_sender_dry_event(stcb, so_locked);
 4444|    287|		break;
 4445|   328k|	case SCTP_NOTIFY_REMOTE_ERROR:
  ------------------
  |  |  731|   328k|#define SCTP_NOTIFY_REMOTE_ERROR                29
  ------------------
  |  Branch (4445:2): [True: 328k, False: 138k]
  ------------------
 4446|   328k|		sctp_notify_remote_error(stcb, error, data, so_locked);
 4447|   328k|		break;
 4448|      0|	default:
  ------------------
  |  Branch (4448:2): [True: 0, False: 467k]
  ------------------
 4449|      0|		SCTPDBG(SCTP_DEBUG_UTIL1, "%s: unknown notification %xh (%u)\n",
 4450|      0|		        __func__, notification, notification);
 4451|      0|		break;
 4452|   467k|	}
 4453|   467k|	if (notification != SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION) {
  ------------------
  |  |  717|   467k|#define SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION 15
  ------------------
  |  Branch (4453:6): [True: 466k, False: 865]
  ------------------
 4454|   466k|		SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|   466k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   466k|	do {                         \
  |  |  |  |  113|   466k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 466k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   466k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4455|   466k|	}
 4456|   467k|}
sctp_report_all_outbound:
 4460|  1.70k|{
 4461|  1.70k|	struct sctp_association *asoc;
 4462|  1.70k|	struct sctp_stream_out *outs;
 4463|  1.70k|	struct sctp_tmit_chunk *chk, *nchk;
 4464|  1.70k|	struct sctp_stream_queue_pending *sp, *nsp;
 4465|  1.70k|	int i;
 4466|       |
 4467|  1.70k|	if (stcb == NULL) {
  ------------------
  |  Branch (4467:6): [True: 0, False: 1.70k]
  ------------------
 4468|      0|		return;
 4469|      0|	}
 4470|  1.70k|	asoc = &stcb->asoc;
 4471|  1.70k|	if (asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|  1.70k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (4471:6): [True: 0, False: 1.70k]
  ------------------
 4472|       |		/* already being freed */
 4473|      0|		return;
 4474|      0|	}
 4475|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4476|       |	if (so_locked) {
 4477|       |		sctp_lock_assert(SCTP_INP_SO(stcb->sctp_ep));
 4478|       |	} else {
 4479|       |		sctp_unlock_assert(SCTP_INP_SO(stcb->sctp_ep));
 4480|       |	}
 4481|       |#endif
 4482|  1.70k|	if ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) ||
  ------------------
  |  |  549|  1.70k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (4482:6): [True: 0, False: 1.70k]
  ------------------
 4483|  1.70k|	    (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) ||
  ------------------
  |  |  550|  1.70k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (4483:6): [True: 0, False: 1.70k]
  ------------------
 4484|  1.70k|	    (asoc->state & SCTP_STATE_CLOSED_SOCKET)) {
  ------------------
  |  |  464|  1.70k|#define SCTP_STATE_CLOSED_SOCKET	0x0100
  ------------------
  |  Branch (4484:6): [True: 0, False: 1.70k]
  ------------------
 4485|      0|		return;
 4486|      0|	}
 4487|       |	/* now through all the gunk freeing chunks */
 4488|       |	/* sent queue SHOULD be empty */
 4489|  1.70k|	TAILQ_FOREACH_SAFE(chk, &asoc->sent_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|  1.70k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  2.28k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 575, False: 1.70k]
  |  |  |  Branch (1124:24): [True: 575, False: 0]
  |  |  ------------------
  |  | 1125|  1.70k|              (var) = (tvar))
  ------------------
 4490|    575|		TAILQ_REMOVE(&asoc->sent_queue, chk, sctp_next);
 4491|    575|		asoc->sent_queue_cnt--;
 4492|    575|		if (chk->sent != SCTP_DATAGRAM_NR_ACKED) {
  ------------------
  |  |  358|    575|#define SCTP_DATAGRAM_NR_ACKED		40010
  ------------------
  |  Branch (4492:7): [True: 575, False: 0]
  ------------------
 4493|    575|			if (asoc->strmout[chk->rec.data.sid].chunks_on_queues > 0) {
  ------------------
  |  Branch (4493:8): [True: 575, False: 0]
  ------------------
 4494|    575|				asoc->strmout[chk->rec.data.sid].chunks_on_queues--;
 4495|    575|#ifdef INVARIANTS
 4496|    575|			} else {
 4497|      0|				panic("No chunks on the queues for sid %u.", chk->rec.data.sid);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4498|      0|#endif
 4499|      0|			}
 4500|    575|		}
 4501|    575|		if (chk->data != NULL) {
  ------------------
  |  Branch (4501:7): [True: 575, False: 0]
  ------------------
 4502|    575|			sctp_free_bufspace(stcb, asoc, chk, 1);
 4503|    575|			sctp_ulp_notify(SCTP_NOTIFY_SENT_DG_FAIL, stcb,
  ------------------
  |  |  707|    575|#define SCTP_NOTIFY_SENT_DG_FAIL                 5
  ------------------
 4504|    575|			                error, chk, so_locked);
 4505|    575|			if (chk->data) {
  ------------------
  |  Branch (4505:8): [True: 0, False: 575]
  ------------------
 4506|      0|				sctp_m_freem(chk->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4507|      0|				chk->data = NULL;
 4508|      0|			}
 4509|    575|		}
 4510|    575|		sctp_free_a_chunk(stcb, chk, so_locked);
  ------------------
  |  |  143|    575|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|    575|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 575]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|    575|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 575, False: 0]
  |  |  ------------------
  |  |  149|    575|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|    575|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|    575|	do {                         \
  |  |  |  |  |  |  113|    575|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 575]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|    575|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|    575|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 575, False: 0]
  |  |  ------------------
  |  |  151|    575|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|    575|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|    575|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 575, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|    575|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|    575|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|    575|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 575]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|    575|	} \
  |  |  |  |  245|    575|}
  |  |  ------------------
  |  |  152|    575|			(_chk)->whoTo = NULL; \
  |  |  153|    575|		} \
  |  |  154|    575|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|    575|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 2, False: 573]
  |  |  ------------------
  |  |  155|    575|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|    573|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|    573|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 573]
  |  |  ------------------
  |  |  156|      2|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      2|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      2|	free(element);  \
  |  |  |  |  703|      2|}
  |  |  ------------------
  |  |  157|      2|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      2|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      2|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|    573|		} else { \
  |  |  159|    573|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|    573|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|    573|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|    573|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|    573|		} \
  |  |  163|    575|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|    575|}
  ------------------
 4511|       |		/*sa_ignore FREED_MEMORY*/
 4512|    575|	}
 4513|       |	/* pending send queue SHOULD be empty */
 4514|  1.70k|	TAILQ_FOREACH_SAFE(chk, &asoc->send_queue, sctp_next, nchk) {
  ------------------
  |  | 1123|  1.70k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|  1.72k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 23, False: 1.70k]
  |  |  |  Branch (1124:24): [True: 23, False: 0]
  |  |  ------------------
  |  | 1125|  1.70k|              (var) = (tvar))
  ------------------
 4515|     23|		TAILQ_REMOVE(&asoc->send_queue, chk, sctp_next);
 4516|     23|		asoc->send_queue_cnt--;
 4517|     23|		if (asoc->strmout[chk->rec.data.sid].chunks_on_queues > 0) {
  ------------------
  |  Branch (4517:7): [True: 23, False: 0]
  ------------------
 4518|     23|			asoc->strmout[chk->rec.data.sid].chunks_on_queues--;
 4519|     23|#ifdef INVARIANTS
 4520|     23|		} else {
 4521|      0|			panic("No chunks on the queues for sid %u.", chk->rec.data.sid);
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4522|      0|#endif
 4523|      0|		}
 4524|     23|		if (chk->data != NULL) {
  ------------------
  |  Branch (4524:7): [True: 23, False: 0]
  ------------------
 4525|     23|			sctp_free_bufspace(stcb, asoc, chk, 1);
 4526|     23|			sctp_ulp_notify(SCTP_NOTIFY_UNSENT_DG_FAIL, stcb,
  ------------------
  |  |  708|     23|#define SCTP_NOTIFY_UNSENT_DG_FAIL               6
  ------------------
 4527|     23|			                error, chk, so_locked);
 4528|     23|			if (chk->data) {
  ------------------
  |  Branch (4528:8): [True: 0, False: 23]
  ------------------
 4529|      0|				sctp_m_freem(chk->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4530|      0|				chk->data = NULL;
 4531|      0|			}
 4532|     23|		}
 4533|     23|		sctp_free_a_chunk(stcb, chk, so_locked);
  ------------------
  |  |  143|     23|#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \
  |  |  144|     23|	if ((_chk)->holds_key_ref) {\
  |  |  ------------------
  |  |  |  Branch (144:6): [True: 0, False: 23]
  |  |  ------------------
  |  |  145|      0|		sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \
  |  |  146|      0|		(_chk)->holds_key_ref = 0; \
  |  |  147|      0|	} \
  |  |  148|     23|	if (_stcb) { \
  |  |  ------------------
  |  |  |  Branch (148:6): [True: 23, False: 0]
  |  |  ------------------
  |  |  149|     23|		SCTP_TCB_LOCK_ASSERT((_stcb)); \
  |  |  ------------------
  |  |  |  |  484|     23|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|     23|	do {                         \
  |  |  |  |  |  |  113|     23|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 23]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|     23|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  150|     23|		if ((_chk)->whoTo) { \
  |  |  ------------------
  |  |  |  Branch (150:7): [True: 0, False: 23]
  |  |  ------------------
  |  |  151|      0|			sctp_free_remote_addr((_chk)->whoTo); \
  |  |  ------------------
  |  |  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  |  |  229|      0|	if ((__net)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  129|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  |  |  234|      0|			} \
  |  |  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  |  |  238|      0|			} \
  |  |  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  |  |  ------------------
  |  |  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  |  |  703|      0|}
  |  |  |  |  ------------------
  |  |  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  243|      0|		} \
  |  |  |  |  244|      0|	} \
  |  |  |  |  245|      0|}
  |  |  ------------------
  |  |  152|      0|			(_chk)->whoTo = NULL; \
  |  |  153|      0|		} \
  |  |  154|     23|		if (((_stcb)->asoc.free_chunk_cnt > SCTP_BASE_SYSCTL(sctp_asoc_free_resc_limit)) || \
  |  |  ------------------
  |  |  |  |  584|     23|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (154:7): [True: 1, False: 22]
  |  |  ------------------
  |  |  155|     23|		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  581|     22|#define SCTP_BASE_INFO(__m) system_base_info.sctppcbinfo.__m
  |  |  ------------------
  |  |               		    (SCTP_BASE_INFO(ipi_free_chunks) > SCTP_BASE_SYSCTL(sctp_system_free_resc_limit))) { \
  |  |  ------------------
  |  |  |  |  584|     22|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (155:7): [True: 0, False: 22]
  |  |  ------------------
  |  |  156|      1|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      1|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      1|	free(element);  \
  |  |  |  |  703|      1|}
  |  |  ------------------
  |  |  157|      1|			SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      1|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      1|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  158|     22|		} else { \
  |  |  159|     22|			TAILQ_INSERT_TAIL(&(_stcb)->asoc.free_chunks, (_chk), sctp_next); \
  |  |  160|     22|			(_stcb)->asoc.free_chunk_cnt++; \
  |  |  161|     22|			atomic_add_int(&SCTP_BASE_INFO(ipi_free_chunks), 1); \
  |  |  ------------------
  |  |  |  |   94|     22|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  162|     22|		} \
  |  |  163|     23|	} else { \
  |  |  164|      0|		SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_chunk), (_chk)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  165|      0|		SCTP_DECR_CHK_COUNT(); \
  |  |  ------------------
  |  |  |  |  679|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_chunk), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  166|      0|	} \
  |  |  167|     23|}
  ------------------
 4534|       |		/*sa_ignore FREED_MEMORY*/
 4535|     23|	}
 4536|   411k|	for (i = 0; i < asoc->streamoutcnt; i++) {
  ------------------
  |  Branch (4536:14): [True: 409k, False: 1.70k]
  ------------------
 4537|       |		/* For each stream */
 4538|   409k|		outs = &asoc->strmout[i];
 4539|       |		/* clean up any sends there */
 4540|   409k|		TAILQ_FOREACH_SAFE(sp, &outs->outqueue, next, nsp) {
  ------------------
  |  | 1123|   409k|         for ((var) = ((head)->tqh_first);                     \
  |  | 1124|   410k|              (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
  |  |  ------------------
  |  |  |  Branch (1124:15): [True: 559, False: 409k]
  |  |  |  Branch (1124:24): [True: 559, False: 0]
  |  |  ------------------
  |  | 1125|   409k|              (var) = (tvar))
  ------------------
 4541|    559|			atomic_subtract_int(&asoc->stream_queue_cnt, 1);
  ------------------
  |  |   97|    559|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 4542|    559|			TAILQ_REMOVE(&outs->outqueue, sp, next);
 4543|    559|			stcb->asoc.ss_functions.sctp_ss_remove_from_stream(stcb, asoc, outs, sp);
 4544|    559|			sctp_free_spbufspace(stcb, asoc, sp);
  ------------------
  |  |  270|    559|#define sctp_free_spbufspace(stcb, asoc, sp)  \
  |  |  271|    559|do { \
  |  |  272|    559|	if (sp->data != NULL) { \
  |  |  ------------------
  |  |  |  Branch (272:6): [True: 559, False: 0]
  |  |  ------------------
  |  |  273|    559|		if ((asoc)->total_output_queue_size >= sp->length) { \
  |  |  ------------------
  |  |  |  Branch (273:7): [True: 559, False: 0]
  |  |  ------------------
  |  |  274|    559|			atomic_subtract_int(&(asoc)->total_output_queue_size, sp->length); \
  |  |  ------------------
  |  |  |  |   97|    559|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  |  |  275|    559|		} else { \
  |  |  276|      0|			(asoc)->total_output_queue_size = 0; \
  |  |  277|      0|		} \
  |  |  278|    559|		if (stcb->sctp_socket && ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || \
  |  |  ------------------
  |  |  |  |  532|    559|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 559, False: 0]
  |  |  |  Branch (278:29): [True: 559, False: 0]
  |  |  ------------------
  |  |  279|    559|		    (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) { \
  |  |  ------------------
  |  |  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  |  |  ------------------
  |  |  |  Branch (279:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  280|    559|			SCTP_SB_DECR(&stcb->sctp_socket->so_snd, sp->length); \
  |  |  ------------------
  |  |  |  |  967|    559|#define SCTP_SB_DECR(sb, decr)					\
  |  |  |  |  968|    559|{								\
  |  |  |  |  969|    559|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_cc, (int)(decr));	\
  |  |  |  |  ------------------
  |  |  |  |  |  |  117|    559|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  |  |  118|    559|{ \
  |  |  |  |  |  |  119|    559|	int32_t oldval; \
  |  |  |  |  |  |  120|    559|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|    559|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|    559|	if (oldval < val) { \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (121:6): [True: 0, False: 559]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      0|	} \
  |  |  |  |  |  |  124|    559|}
  |  |  |  |  ------------------
  |  |  |  |  970|    559|}
  |  |  ------------------
  |  |  281|    559|		} \
  |  |  282|    559|	} \
  |  |  283|    559|} while (0)
  |  |  ------------------
  |  |  |  Branch (283:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4545|    559|			if (sp->data) {
  ------------------
  |  Branch (4545:8): [True: 559, False: 0]
  ------------------
 4546|    559|				sctp_ulp_notify(SCTP_NOTIFY_SPECIAL_SP_FAIL, stcb,
  ------------------
  |  |  709|    559|#define SCTP_NOTIFY_SPECIAL_SP_FAIL              7
  ------------------
 4547|    559|						error, (void *)sp, so_locked);
 4548|    559|				if (sp->data) {
  ------------------
  |  Branch (4548:9): [True: 0, False: 559]
  ------------------
 4549|      0|					sctp_m_freem(sp->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4550|      0|					sp->data = NULL;
 4551|      0|					sp->tail_mbuf = NULL;
 4552|      0|					sp->length = 0;
 4553|      0|				}
 4554|    559|			}
 4555|    559|			if (sp->net) {
  ------------------
  |  Branch (4555:8): [True: 0, False: 559]
  ------------------
 4556|      0|				sctp_free_remote_addr(sp->net);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 4557|      0|				sp->net = NULL;
 4558|      0|			}
 4559|       |			/* Free the chunk */
 4560|    559|			sctp_free_a_strmoq(stcb, sp, so_locked);
  ------------------
  |  |  125|    559|#define sctp_free_a_strmoq(_stcb, _strmoq, _so_locked) { \
  |  |  126|    559|	if ((_strmoq)->holds_key_ref) { \
  |  |  ------------------
  |  |  |  Branch (126:6): [True: 0, False: 559]
  |  |  ------------------
  |  |  127|      0|		sctp_auth_key_release(stcb, sp->auth_keyid, _so_locked); \
  |  |  128|      0|		(_strmoq)->holds_key_ref = 0; \
  |  |  129|      0|	} \
  |  |  130|    559|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_strmoq), (_strmoq)); \
  |  |  ------------------
  |  |  |  |  701|    559|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|    559|	free(element);  \
  |  |  |  |  703|    559|}
  |  |  ------------------
  |  |  131|    559|	SCTP_DECR_STRMOQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  691|    559|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_strmoq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|    559|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  132|    559|}
  ------------------
 4561|       |			/*sa_ignore FREED_MEMORY*/
 4562|    559|		}
 4563|   409k|	}
 4564|  1.70k|}
sctp_abort_notification:
 4570|  1.70k|{
 4571|  1.70k|	if (stcb == NULL) {
  ------------------
  |  Branch (4571:6): [True: 0, False: 1.70k]
  ------------------
 4572|      0|		return;
 4573|      0|	}
 4574|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4575|       |	if (so_locked) {
 4576|       |		sctp_lock_assert(SCTP_INP_SO(stcb->sctp_ep));
 4577|       |	} else {
 4578|       |		sctp_unlock_assert(SCTP_INP_SO(stcb->sctp_ep));
 4579|       |	}
 4580|       |#endif
 4581|  1.70k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  1.70k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.70k|	do {                         \
  |  |  |  |  113|  1.70k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.70k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.70k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4582|       |
 4583|  1.70k|	if ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) ||
  ------------------
  |  |  543|  1.70k|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (4583:6): [True: 0, False: 1.70k]
  ------------------
 4584|  1.70k|	    ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) &&
  ------------------
  |  |  532|  1.70k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (4584:7): [True: 1.70k, False: 0]
  ------------------
 4585|  1.70k|	     (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_CONNECTED))) {
  ------------------
  |  |  542|  1.70k|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
  |  Branch (4585:7): [True: 1.70k, False: 0]
  ------------------
 4586|  1.70k|		sctp_pcb_add_flags(stcb->sctp_ep, SCTP_PCB_FLAGS_WAS_ABORTED);
  ------------------
  |  |  539|  1.70k|#define SCTP_PCB_FLAGS_WAS_ABORTED      0x00100000
  ------------------
 4587|  1.70k|	}
 4588|  1.70k|	if ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) ||
  ------------------
  |  |  549|  1.70k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (4588:6): [True: 0, False: 1.70k]
  ------------------
 4589|  1.70k|	    (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) ||
  ------------------
  |  |  550|  1.70k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (4589:6): [True: 0, False: 1.70k]
  ------------------
 4590|  1.70k|	    (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET)) {
  ------------------
  |  |  464|  1.70k|#define SCTP_STATE_CLOSED_SOCKET	0x0100
  ------------------
  |  Branch (4590:6): [True: 0, False: 1.70k]
  ------------------
 4591|      0|		return;
 4592|      0|	}
 4593|  1.70k|	SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_WAS_ABORTED);
  ------------------
  |  |  478|  1.70k|	sctp_add_substate(_stcb, _substate)
  ------------------
 4594|       |	/* Tell them we lost the asoc */
 4595|  1.70k|	sctp_report_all_outbound(stcb, error, so_locked);
 4596|  1.70k|	if (from_peer) {
  ------------------
  |  Branch (4596:6): [True: 105, False: 1.60k]
  ------------------
 4597|    105|		sctp_ulp_notify(SCTP_NOTIFY_ASSOC_REM_ABORTED, stcb, error, abort, so_locked);
  ------------------
  |  |  711|    105|#define SCTP_NOTIFY_ASSOC_REM_ABORTED            9
  ------------------
 4598|  1.60k|	} else {
 4599|  1.60k|		if (timeout) {
  ------------------
  |  Branch (4599:7): [True: 0, False: 1.60k]
  ------------------
 4600|      0|			sctp_ulp_notify(SCTP_NOTIFY_ASSOC_TIMEDOUT, stcb, error, abort, so_locked);
  ------------------
  |  |  732|      0|#define SCTP_NOTIFY_ASSOC_TIMEDOUT              30
  ------------------
 4601|  1.60k|		} else {
 4602|  1.60k|			sctp_ulp_notify(SCTP_NOTIFY_ASSOC_LOC_ABORTED, stcb, error, abort, so_locked);
  ------------------
  |  |  710|  1.60k|#define SCTP_NOTIFY_ASSOC_LOC_ABORTED            8
  ------------------
 4603|  1.60k|		}
 4604|  1.60k|	}
 4605|  1.70k|}
sctp_abort_association:
 4616|    550|{
 4617|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4618|       |	struct socket *so;
 4619|       |#endif
 4620|    550|	struct sctp_gen_error_cause* cause;
 4621|    550|	uint32_t vtag;
 4622|    550|	uint16_t cause_code;
 4623|       |
 4624|    550|	if (stcb != NULL) {
  ------------------
  |  Branch (4624:6): [True: 550, False: 0]
  ------------------
 4625|    550|		vtag = stcb->asoc.peer_vtag;
 4626|    550|		vrf_id = stcb->asoc.vrf_id;
 4627|    550|		if (op_err != NULL) {
  ------------------
  |  Branch (4627:7): [True: 322, False: 228]
  ------------------
 4628|       |			/* Read the cause code from the error cause. */
 4629|    322|			cause = mtod(op_err, struct sctp_gen_error_cause *);
  ------------------
  |  |   96|    322|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    322|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 4630|    322|			cause_code = ntohs(cause->code);
 4631|    322|		} else {
 4632|    228|			cause_code = 0;
 4633|    228|		}
 4634|    550|	} else {
 4635|      0|		vtag = 0;
 4636|      0|	}
 4637|    550|	sctp_send_abort(m, iphlen, src, dst, sh, vtag, op_err,
 4638|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4639|       |	                mflowtype, mflowid, inp->fibnum,
 4640|       |#endif
 4641|    550|	                vrf_id, port);
 4642|    550|	if (stcb != NULL) {
  ------------------
  |  Branch (4642:6): [True: 550, False: 0]
  ------------------
 4643|       |		/* We have a TCB to abort, send notification too */
 4644|    550|		sctp_abort_notification(stcb, false, false, cause_code, NULL, SCTP_SO_NOT_LOCKED);
  ------------------
  |  |  960|    550|#define SCTP_SO_NOT_LOCKED	0
  ------------------
 4645|       |		/* Ok, now lets free it */
 4646|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4647|       |		so = SCTP_INP_SO(inp);
 4648|       |		atomic_add_int(&stcb->asoc.refcnt, 1);
 4649|       |		SCTP_TCB_UNLOCK(stcb);
 4650|       |		SCTP_SOCKET_LOCK(so, 1);
 4651|       |		SCTP_TCB_LOCK(stcb);
 4652|       |		atomic_subtract_int(&stcb->asoc.refcnt, 1);
 4653|       |#endif
 4654|    550|		SCTP_STAT_INCR_COUNTER32(sctps_aborted);
  ------------------
  |  | 1127|    550|#define SCTP_STAT_INCR_COUNTER32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|    550|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|    550|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|    550|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4655|    550|		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  472|    550|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    550|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  459|    550|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (4655:7): [True: 0, False: 550]
  ------------------
 4656|    550|		    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  472|    550|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    550|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              		    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  461|    550|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (4656:7): [True: 0, False: 550]
  ------------------
 4657|      0|			SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|      0|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|      0|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|      0|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4658|      0|		}
 4659|    550|		(void)sctp_free_assoc(inp, stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|    550|#define SCTP_NORMAL_PROC      0
  ------------------
 4660|    550|		                      SCTP_FROM_SCTPUTIL + SCTP_LOC_4);
  ------------------
  |  |  760|    550|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                      SCTP_FROM_SCTPUTIL + SCTP_LOC_4);
  ------------------
  |  |  772|    550|#define SCTP_LOC_4  0x00000004
  ------------------
 4661|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4662|       |		SCTP_SOCKET_UNLOCK(so, 1);
 4663|       |#endif
 4664|    550|	}
 4665|    550|}
sctp_abort_an_association:
 4731|  1.05k|{
 4732|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4733|       |	struct socket *so;
 4734|       |#endif
 4735|  1.05k|	struct sctp_gen_error_cause* cause;
 4736|  1.05k|	uint16_t cause_code;
 4737|       |
 4738|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4739|       |	so = SCTP_INP_SO(inp);
 4740|       |#endif
 4741|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4742|       |	if (so_locked) {
 4743|       |		sctp_lock_assert(SCTP_INP_SO(inp));
 4744|       |	} else {
 4745|       |		sctp_unlock_assert(SCTP_INP_SO(inp));
 4746|       |	}
 4747|       |#endif
 4748|  1.05k|	if (stcb == NULL) {
  ------------------
  |  Branch (4748:6): [True: 0, False: 1.05k]
  ------------------
 4749|       |		/* Got to have a TCB */
 4750|      0|		if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
  ------------------
  |  |  549|      0|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (4750:7): [True: 0, False: 0]
  ------------------
 4751|      0|			if (LIST_EMPTY(&inp->sctp_asoc_list)) {
 4752|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4753|       |				if (!so_locked) {
 4754|       |					SCTP_SOCKET_LOCK(so, 1);
 4755|       |				}
 4756|       |#endif
 4757|      0|				sctp_inpcb_free(inp, SCTP_FREE_SHOULD_USE_ABORT,
  ------------------
  |  |  869|      0|#define SCTP_FREE_SHOULD_USE_ABORT          1
  ------------------
 4758|      0|						SCTP_CALLED_DIRECTLY_NOCMPSET);
  ------------------
  |  |  865|      0|#define SCTP_CALLED_DIRECTLY_NOCMPSET     0
  ------------------
 4759|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4760|       |				if (!so_locked) {
 4761|       |					SCTP_SOCKET_UNLOCK(so, 1);
 4762|       |				}
 4763|       |#endif
 4764|      0|			}
 4765|      0|		}
 4766|      0|		return;
 4767|      0|	}
 4768|  1.05k|	if (op_err != NULL) {
  ------------------
  |  Branch (4768:6): [True: 1.05k, False: 0]
  ------------------
 4769|       |		/* Read the cause code from the error cause. */
 4770|  1.05k|		cause = mtod(op_err, struct sctp_gen_error_cause *);
  ------------------
  |  |   96|  1.05k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  1.05k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 4771|  1.05k|		cause_code = ntohs(cause->code);
 4772|  1.05k|	} else {
 4773|      0|		cause_code = 0;
 4774|      0|	}
 4775|       |	/* notify the peer */
 4776|  1.05k|	sctp_send_abort_tcb(stcb, op_err, so_locked);
 4777|  1.05k|	SCTP_STAT_INCR_COUNTER32(sctps_aborted);
  ------------------
  |  | 1127|  1.05k|#define SCTP_STAT_INCR_COUNTER32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  1.05k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  1.05k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  1.05k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4778|  1.05k|	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  472|  1.05k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  1.05k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
  ------------------
  |  |  459|  1.05k|#define SCTP_STATE_OPEN			0x0008
  ------------------
  |  Branch (4778:6): [True: 935, False: 115]
  ------------------
 4779|  1.05k|	    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  472|    115|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    115|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	    (SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_RECEIVED)) {
  ------------------
  |  |  461|    115|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (4779:6): [True: 4, False: 111]
  ------------------
 4780|    939|		SCTP_STAT_DECR_GAUGE32(sctps_currestab);
  ------------------
  |  | 1132|    939|#define SCTP_STAT_DECR_GAUGE32(_x) SCTP_STAT_DECR(_x)
  |  |  ------------------
  |  |  |  | 1113|    939|#define SCTP_STAT_DECR(_x) SCTP_STAT_DECR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1124|    939|#define SCTP_STAT_DECR_BY(_x,_d) atomic_subtract_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   97|    939|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4781|    939|	}
 4782|       |	/* notify the ulp */
 4783|  1.05k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) == 0) {
  ------------------
  |  |  549|  1.05k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (4783:6): [True: 1.05k, False: 0]
  ------------------
 4784|  1.05k|		sctp_abort_notification(stcb, false, timedout, cause_code, NULL, so_locked);
 4785|  1.05k|	}
 4786|       |	/* now free the asoc */
 4787|       |#ifdef SCTP_ASOCLOG_OF_TSNS
 4788|       |	sctp_print_out_track_log(stcb);
 4789|       |#endif
 4790|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4791|       |	if (!so_locked) {
 4792|       |		atomic_add_int(&stcb->asoc.refcnt, 1);
 4793|       |		SCTP_TCB_UNLOCK(stcb);
 4794|       |		SCTP_SOCKET_LOCK(so, 1);
 4795|       |		SCTP_TCB_LOCK(stcb);
 4796|       |		atomic_subtract_int(&stcb->asoc.refcnt, 1);
 4797|       |	}
 4798|       |#endif
 4799|  1.05k|	(void)sctp_free_assoc(inp, stcb, SCTP_NORMAL_PROC,
  ------------------
  |  |  808|  1.05k|#define SCTP_NORMAL_PROC      0
  ------------------
 4800|  1.05k|	                      SCTP_FROM_SCTPUTIL + SCTP_LOC_5);
  ------------------
  |  |  760|  1.05k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              	                      SCTP_FROM_SCTPUTIL + SCTP_LOC_5);
  ------------------
  |  |  773|  1.05k|#define SCTP_LOC_5  0x00000005
  ------------------
 4801|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4802|       |	if (!so_locked) {
 4803|       |		SCTP_SOCKET_UNLOCK(so, 1);
 4804|       |	}
 4805|       |#endif
 4806|  1.05k|}
sctp_handle_ootb:
 4817|    294|{
 4818|    294|	struct sctp_chunkhdr *ch, chunk_buf;
 4819|    294|	unsigned int chk_length;
 4820|    294|	int contains_init_chunk;
 4821|       |
 4822|    294|	SCTP_STAT_INCR_COUNTER32(sctps_outoftheblue);
  ------------------
  |  | 1127|    294|#define SCTP_STAT_INCR_COUNTER32(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|    294|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|    294|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|    294|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4823|       |	/* Generate a TO address for future reference */
 4824|    294|	if (inp && (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE)) {
  ------------------
  |  |  549|    294|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (4824:6): [True: 294, False: 0]
  |  Branch (4824:13): [True: 0, False: 294]
  ------------------
 4825|      0|		if (LIST_EMPTY(&inp->sctp_asoc_list)) {
 4826|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4827|       |			SCTP_SOCKET_LOCK(SCTP_INP_SO(inp), 1);
 4828|       |#endif
 4829|      0|			sctp_inpcb_free(inp, SCTP_FREE_SHOULD_USE_ABORT,
  ------------------
  |  |  869|      0|#define SCTP_FREE_SHOULD_USE_ABORT          1
  ------------------
 4830|      0|					SCTP_CALLED_DIRECTLY_NOCMPSET);
  ------------------
  |  |  865|      0|#define SCTP_CALLED_DIRECTLY_NOCMPSET     0
  ------------------
 4831|       |#if defined(__APPLE__) && !defined(__Userspace__)
 4832|       |			SCTP_SOCKET_UNLOCK(SCTP_INP_SO(inp), 1);
 4833|       |#endif
 4834|      0|		}
 4835|      0|	}
 4836|    294|	contains_init_chunk = 0;
 4837|    294|	ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, offset,
 4838|    294|	    sizeof(*ch), (uint8_t *) & chunk_buf);
 4839|  67.2k|	while (ch != NULL) {
  ------------------
  |  Branch (4839:9): [True: 67.0k, False: 245]
  ------------------
 4840|  67.0k|		chk_length = ntohs(ch->chunk_length);
 4841|  67.0k|		if (chk_length < sizeof(*ch)) {
  ------------------
  |  Branch (4841:7): [True: 44, False: 66.9k]
  ------------------
 4842|       |			/* break to abort land */
 4843|     44|			break;
 4844|     44|		}
 4845|  66.9k|		switch (ch->chunk_type) {
 4846|  57.7k|		case SCTP_INIT:
  ------------------
  |  |   92|  57.7k|#define SCTP_INIT	0x0001
  ------------------
  |  Branch (4846:3): [True: 57.7k, False: 9.27k]
  ------------------
 4847|  57.7k|			contains_init_chunk = 1;
 4848|  57.7k|			break;
 4849|      1|		case SCTP_PACKET_DROPPED:
  ------------------
  |  |  482|      1|#define SCTP_PACKET_DROPPED	0x81
  ------------------
  |  Branch (4849:3): [True: 1, False: 66.9k]
  ------------------
 4850|       |			/* we don't respond to pkt-dropped */
 4851|      1|			return;
 4852|      1|		case SCTP_ABORT_ASSOCIATION:
  ------------------
  |  |  463|      1|#define SCTP_ABORT_ASSOCIATION	0x06
  ------------------
  |  Branch (4852:3): [True: 1, False: 66.9k]
  ------------------
 4853|       |			/* we don't respond with an ABORT to an ABORT */
 4854|      1|			return;
 4855|      1|		case SCTP_SHUTDOWN_COMPLETE:
  ------------------
  |  |  471|      1|#define SCTP_SHUTDOWN_COMPLETE	0x0e
  ------------------
  |  Branch (4855:3): [True: 1, False: 66.9k]
  ------------------
 4856|       |			/*
 4857|       |			 * we ignore it since we are not waiting for it and
 4858|       |			 * peer is gone
 4859|       |			 */
 4860|      1|			return;
 4861|      2|		case SCTP_SHUTDOWN_ACK:
  ------------------
  |  |  465|      2|#define SCTP_SHUTDOWN_ACK	0x08
  ------------------
  |  Branch (4861:3): [True: 2, False: 66.9k]
  ------------------
 4862|      2|			sctp_send_shutdown_complete2(src, dst, sh,
 4863|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4864|       |			                             mflowtype, mflowid, fibnum,
 4865|       |#endif
 4866|      2|			                             vrf_id, port);
 4867|      2|			return;
 4868|  9.27k|		default:
  ------------------
  |  Branch (4868:3): [True: 9.27k, False: 57.7k]
  ------------------
 4869|  9.27k|			break;
 4870|  66.9k|		}
 4871|  66.9k|		offset += SCTP_SIZE32(chk_length);
  ------------------
  |  |  383|  66.9k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 4872|  66.9k|		ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, offset,
 4873|  66.9k|		    sizeof(*ch), (uint8_t *) & chunk_buf);
 4874|  66.9k|	}
 4875|    289|	if ((SCTP_BASE_SYSCTL(sctp_blackhole) == 0) ||
  ------------------
  |  |  584|    289|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (4875:6): [True: 289, False: 0]
  ------------------
 4876|    289|	    ((SCTP_BASE_SYSCTL(sctp_blackhole) == 1) &&
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (4876:7): [True: 0, False: 0]
  ------------------
 4877|    289|	     (contains_init_chunk == 0))) {
  ------------------
  |  Branch (4877:7): [True: 0, False: 0]
  ------------------
 4878|    289|		sctp_send_abort(m, iphlen, src, dst, sh, 0, cause,
 4879|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 4880|       |		                mflowtype, mflowid, fibnum,
 4881|       |#endif
 4882|    289|		                vrf_id, port);
 4883|    289|	}
 4884|    289|}
sctp_is_there_an_abort_here:
 4892|    839|{
 4893|    839|	struct sctp_chunkhdr *ch;
 4894|    839|	struct sctp_init_chunk *init_chk, chunk_buf;
 4895|    839|	int offset;
 4896|    839|	unsigned int chk_length;
 4897|       |
 4898|    839|	offset = iphlen + sizeof(struct sctphdr);
 4899|    839|	ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, offset, sizeof(*ch),
 4900|    839|	    (uint8_t *) & chunk_buf);
 4901|  89.1k|	while (ch != NULL) {
  ------------------
  |  Branch (4901:9): [True: 88.3k, False: 795]
  ------------------
 4902|  88.3k|		chk_length = ntohs(ch->chunk_length);
 4903|  88.3k|		if (chk_length < sizeof(*ch)) {
  ------------------
  |  Branch (4903:7): [True: 44, False: 88.3k]
  ------------------
 4904|       |			/* packet is probably corrupt */
 4905|     44|			break;
 4906|     44|		}
 4907|       |		/* we seem to be ok, is it an abort? */
 4908|  88.3k|		if (ch->chunk_type == SCTP_ABORT_ASSOCIATION) {
  ------------------
  |  |  463|  88.3k|#define SCTP_ABORT_ASSOCIATION	0x06
  ------------------
  |  Branch (4908:7): [True: 0, False: 88.3k]
  ------------------
 4909|       |			/* yep, tell them */
 4910|      0|			return (1);
 4911|      0|		}
 4912|  88.3k|		if ((ch->chunk_type == SCTP_INITIATION) ||
  ------------------
  |  |  458|  88.3k|#define SCTP_INITIATION		0x01
  ------------------
  |  Branch (4912:7): [True: 57.7k, False: 30.5k]
  ------------------
 4913|  88.3k|		    (ch->chunk_type == SCTP_INITIATION_ACK)) {
  ------------------
  |  |  459|  30.5k|#define SCTP_INITIATION_ACK	0x02
  ------------------
  |  Branch (4913:7): [True: 2.17k, False: 28.4k]
  ------------------
 4914|       |			/* need to update the Vtag */
 4915|  59.8k|			init_chk = (struct sctp_init_chunk *)sctp_m_getptr(m,
 4916|  59.8k|			    offset, sizeof(struct sctp_init_chunk), (uint8_t *) & chunk_buf);
 4917|  59.8k|			if (init_chk != NULL) {
  ------------------
  |  Branch (4917:8): [True: 59.6k, False: 236]
  ------------------
 4918|  59.6k|				*vtag = ntohl(init_chk->init.initiate_tag);
 4919|  59.6k|			}
 4920|  59.8k|		}
 4921|       |		/* Nope, move to the next chunk */
 4922|  88.3k|		offset += SCTP_SIZE32(chk_length);
  ------------------
  |  |  383|  88.3k|#define SCTP_SIZE32(x)	((((x) + 3) >> 2) << 2)
  ------------------
 4923|  88.3k|		ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, offset,
 4924|  88.3k|		    sizeof(*ch), (uint8_t *) & chunk_buf);
 4925|  88.3k|	}
 4926|    839|	return (0);
 4927|    839|}
sctp_cmpaddr:
 5013|   434k|{
 5014|       |
 5015|       |	/* must be valid */
 5016|   434k|	if (sa1 == NULL || sa2 == NULL)
  ------------------
  |  Branch (5016:6): [True: 0, False: 434k]
  |  Branch (5016:21): [True: 0, False: 434k]
  ------------------
 5017|      0|		return (0);
 5018|       |
 5019|       |	/* must be the same family */
 5020|   434k|	if (sa1->sa_family != sa2->sa_family)
  ------------------
  |  Branch (5020:6): [True: 101k, False: 333k]
  ------------------
 5021|   101k|		return (0);
 5022|       |
 5023|   333k|	switch (sa1->sa_family) {
 5024|      0|#ifdef INET6
 5025|  41.6k|	case AF_INET6:
  ------------------
  |  Branch (5025:2): [True: 41.6k, False: 291k]
  ------------------
 5026|  41.6k|	{
 5027|       |		/* IPv6 addresses */
 5028|  41.6k|		struct sockaddr_in6 *sin6_1, *sin6_2;
 5029|       |
 5030|  41.6k|		sin6_1 = (struct sockaddr_in6 *)sa1;
 5031|  41.6k|		sin6_2 = (struct sockaddr_in6 *)sa2;
 5032|  41.6k|		return (SCTP6_ARE_ADDR_EQUAL(sin6_1,
 5033|  41.6k|		    sin6_2));
 5034|      0|	}
 5035|      0|#endif
 5036|      0|#ifdef INET
 5037|   249k|	case AF_INET:
  ------------------
  |  Branch (5037:2): [True: 249k, False: 83.6k]
  ------------------
 5038|   249k|	{
 5039|       |		/* IPv4 addresses */
 5040|   249k|		struct sockaddr_in *sin_1, *sin_2;
 5041|       |
 5042|   249k|		sin_1 = (struct sockaddr_in *)sa1;
 5043|   249k|		sin_2 = (struct sockaddr_in *)sa2;
 5044|   249k|		return (sin_1->sin_addr.s_addr == sin_2->sin_addr.s_addr);
 5045|      0|	}
 5046|      0|#endif
 5047|      0|#if defined(__Userspace__)
 5048|  42.0k|	case AF_CONN:
  ------------------
  |  | 1008|  42.0k|#define AF_CONN 123
  ------------------
  |  Branch (5048:2): [True: 42.0k, False: 291k]
  ------------------
 5049|  42.0k|	{
 5050|  42.0k|		struct sockaddr_conn *sconn_1, *sconn_2;
 5051|       |
 5052|  42.0k|		sconn_1 = (struct sockaddr_conn *)sa1;
 5053|  42.0k|		sconn_2 = (struct sockaddr_conn *)sa2;
 5054|  42.0k|		return (sconn_1->sconn_addr == sconn_2->sconn_addr);
 5055|      0|	}
 5056|      0|#endif
 5057|      0|	default:
  ------------------
  |  Branch (5057:2): [True: 0, False: 333k]
  ------------------
 5058|       |		/* we don't do these... */
 5059|      0|		return (0);
 5060|   333k|	}
 5061|   333k|}
sctp_wakeup_the_read_socket:
 5233|   473k|{
 5234|   473k|	if ((inp != NULL) &&
  ------------------
  |  Branch (5234:6): [True: 473k, False: 0]
  ------------------
 5235|   473k|	    (inp->sctp_socket != NULL) &&
  ------------------
  |  Branch (5235:6): [True: 473k, False: 0]
  ------------------
 5236|   473k|	    (((inp->sctp_flags & (SCTP_PCB_FLAGS_TCPTYPE | SCTP_PCB_FLAGS_IN_TCPPOOL)) == 0) ||
  ------------------
  |  |  532|   473k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
              	    (((inp->sctp_flags & (SCTP_PCB_FLAGS_TCPTYPE | SCTP_PCB_FLAGS_IN_TCPPOOL)) == 0) ||
  ------------------
  |  |  543|   473k|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5236:7): [True: 0, False: 473k]
  ------------------
 5237|   473k|	     !SCTP_IS_LISTENING(inp))) {
  ------------------
  |  | 1146|   473k|#define SCTP_IS_LISTENING(inp) ((inp->sctp_flags & SCTP_PCB_FLAGS_ACCEPTING) != 0)
  |  |  ------------------
  |  |  |  |  534|   473k|#define SCTP_PCB_FLAGS_ACCEPTING	0x00000008
  |  |  ------------------
  ------------------
  |  Branch (5237:7): [True: 473k, False: 0]
  ------------------
 5238|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5239|       |		struct socket *so;
 5240|       |
 5241|       |		so = SCTP_INP_SO(inp);
 5242|       |		if (!so_locked) {
 5243|       |			if (stcb) {
 5244|       |				atomic_add_int(&stcb->asoc.refcnt, 1);
 5245|       |				SCTP_TCB_UNLOCK(stcb);
 5246|       |			}
 5247|       |			SCTP_SOCKET_LOCK(so, 1);
 5248|       |			if (stcb) {
 5249|       |				SCTP_TCB_LOCK(stcb);
 5250|       |				atomic_subtract_int(&stcb->asoc.refcnt, 1);
 5251|       |			}
 5252|       |			if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
 5253|       |				SCTP_SOCKET_UNLOCK(so, 1);
 5254|       |				return;
 5255|       |			}
 5256|       |		}
 5257|       |#endif
 5258|   473k|		sctp_sorwakeup(inp, inp->sctp_socket);
  ------------------
  |  | 1032|   473k|#define sctp_sorwakeup(inp, so) \
  |  | 1033|   473k|do { \
  |  | 1034|   473k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_DONT_WAKE) { \
  |  |  ------------------
  |  |  |  |  544|   947k|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  |  |  ------------------
  |  |  |  Branch (1034:6): [True: 0, False: 473k]
  |  |  ------------------
  |  | 1035|      0|		sctp_pcb_add_flags(inp, SCTP_PCB_FLAGS_WAKEINPUT); \
  |  |  ------------------
  |  |  |  |  546|      0|#define SCTP_PCB_FLAGS_WAKEINPUT	0x02000000
  |  |  ------------------
  |  | 1036|   473k|	} else { \
  |  | 1037|   473k|		sorwakeup(so); \
  |  |  ------------------
  |  |  |  |  519|   473k|#define	sorwakeup(so) do {						\
  |  |  |  |  520|   473k|	SOCKBUF_LOCK(&(so)->so_rcv);					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  517|   473k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|   473k|	do {                         \
  |  |  |  |  |  |  |  |  113|   473k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 473k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|   473k|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  521|   473k|	sorwakeup_locked(so);						\
  |  |  |  |  ------------------
  |  |  |  |  |  |  511|   473k|#define	sorwakeup_locked(so) do {					\
  |  |  |  |  |  |  512|   473k|	SOCKBUF_LOCK_ASSERT(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  514|   473k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|   473k|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|   473k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 473k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|   473k|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  513|   473k|	if (sb_notify(&(so)->so_rcv))					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  499|   473k|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  203|   473k|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  204|   473k|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  205|   473k|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (499:23): [True: 473k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  500|   473k|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  206|   473k|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  208|   473k|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  209|   473k|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  514|   473k|		sowakeup((so), &(so)->so_rcv);	 			\
  |  |  |  |  |  |  515|   473k|	else								\
  |  |  |  |  |  |  516|   473k|		SOCKBUF_UNLOCK(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  517|   473k|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (517:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  522|   473k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (522:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1038|   473k|	} \
  |  | 1039|   473k|} while (0)
  |  |  ------------------
  |  |  |  Branch (1039:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5259|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5260|       |		if (!so_locked) {
 5261|       |			SCTP_SOCKET_UNLOCK(so, 1);
 5262|       |		}
 5263|       |#endif
 5264|   473k|	}
 5265|   473k|}
sctp_invoke_recv_callback:
 5273|   473k|{
 5274|   473k|	uint32_t pd_point, length;
 5275|       |
 5276|   473k|	if ((inp->recv_callback == NULL) ||
  ------------------
  |  Branch (5276:6): [True: 473k, False: 0]
  ------------------
 5277|   473k|	    (stcb == NULL) ||
  ------------------
  |  Branch (5277:6): [True: 0, False: 0]
  ------------------
 5278|   473k|	    (stcb->sctp_socket == NULL)) {
  ------------------
  |  Branch (5278:6): [True: 0, False: 0]
  ------------------
 5279|   473k|		return;
 5280|   473k|	}
 5281|       |
 5282|      0|	length = control->length;
 5283|      0|	if (stcb != NULL && stcb->sctp_socket != NULL) {
  ------------------
  |  Branch (5283:6): [True: 0, False: 0]
  |  Branch (5283:22): [True: 0, False: 0]
  ------------------
 5284|      0|		pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket) >> SCTP_PARTIAL_DELIVERY_SHIFT,
  ------------------
  |  |   66|      0|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5285|      0|			       stcb->sctp_ep->partial_delivery_point);
 5286|      0|	} else {
 5287|      0|		pd_point = inp->partial_delivery_point;
 5288|      0|	}
 5289|      0|	if ((control->end_added == 1) || (length >= pd_point)) {
  ------------------
  |  Branch (5289:6): [True: 0, False: 0]
  |  Branch (5289:35): [True: 0, False: 0]
  ------------------
 5290|      0|		struct socket *so;
 5291|      0|		struct mbuf *m;
 5292|      0|		char *buffer;
 5293|      0|		struct sctp_rcvinfo rcv;
 5294|      0|		union sctp_sockstore addr;
 5295|      0|		int flags;
 5296|       |
 5297|      0|		if ((buffer = malloc(length)) == NULL) {
  ------------------
  |  Branch (5297:7): [True: 0, False: 0]
  ------------------
 5298|      0|			return;
 5299|      0|		}
 5300|      0|		if (inp_read_lock_held == 0) {
  ------------------
  |  Branch (5300:7): [True: 0, False: 0]
  ------------------
 5301|      0|			SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5302|      0|		}
 5303|      0|		so = stcb->sctp_socket;
 5304|      0|		for (m = control->data; m; m = SCTP_BUF_NEXT(m)) {
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (5304:27): [True: 0, False: 0]
  ------------------
 5305|      0|			sctp_sbfree(control, control->stcb, &so->so_rcv, m);
  ------------------
  |  |  247|      0|#define sctp_sbfree(ctl, stcb, sb, m) { \
  |  |  248|      0|	SCTP_SB_DECR(sb, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |  967|      0|#define SCTP_SB_DECR(sb, decr)					\
  |  |  |  |  968|      0|{								\
  |  |  |  |  969|      0|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_cc, (int)(decr));	\
  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  |  |  118|      0|{ \
  |  |  |  |  |  |  119|      0|	int32_t oldval; \
  |  |  |  |  |  |  120|      0|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|	if (oldval < val) { \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (121:6): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      0|	} \
  |  |  |  |  |  |  124|      0|}
  |  |  |  |  ------------------
  |  |  |  |  970|      0|}
  |  |  ------------------
  |  |  249|      0|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_mbcnt, MSIZE); \
  |  |  ------------------
  |  |  |  |  117|      0|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|      0|{ \
  |  |  |  |  119|      0|	int32_t oldval; \
  |  |  |  |  120|      0|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|      0|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|      0|}
  |  |  ------------------
  |  |  250|      0|	if (((ctl)->do_not_ref_stcb == 0) && stcb) { \
  |  |  ------------------
  |  |  |  Branch (250:6): [True: 0, False: 0]
  |  |  |  Branch (250:39): [True: 0, False: 0]
  |  |  ------------------
  |  |  251|      0|		SCTP_SAVE_ATOMIC_DECREMENT(&(stcb)->asoc.sb_cc, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |  117|      0|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|      0|{ \
  |  |  |  |  119|      0|	int32_t oldval; \
  |  |  |  |  120|      0|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|      0|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|      0|}
  |  |  ------------------
  |  |  252|      0|		SCTP_SAVE_ATOMIC_DECREMENT(&(stcb)->asoc.my_rwnd_control_len, MSIZE); \
  |  |  ------------------
  |  |  |  |  117|      0|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|      0|{ \
  |  |  |  |  119|      0|	int32_t oldval; \
  |  |  |  |  120|      0|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|      0|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|      0|}
  |  |  ------------------
  |  |  253|      0|	} \
  |  |  254|      0|}
  ------------------
 5306|      0|		}
 5307|      0|		m_copydata(control->data, 0, length, buffer);
 5308|      0|		memset(&rcv, 0, sizeof(struct sctp_rcvinfo));
 5309|      0|		rcv.rcv_sid = control->sinfo_stream;
 5310|      0|		rcv.rcv_ssn = (uint16_t)control->mid;
 5311|      0|		rcv.rcv_flags = control->sinfo_flags;
 5312|      0|		rcv.rcv_ppid = control->sinfo_ppid;
 5313|      0|		rcv.rcv_tsn = control->sinfo_tsn;
 5314|      0|		rcv.rcv_cumtsn = control->sinfo_cumtsn;
 5315|      0|		rcv.rcv_context = control->sinfo_context;
 5316|      0|		rcv.rcv_assoc_id = control->sinfo_assoc_id;
 5317|      0|		memset(&addr, 0, sizeof(union sctp_sockstore));
 5318|      0|		switch (control->whoFrom->ro._l_addr.sa.sa_family) {
 5319|      0|#ifdef INET
 5320|      0|		case AF_INET:
  ------------------
  |  Branch (5320:3): [True: 0, False: 0]
  ------------------
 5321|      0|			addr.sin = control->whoFrom->ro._l_addr.sin;
 5322|      0|			break;
 5323|      0|#endif
 5324|      0|#ifdef INET6
 5325|      0|		case AF_INET6:
  ------------------
  |  Branch (5325:3): [True: 0, False: 0]
  ------------------
 5326|      0|			addr.sin6 = control->whoFrom->ro._l_addr.sin6;
 5327|      0|			break;
 5328|      0|#endif
 5329|      0|		case AF_CONN:
  ------------------
  |  | 1008|      0|#define AF_CONN 123
  ------------------
  |  Branch (5329:3): [True: 0, False: 0]
  ------------------
 5330|      0|			addr.sconn = control->whoFrom->ro._l_addr.sconn;
 5331|      0|			break;
 5332|      0|		default:
  ------------------
  |  Branch (5332:3): [True: 0, False: 0]
  ------------------
 5333|      0|			addr.sa = control->whoFrom->ro._l_addr.sa;
 5334|      0|			break;
 5335|      0|		}
 5336|      0|		flags = 0;
 5337|      0|		if (control->end_added == 1) {
  ------------------
  |  Branch (5337:7): [True: 0, False: 0]
  ------------------
 5338|      0|			flags |= MSG_EOR;
 5339|      0|		}
 5340|      0|		if (control->spec_flags & M_NOTIFICATION) {
  ------------------
  |  | 1031|      0|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|      0|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (5340:7): [True: 0, False: 0]
  ------------------
 5341|      0|			flags |= MSG_NOTIFICATION;
  ------------------
  |  |   50|      0|#define MSG_NOTIFICATION 0x2000         /* SCTP notification */
  ------------------
 5342|      0|		}
 5343|      0|		sctp_m_freem(control->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5344|      0|		control->data = NULL;
 5345|      0|		control->tail_mbuf = NULL;
 5346|      0|		control->length = 0;
 5347|      0|		if (control->end_added) {
  ------------------
  |  Branch (5347:7): [True: 0, False: 0]
  ------------------
 5348|      0|			TAILQ_REMOVE(&stcb->sctp_ep->read_queue, control, next);
 5349|      0|			control->on_read_q = 0;
 5350|      0|			sctp_free_remote_addr(control->whoFrom);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 5351|      0|			control->whoFrom = NULL;
 5352|      0|			sctp_free_a_readq(stcb, control);
  ------------------
  |  |  105|      0|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|      0|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  107|      0|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|      0|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  109|      0|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|      0|}
  ------------------
 5353|      0|		}
 5354|      0|		atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 5355|      0|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5356|      0|		if (inp_read_lock_held == 0) {
  ------------------
  |  Branch (5356:7): [True: 0, False: 0]
  ------------------
 5357|      0|			SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5358|      0|		}
 5359|      0|		inp->recv_callback(so, addr, buffer, length, rcv, flags, inp->ulp_info);
 5360|      0|		SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|      0|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5361|      0|		atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 5362|      0|	}
 5363|      0|}
sctp_add_to_readq:
 5374|   473k|{
 5375|       |	/*
 5376|       |	 * Here we must place the control on the end of the socket read
 5377|       |	 * queue AND increment sb_cc so that select will work properly on
 5378|       |	 * read.
 5379|       |	 */
 5380|   473k|	struct mbuf *m, *prev = NULL;
 5381|       |
 5382|   473k|	if (inp == NULL) {
  ------------------
  |  Branch (5382:6): [True: 0, False: 473k]
  ------------------
 5383|       |		/* Gak, TSNH!! */
 5384|      0|#ifdef INVARIANTS
 5385|      0|		panic("Gak, inp NULL on add_to_readq");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5386|      0|#endif
 5387|      0|		return;
 5388|      0|	}
 5389|       |#if defined(__APPLE__) && !defined(__Userspace__)
 5390|       |	if (so_locked) {
 5391|       |		sctp_lock_assert(SCTP_INP_SO(inp));
 5392|       |	} else {
 5393|       |		sctp_unlock_assert(SCTP_INP_SO(inp));
 5394|       |	}
 5395|       |#endif
 5396|   473k|	if (inp_read_lock_held == SCTP_READ_LOCK_NOT_HELD) {
  ------------------
  |  |   41|   473k|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
  |  Branch (5396:6): [True: 1.00k, False: 472k]
  ------------------
 5397|  1.00k|		SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|  1.00k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.00k|	do {                         \
  |  |  |  |  113|  1.00k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.00k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.00k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5398|  1.00k|	}
 5399|   473k|	if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_CANT_READ) {
  ------------------
  |  |  551|   473k|#define SCTP_PCB_FLAGS_SOCKET_CANT_READ	0x40000000
  ------------------
  |  Branch (5399:6): [True: 0, False: 473k]
  ------------------
 5400|      0|		if (!control->on_strm_q) {
  ------------------
  |  Branch (5400:7): [True: 0, False: 0]
  ------------------
 5401|      0|			sctp_free_remote_addr(control->whoFrom);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 5402|      0|			if (control->data) {
  ------------------
  |  Branch (5402:8): [True: 0, False: 0]
  ------------------
 5403|      0|				sctp_m_freem(control->data);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 5404|      0|				control->data = NULL;
 5405|      0|			}
 5406|      0|			sctp_free_a_readq(stcb, control);
  ------------------
  |  |  105|      0|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|      0|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  107|      0|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|      0|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  109|      0|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|      0|}
  ------------------
 5407|      0|		}
 5408|      0|		if (inp_read_lock_held == SCTP_READ_LOCK_NOT_HELD) {
  ------------------
  |  |   41|      0|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
  |  Branch (5408:7): [True: 0, False: 0]
  ------------------
 5409|      0|			SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5410|      0|		}
 5411|      0|		return;
 5412|      0|	}
 5413|   473k|	if ((control->spec_flags & M_NOTIFICATION) == 0) {
  ------------------
  |  | 1031|   473k|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|   473k|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (5413:6): [True: 1.00k, False: 472k]
  ------------------
 5414|  1.00k|		atomic_add_int(&inp->total_recvs, 1);
  ------------------
  |  |   94|  1.00k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 5415|  1.00k|		if (!control->do_not_ref_stcb) {
  ------------------
  |  Branch (5415:7): [True: 1.00k, False: 0]
  ------------------
 5416|  1.00k|			atomic_add_int(&stcb->total_recvs, 1);
  ------------------
  |  |   94|  1.00k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 5417|  1.00k|		}
 5418|  1.00k|	}
 5419|   473k|	m = control->data;
 5420|   473k|	control->held_length = 0;
 5421|   473k|	control->length = 0;
 5422|   948k|	while (m != NULL) {
  ------------------
  |  Branch (5422:9): [True: 475k, False: 473k]
  ------------------
 5423|   475k|		if (SCTP_BUF_LEN(m) == 0) {
  ------------------
  |  |  795|   475k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   475k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (5423:7): [True: 146, False: 475k]
  ------------------
 5424|       |			/* Skip mbufs with NO length */
 5425|    146|			if (prev == NULL) {
  ------------------
  |  Branch (5425:8): [True: 146, False: 0]
  ------------------
 5426|       |				/* First one */
 5427|    146|				control->data = sctp_m_free(m);
  ------------------
  |  |   51|    146|#define sctp_m_free m_free
  ------------------
 5428|    146|				m = control->data;
 5429|    146|			} else {
 5430|      0|				SCTP_BUF_NEXT(prev) = sctp_m_free(m);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
              				SCTP_BUF_NEXT(prev) = sctp_m_free(m);
  ------------------
  |  |   51|      0|#define sctp_m_free m_free
  ------------------
 5431|      0|				m = SCTP_BUF_NEXT(prev);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 5432|      0|			}
 5433|    146|			if (m == NULL) {
  ------------------
  |  Branch (5433:8): [True: 0, False: 146]
  ------------------
 5434|      0|				control->tail_mbuf = prev;
 5435|      0|			}
 5436|    146|			continue;
 5437|    146|		}
 5438|   475k|		prev = m;
 5439|   475k|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  584|   475k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  660|   475k|#define SCTP_SB_LOGGING_ENABLE				0x00010000
  ------------------
  |  Branch (5439:7): [True: 0, False: 475k]
  ------------------
 5440|      0|			sctp_sblog(sb, control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBALLOC, SCTP_BUF_LEN(m));
  ------------------
  |  |  157|      0|#define SCTP_LOG_SBALLOC            53
  ------------------
              			sctp_sblog(sb, control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBALLOC, SCTP_BUF_LEN(m));
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (5440:19): [True: 0, False: 0]
  ------------------
 5441|      0|		}
 5442|   475k|		sctp_sballoc(stcb, sb, m);
  ------------------
  |  |  256|   475k|#define sctp_sballoc(stcb, sb, m) { \
  |  |  257|   475k|	SCTP_SB_INCR(sb, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |  963|   475k|#define SCTP_SB_INCR(sb, incr)			\
  |  |  |  |  964|   475k|{						\
  |  |  |  |  965|   475k|	atomic_add_int(&(sb)->sb_cc, incr);	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|   475k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  |  |  966|   475k|}
  |  |  ------------------
  |  |  258|   475k|	atomic_add_int(&(sb)->sb_mbcnt, MSIZE); \
  |  |  ------------------
  |  |  |  |   94|   475k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  259|   475k|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (259:6): [True: 475k, False: 0]
  |  |  ------------------
  |  |  260|   475k|		atomic_add_int(&(stcb)->asoc.sb_cc, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |   94|   475k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  261|   475k|		atomic_add_int(&(stcb)->asoc.my_rwnd_control_len, MSIZE); \
  |  |  ------------------
  |  |  |  |   94|   475k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  262|   475k|	} \
  |  |  263|   475k|}
  ------------------
 5443|   475k|		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  584|   475k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  660|   475k|#define SCTP_SB_LOGGING_ENABLE				0x00010000
  ------------------
  |  Branch (5443:7): [True: 0, False: 475k]
  ------------------
 5444|      0|			sctp_sblog(sb, control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBRESULT, 0);
  ------------------
  |  |  159|      0|#define SCTP_LOG_SBRESULT           55
  ------------------
  |  Branch (5444:19): [True: 0, False: 0]
  ------------------
 5445|      0|		}
 5446|   475k|		atomic_add_int(&control->length, SCTP_BUF_LEN(m));
  ------------------
  |  |   94|   475k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 5447|   475k|		m = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|   475k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|   475k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 5448|   475k|	}
 5449|   473k|	if (prev != NULL) {
  ------------------
  |  Branch (5449:6): [True: 473k, False: 0]
  ------------------
 5450|   473k|		control->tail_mbuf = prev;
 5451|   473k|	} else {
 5452|       |		/* Everything got collapsed out?? */
 5453|      0|		if (!control->on_strm_q) {
  ------------------
  |  Branch (5453:7): [True: 0, False: 0]
  ------------------
 5454|      0|			sctp_free_remote_addr(control->whoFrom);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 5455|      0|			sctp_free_a_readq(stcb, control);
  ------------------
  |  |  105|      0|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|      0|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  107|      0|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|      0|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  109|      0|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|      0|}
  ------------------
 5456|      0|		}
 5457|      0|		if (inp_read_lock_held == 0)
  ------------------
  |  Branch (5457:7): [True: 0, False: 0]
  ------------------
 5458|      0|			SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5459|      0|		return;
 5460|      0|	}
 5461|   473k|	if (end) {
  ------------------
  |  Branch (5461:6): [True: 473k, False: 0]
  ------------------
 5462|   473k|		control->end_added = 1;
 5463|   473k|	}
 5464|   473k|	TAILQ_INSERT_TAIL(&inp->read_queue, control, next);
 5465|   473k|	control->on_read_q = 1;
 5466|   473k|#if defined(__Userspace__)
 5467|   473k|	sctp_invoke_recv_callback(inp, stcb, control, SCTP_READ_LOCK_HELD);
  ------------------
  |  |   40|   473k|#define SCTP_READ_LOCK_HELD 1
  ------------------
 5468|   473k|#endif
 5469|   473k|	if ((inp != NULL) && (inp->sctp_socket != NULL)) {
  ------------------
  |  Branch (5469:6): [True: 473k, False: 0]
  |  Branch (5469:23): [True: 473k, False: 0]
  ------------------
 5470|   473k|		sctp_wakeup_the_read_socket(inp, stcb, so_locked);
 5471|   473k|	}
 5472|   473k|	if (inp_read_lock_held == SCTP_READ_LOCK_NOT_HELD) {
  ------------------
  |  |   41|   473k|#define SCTP_READ_LOCK_NOT_HELD 0
  ------------------
  |  Branch (5472:6): [True: 1.00k, False: 472k]
  ------------------
 5473|  1.00k|		SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|  1.00k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.00k|	do {                         \
  |  |  |  |  113|  1.00k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.00k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.00k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5474|  1.00k|	}
 5475|   473k|}
sctp_generate_cause:
 5487|  9.38k|{
 5488|  9.38k|	struct mbuf *m;
 5489|  9.38k|	struct sctp_gen_error_cause *cause;
 5490|  9.38k|	size_t info_len;
 5491|  9.38k|	uint16_t len;
 5492|       |
 5493|  9.38k|	if ((code == 0) || (info == NULL)) {
  ------------------
  |  Branch (5493:6): [True: 522, False: 8.86k]
  |  Branch (5493:21): [True: 0, False: 8.86k]
  ------------------
 5494|    522|		return (NULL);
 5495|    522|	}
 5496|  8.86k|	info_len = strlen(info);
 5497|  8.86k|	if (info_len > (SCTP_MAX_CAUSE_LENGTH - sizeof(struct sctp_paramhdr))) {
  ------------------
  |  |   74|  8.86k|#define SCTP_MAX_CAUSE_LENGTH 0xffff
  ------------------
  |  Branch (5497:6): [True: 0, False: 8.86k]
  ------------------
 5498|      0|		return (NULL);
 5499|      0|	}
 5500|  8.86k|	len = (uint16_t)(sizeof(struct sctp_paramhdr) + info_len);
 5501|  8.86k|	m = sctp_get_mbuf_for_msg(len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  8.86k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m = sctp_get_mbuf_for_msg(len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  8.86k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 5502|  8.86k|	if (m != NULL) {
  ------------------
  |  Branch (5502:6): [True: 8.86k, False: 0]
  ------------------
 5503|  8.86k|		SCTP_BUF_LEN(m) = len;
  ------------------
  |  |  795|  8.86k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  8.86k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5504|  8.86k|		cause = mtod(m, struct sctp_gen_error_cause *);
  ------------------
  |  |   96|  8.86k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  8.86k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5505|  8.86k|		cause->code = htons(code);
 5506|  8.86k|		cause->length = htons(len);
 5507|  8.86k|		memcpy(cause->info, info, info_len);
 5508|  8.86k|	}
 5509|  8.86k|	return (m);
 5510|  8.86k|}
sctp_generate_no_user_data_cause:
 5514|      8|{
 5515|      8|	struct mbuf *m;
 5516|      8|	struct sctp_error_no_user_data *no_user_data_cause;
 5517|      8|	uint16_t len;
 5518|       |
 5519|      8|	len = (uint16_t)sizeof(struct sctp_error_no_user_data);
 5520|      8|	m = sctp_get_mbuf_for_msg(len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|      8|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m = sctp_get_mbuf_for_msg(len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|      8|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 5521|      8|	if (m != NULL) {
  ------------------
  |  Branch (5521:6): [True: 8, False: 0]
  ------------------
 5522|      8|		SCTP_BUF_LEN(m) = len;
  ------------------
  |  |  795|      8|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      8|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 5523|      8|		no_user_data_cause = mtod(m, struct sctp_error_no_user_data *);
  ------------------
  |  |   96|      8|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      8|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 5524|      8|		no_user_data_cause->cause.code = htons(SCTP_CAUSE_NO_USER_DATA);
 5525|      8|		no_user_data_cause->cause.length = htons(len);
 5526|      8|		no_user_data_cause->tsn = htonl(tsn);
 5527|      8|	}
 5528|      8|	return (m);
 5529|      8|}
sctp_free_bufspace:
 5534|    598|{
 5535|    598|	if (tp1->data == NULL) {
  ------------------
  |  Branch (5535:6): [True: 0, False: 598]
  ------------------
 5536|      0|		return;
 5537|      0|	}
 5538|    598|	atomic_subtract_int(&asoc->chunks_on_out_queue, chk_cnt);
  ------------------
  |  |   97|    598|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 5539|       |#ifdef SCTP_MBCNT_LOGGING
 5540|       |	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MBCNT_LOGGING_ENABLE) {
 5541|       |		sctp_log_mbcnt(SCTP_LOG_MBCNT_DECREASE,
 5542|       |		               asoc->total_output_queue_size,
 5543|       |		               tp1->book_size,
 5544|       |		               0,
 5545|       |		               tp1->mbcnt);
 5546|       |	}
 5547|       |#endif
 5548|    598|	if (asoc->total_output_queue_size >= tp1->book_size) {
  ------------------
  |  Branch (5548:6): [True: 598, False: 0]
  ------------------
 5549|    598|		atomic_subtract_int(&asoc->total_output_queue_size, tp1->book_size);
  ------------------
  |  |   97|    598|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 5550|    598|	} else {
 5551|      0|		asoc->total_output_queue_size = 0;
 5552|      0|	}
 5553|    598|	if ((stcb->sctp_socket != NULL) &&
  ------------------
  |  Branch (5553:6): [True: 598, False: 0]
  ------------------
 5554|    598|	    (((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) ||
  ------------------
  |  |  543|    598|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (5554:7): [True: 0, False: 598]
  ------------------
 5555|    598|	     ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE)))) {
  ------------------
  |  |  532|    598|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (5555:7): [True: 598, False: 0]
  ------------------
 5556|    598|		SCTP_SB_DECR(&stcb->sctp_socket->so_snd, tp1->book_size);
  ------------------
  |  |  967|    598|#define SCTP_SB_DECR(sb, decr)					\
  |  |  968|    598|{								\
  |  |  969|    598|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_cc, (int)(decr));	\
  |  |  ------------------
  |  |  |  |  117|    598|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|    598|{ \
  |  |  |  |  119|    598|	int32_t oldval; \
  |  |  |  |  120|    598|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|    598|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|    598|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 598]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|    598|}
  |  |  ------------------
  |  |  970|    598|}
  ------------------
 5557|    598|	}
 5558|    598|}
sctp_get_ifa_hash_val:
 5862|  83.3k|{
 5863|  83.3k|	switch (addr->sa_family) {
 5864|      0|#ifdef INET
 5865|  56.2k|	case AF_INET:
  ------------------
  |  Branch (5865:2): [True: 56.2k, False: 27.0k]
  ------------------
 5866|  56.2k|	{
 5867|  56.2k|		struct sockaddr_in *sin;
 5868|       |
 5869|  56.2k|		sin = (struct sockaddr_in *)addr;
 5870|  56.2k|		return (sin->sin_addr.s_addr ^ (sin->sin_addr.s_addr >> 16));
 5871|      0|	}
 5872|      0|#endif
 5873|      0|#ifdef INET6
 5874|  3.92k|	case AF_INET6:
  ------------------
  |  Branch (5874:2): [True: 3.92k, False: 79.4k]
  ------------------
 5875|  3.92k|	{
 5876|  3.92k|		struct sockaddr_in6 *sin6;
 5877|  3.92k|		uint32_t hash_of_addr;
 5878|       |
 5879|  3.92k|		sin6 = (struct sockaddr_in6 *)addr;
 5880|  3.92k|#if !defined(_WIN32) && !(defined(__FreeBSD__) && defined(__Userspace__)) && !defined(__APPLE__)
 5881|  3.92k|		hash_of_addr = (sin6->sin6_addr.s6_addr32[0] +
 5882|  3.92k|				sin6->sin6_addr.s6_addr32[1] +
 5883|  3.92k|				sin6->sin6_addr.s6_addr32[2] +
 5884|  3.92k|				sin6->sin6_addr.s6_addr32[3]);
 5885|       |#else
 5886|       |		hash_of_addr = (((uint32_t *)&sin6->sin6_addr)[0] +
 5887|       |				((uint32_t *)&sin6->sin6_addr)[1] +
 5888|       |				((uint32_t *)&sin6->sin6_addr)[2] +
 5889|       |				((uint32_t *)&sin6->sin6_addr)[3]);
 5890|       |#endif
 5891|  3.92k|		hash_of_addr = (hash_of_addr ^ (hash_of_addr >> 16));
 5892|  3.92k|		return (hash_of_addr);
 5893|      0|	}
 5894|      0|#endif
 5895|      0|#if defined(__Userspace__)
 5896|  23.1k|	case AF_CONN:
  ------------------
  |  | 1008|  23.1k|#define AF_CONN 123
  ------------------
  |  Branch (5896:2): [True: 23.1k, False: 60.2k]
  ------------------
 5897|  23.1k|	{
 5898|  23.1k|		struct sockaddr_conn *sconn;
 5899|  23.1k|		uintptr_t temp;
 5900|       |
 5901|  23.1k|		sconn = (struct sockaddr_conn *)addr;
 5902|  23.1k|		temp = (uintptr_t)sconn->sconn_addr;
 5903|  23.1k|		return ((uint32_t)(temp ^ (temp >> 16)));
 5904|      0|	}
 5905|      0|#endif
 5906|      0|	default:
  ------------------
  |  Branch (5906:2): [True: 0, False: 83.3k]
  ------------------
 5907|      0|		break;
 5908|  83.3k|	}
 5909|      0|	return (0);
 5910|  83.3k|}
sctp_find_ifa_by_addr:
 5914|  83.3k|{
 5915|  83.3k|	struct sctp_ifa *sctp_ifap;
 5916|  83.3k|	struct sctp_vrf *vrf;
 5917|  83.3k|	struct sctp_ifalist *hash_head;
 5918|  83.3k|	uint32_t hash_of_addr;
 5919|       |
 5920|  83.3k|	if (holds_lock == 0) {
  ------------------
  |  Branch (5920:6): [True: 83.3k, False: 3]
  ------------------
 5921|  83.3k|		SCTP_IPI_ADDR_RLOCK();
  ------------------
  |  |  597|  83.3k|	KASSERT(pthread_rwlock_rdlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  83.3k|	do {                         \
  |  |  |  |  113|  83.3k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 83.3k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  83.3k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5922|  83.3k|	} else {
 5923|      3|		SCTP_IPI_ADDR_LOCK_ASSERT();
 5924|      3|	}
 5925|       |
 5926|  83.3k|	vrf = sctp_find_vrf(vrf_id);
 5927|  83.3k|	if (vrf == NULL) {
  ------------------
  |  Branch (5927:6): [True: 0, False: 83.3k]
  ------------------
 5928|      0|		if (holds_lock == 0)
  ------------------
  |  Branch (5928:7): [True: 0, False: 0]
  ------------------
 5929|      0|			SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5930|      0|		return (NULL);
 5931|      0|	}
 5932|       |
 5933|  83.3k|	hash_of_addr = sctp_get_ifa_hash_val(addr);
 5934|       |
 5935|  83.3k|	hash_head = &vrf->vrf_addr_hash[(hash_of_addr & vrf->vrf_addr_hashmark)];
 5936|  83.3k|	if (hash_head == NULL) {
  ------------------
  |  Branch (5936:6): [True: 0, False: 83.3k]
  ------------------
 5937|      0|		SCTP_PRINTF("hash_of_addr:%x mask:%x table:%x - ",
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 5938|      0|			    hash_of_addr, (uint32_t)vrf->vrf_addr_hashmark,
 5939|      0|			    (uint32_t)(hash_of_addr & vrf->vrf_addr_hashmark));
 5940|      0|		sctp_print_address(addr);
 5941|      0|		SCTP_PRINTF("No such bucket for address\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 5942|      0|		if (holds_lock == 0)
  ------------------
  |  Branch (5942:7): [True: 0, False: 0]
  ------------------
 5943|      0|			SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|      0|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5944|       |
 5945|      0|		return (NULL);
 5946|      0|	}
 5947|  83.3k|	LIST_FOREACH(sctp_ifap, hash_head, next_bucket) {
 5948|  43.1k|		if (addr->sa_family != sctp_ifap->address.sa.sa_family)
  ------------------
  |  Branch (5948:7): [True: 10.4k, False: 32.7k]
  ------------------
 5949|  10.4k|			continue;
 5950|  32.7k|#ifdef INET
 5951|  32.7k|		if (addr->sa_family == AF_INET) {
  ------------------
  |  Branch (5951:7): [True: 9.60k, False: 23.1k]
  ------------------
 5952|  9.60k|			if (((struct sockaddr_in *)addr)->sin_addr.s_addr ==
  ------------------
  |  Branch (5952:8): [True: 0, False: 9.60k]
  ------------------
 5953|  9.60k|			    sctp_ifap->address.sin.sin_addr.s_addr) {
 5954|       |				/* found him. */
 5955|      0|				break;
 5956|      0|			}
 5957|  9.60k|		}
 5958|  32.7k|#endif
 5959|  32.7k|#ifdef INET6
 5960|  32.7k|		if (addr->sa_family == AF_INET6) {
  ------------------
  |  Branch (5960:7): [True: 0, False: 32.7k]
  ------------------
 5961|      0|			if (SCTP6_ARE_ADDR_EQUAL((struct sockaddr_in6 *)addr,
  ------------------
  |  Branch (5961:8): [True: 0, False: 0]
  ------------------
 5962|      0|						 &sctp_ifap->address.sin6)) {
 5963|       |				/* found him. */
 5964|      0|				break;
 5965|      0|			}
 5966|      0|		}
 5967|  32.7k|#endif
 5968|  32.7k|#if defined(__Userspace__)
 5969|  32.7k|		if (addr->sa_family == AF_CONN) {
  ------------------
  |  | 1008|  32.7k|#define AF_CONN 123
  ------------------
  |  Branch (5969:7): [True: 23.1k, False: 9.60k]
  ------------------
 5970|  23.1k|			if (((struct sockaddr_conn *)addr)->sconn_addr == sctp_ifap->address.sconn.sconn_addr) {
  ------------------
  |  Branch (5970:8): [True: 23.1k, False: 0]
  ------------------
 5971|       |				/* found him. */
 5972|  23.1k|				break;
 5973|  23.1k|			}
 5974|  23.1k|		}
 5975|  32.7k|#endif
 5976|  32.7k|	}
 5977|  83.3k|	if (holds_lock == 0)
  ------------------
  |  Branch (5977:6): [True: 83.3k, False: 3]
  ------------------
 5978|  83.3k|		SCTP_IPI_ADDR_RUNLOCK();
  ------------------
  |  |  599|  83.3k|	KASSERT(pthread_rwlock_unlock(&SCTP_BASE_INFO(ipi_addr_mtx)) == 0, ("%s:%d: ipi_addr_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  83.3k|	do {                         \
  |  |  |  |  113|  83.3k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 83.3k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  83.3k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5979|  83.3k|	return (sctp_ifap);
 5980|  83.3k|}
sctp_sorecvmsg:
 6083|   476k|{
 6084|       |	/*
 6085|       |	 * MSG flags we will look at MSG_DONTWAIT - non-blocking IO.
 6086|       |	 * MSG_PEEK - Look don't touch :-D (only valid with OUT mbuf copy
 6087|       |	 * mp=NULL thus uio is the copy method to userland) MSG_WAITALL - ??
 6088|       |	 * On the way out we may send out any combination of:
 6089|       |	 * MSG_NOTIFICATION MSG_EOR
 6090|       |	 *
 6091|       |	 */
 6092|   476k|	struct sctp_inpcb *inp = NULL;
 6093|   476k|	ssize_t my_len = 0;
 6094|   476k|	ssize_t cp_len = 0;
 6095|   476k|	int error = 0;
 6096|   476k|	struct sctp_queued_to_read *control = NULL, *ctl = NULL, *nxt = NULL;
 6097|   476k|	struct mbuf *m = NULL;
 6098|   476k|	struct sctp_tcb *stcb = NULL;
 6099|   476k|	int wakeup_read_socket = 0;
 6100|   476k|	int freecnt_applied = 0;
 6101|   476k|	int out_flags = 0, in_flags = 0;
 6102|   476k|	int block_allowed = 1;
 6103|   476k|	uint32_t freed_so_far = 0;
 6104|   476k|	ssize_t copied_so_far = 0;
 6105|   476k|	int in_eeor_mode = 0;
 6106|   476k|	int no_rcv_needed = 0;
 6107|   476k|	uint32_t rwnd_req = 0;
 6108|   476k|	int hold_sblock = 0;
 6109|   476k|	int hold_rlock = 0;
 6110|   476k|	ssize_t slen = 0;
 6111|   476k|	uint32_t held_length = 0;
 6112|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6113|       |	int sockbuf_lock = 0;
 6114|       |#endif
 6115|       |
 6116|   476k|	if (uio == NULL) {
  ------------------
  |  Branch (6116:6): [True: 0, False: 476k]
  ------------------
 6117|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTPUTIL, EINVAL);
 6118|      0|		return (EINVAL);
 6119|      0|	}
 6120|       |
 6121|   476k|	if (msg_flags) {
  ------------------
  |  Branch (6121:6): [True: 476k, False: 0]
  ------------------
 6122|   476k|		in_flags = *msg_flags;
 6123|   476k|		if (in_flags & MSG_PEEK)
  ------------------
  |  Branch (6123:7): [True: 0, False: 476k]
  ------------------
 6124|   476k|			SCTP_STAT_INCR(sctps_read_peeks);
  ------------------
  |  | 1112|   476k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6125|   476k|	} else {
 6126|      0|		in_flags = 0;
 6127|      0|	}
 6128|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6129|       |#if defined(APPLE_LEOPARD)
 6130|       |	slen = uio->uio_resid;
 6131|       |#else
 6132|       |	slen = uio_resid(uio);
 6133|       |#endif
 6134|       |#else
 6135|   476k|	slen = uio->uio_resid;
 6136|   476k|#endif
 6137|       |
 6138|       |	/* Pull in and set up our int flags */
 6139|   476k|	if (in_flags & MSG_OOB) {
  ------------------
  |  Branch (6139:6): [True: 0, False: 476k]
  ------------------
 6140|       |		/* Out of band's NOT supported */
 6141|      0|		return (EOPNOTSUPP);
 6142|      0|	}
 6143|   476k|	if ((in_flags & MSG_PEEK) && (mp != NULL)) {
  ------------------
  |  Branch (6143:6): [True: 0, False: 476k]
  |  Branch (6143:31): [True: 0, False: 0]
  ------------------
 6144|      0|		SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTPUTIL, EINVAL);
 6145|      0|		return (EINVAL);
 6146|      0|	}
 6147|   476k|	if ((in_flags & (MSG_DONTWAIT
  ------------------
  |  Branch (6147:6): [True: 0, False: 476k]
  ------------------
 6148|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6149|       |			 | MSG_NBIO
 6150|       |#endif
 6151|   476k|		     )) ||
 6152|   476k|	    SCTP_SO_IS_NBIO(so)) {
  ------------------
  |  |  950|   476k|#define SCTP_SO_IS_NBIO(so)	((so)->so_state & SS_NBIO)
  |  |  ------------------
  |  |  |  |  343|   476k|#define	SS_NBIO			0x0100	/* non-blocking ops */
  |  |  ------------------
  |  |  |  Branch (950:29): [True: 476k, False: 0]
  |  |  ------------------
  ------------------
 6153|   476k|		block_allowed = 0;
 6154|   476k|	}
 6155|       |	/* setup the endpoint */
 6156|   476k|	inp = (struct sctp_inpcb *)so->so_pcb;
 6157|   476k|	if (inp == NULL) {
  ------------------
  |  Branch (6157:6): [True: 0, False: 476k]
  ------------------
 6158|      0|		SCTP_LTRACE_ERR_RET(NULL, NULL, NULL, SCTP_FROM_SCTPUTIL, EFAULT);
 6159|      0|		return (EFAULT);
 6160|      0|	}
 6161|   476k|	rwnd_req = (SCTP_SB_LIMIT_RCV(so) >> SCTP_RWND_HIWAT_SHIFT);
  ------------------
  |  |  977|   476k|#define SCTP_SB_LIMIT_RCV(so) so->so_rcv.sb_hiwat
  ------------------
              	rwnd_req = (SCTP_SB_LIMIT_RCV(so) >> SCTP_RWND_HIWAT_SHIFT);
  ------------------
  |  |  282|   476k|#define SCTP_RWND_HIWAT_SHIFT 3
  ------------------
 6162|       |	/* Must be at least a MTU's worth */
 6163|   476k|	if (rwnd_req < SCTP_MIN_RWND)
  ------------------
  |  |  687|   476k|#define SCTP_MIN_RWND	1500
  ------------------
  |  Branch (6163:6): [True: 0, False: 476k]
  ------------------
 6164|      0|		rwnd_req = SCTP_MIN_RWND;
  ------------------
  |  |  687|      0|#define SCTP_MIN_RWND	1500
  ------------------
 6165|   476k|	in_eeor_mode = sctp_is_feature_on(inp, SCTP_PCB_FLAGS_EXPLICIT_EOR);
  ------------------
  |  |   52|   476k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
 6166|   476k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_RECV_RWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|   476k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_RECV_RWND_LOGGING_ENABLE) {
  ------------------
  |  |  656|   476k|#define SCTP_RECV_RWND_LOGGING_ENABLE			0x00001000
  ------------------
  |  Branch (6166:6): [True: 0, False: 476k]
  ------------------
 6167|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6168|       |#if defined(APPLE_LEOPARD)
 6169|       |		sctp_misc_ints(SCTP_SORECV_ENTER,
 6170|       |		               rwnd_req, in_eeor_mode, SCTP_SBAVAIL(&so->so_rcv), uio->uio_resid);
 6171|       |#else
 6172|       |		sctp_misc_ints(SCTP_SORECV_ENTER,
 6173|       |		               rwnd_req, in_eeor_mode, SCTP_SBAVAIL(&so->so_rcv), uio_resid(uio));
 6174|       |#endif
 6175|       |#else
 6176|      0|		sctp_misc_ints(SCTP_SORECV_ENTER,
  ------------------
  |  |  192|      0|#define SCTP_SORECV_ENTER           88
  ------------------
 6177|      0|		               rwnd_req, in_eeor_mode, SCTP_SBAVAIL(&so->so_rcv), (uint32_t)uio->uio_resid);
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
 6178|      0|#endif
 6179|      0|	}
 6180|   476k|#if defined(__Userspace__)
 6181|   476k|	SOCKBUF_LOCK(&so->so_rcv);
  ------------------
  |  |  517|   476k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   476k|	do {                         \
  |  |  |  |  113|   476k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 476k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   476k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6182|   476k|	hold_sblock = 1;
 6183|   476k|#endif
 6184|   476k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) &SCTP_RECV_RWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|   476k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) &SCTP_RECV_RWND_LOGGING_ENABLE) {
  ------------------
  |  |  656|   476k|#define SCTP_RECV_RWND_LOGGING_ENABLE			0x00001000
  ------------------
  |  Branch (6184:6): [True: 0, False: 476k]
  ------------------
 6185|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6186|       |#if defined(APPLE_LEOPARD)
 6187|       |		sctp_misc_ints(SCTP_SORECV_ENTERPL,
 6188|       |		               rwnd_req, block_allowed, SCTP_SBAVAIL(&so->so_rcv), uio->uio_resid);
 6189|       |#else
 6190|       |		sctp_misc_ints(SCTP_SORECV_ENTERPL,
 6191|       |		               rwnd_req, block_allowed, SCTP_SBAVAIL(&so->so_rcv), uio_resid(uio));
 6192|       |#endif
 6193|       |#else
 6194|      0|		sctp_misc_ints(SCTP_SORECV_ENTERPL,
  ------------------
  |  |  193|      0|#define SCTP_SORECV_ENTERPL         89
  ------------------
 6195|      0|		               rwnd_req, block_allowed, SCTP_SBAVAIL(&so->so_rcv), (uint32_t)uio->uio_resid);
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
 6196|      0|#endif
 6197|      0|	}
 6198|       |
 6199|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6200|       |	error = sblock(&so->so_rcv, SBLOCKWAIT(in_flags));
 6201|       |#endif
 6202|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6203|       |	error = SOCK_IO_RECV_LOCK(so, SBLOCKWAIT(in_flags));
 6204|       |#endif
 6205|   476k|	if (error) {
  ------------------
  |  Branch (6205:6): [True: 0, False: 476k]
  ------------------
 6206|      0|		goto release_unlocked;
 6207|      0|	}
 6208|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6209|       |	sockbuf_lock = 1;
 6210|       |#endif
 6211|   476k| restart:
 6212|   476k|#if defined(__Userspace__)
 6213|   476k|	if (hold_sblock == 0) {
  ------------------
  |  Branch (6213:6): [True: 0, False: 476k]
  ------------------
 6214|      0|		SOCKBUF_LOCK(&so->so_rcv);
  ------------------
  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6215|      0|		hold_sblock = 1;
 6216|      0|	}
 6217|   476k|#endif
 6218|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6219|       |	sbunlock(&so->so_rcv, 1);
 6220|       |#endif
 6221|       |
 6222|   476k| restart_nosblocks:
 6223|   476k|	if (hold_sblock == 0) {
  ------------------
  |  Branch (6223:6): [True: 0, False: 476k]
  ------------------
 6224|      0|		SOCKBUF_LOCK(&so->so_rcv);
  ------------------
  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6225|      0|		hold_sblock = 1;
 6226|      0|	}
 6227|   476k|	if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) ||
  ------------------
  |  |  549|   476k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (6227:6): [True: 0, False: 476k]
  ------------------
 6228|   476k|	    (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE)) {
  ------------------
  |  |  550|   476k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (6228:6): [True: 0, False: 476k]
  ------------------
 6229|      0|		goto out;
 6230|      0|	}
 6231|       |#if (defined(__FreeBSD__) || defined(_WIN32)) && !defined(__Userspace__)
 6232|       |	if ((so->so_rcv.sb_state & SBS_CANTRCVMORE) && SCTP_SBAVAIL(&so->so_rcv) == 0) {
 6233|       |#else
 6234|   476k|	if ((so->so_state & SS_CANTRCVMORE) && SCTP_SBAVAIL(&so->so_rcv) == 0) {
  ------------------
  |  |   54|   476k|#define SS_CANTRCVMORE 0x020
  ------------------
              	if ((so->so_state & SS_CANTRCVMORE) && SCTP_SBAVAIL(&so->so_rcv) == 0) {
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
  |  Branch (6234:6): [True: 0, False: 476k]
  |  Branch (6234:41): [True: 0, False: 0]
  ------------------
 6235|      0|#endif
 6236|      0|		if (so->so_error) {
  ------------------
  |  Branch (6236:7): [True: 0, False: 0]
  ------------------
 6237|      0|			error = so->so_error;
 6238|      0|			if ((in_flags & MSG_PEEK) == 0)
  ------------------
  |  Branch (6238:8): [True: 0, False: 0]
  ------------------
 6239|      0|				so->so_error = 0;
 6240|      0|			goto out;
 6241|      0|		} else {
 6242|      0|			if (SCTP_SBAVAIL(&so->so_rcv) == 0) {
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
  |  Branch (6242:8): [True: 0, False: 0]
  ------------------
 6243|       |				/* indicate EOF */
 6244|      0|				error = 0;
 6245|      0|				goto out;
 6246|      0|			}
 6247|      0|		}
 6248|      0|	}
 6249|   476k|	if (SCTP_SBAVAIL(&so->so_rcv) <= held_length) {
  ------------------
  |  |  962|   476k|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
  |  Branch (6249:6): [True: 1.70k, False: 474k]
  ------------------
 6250|  1.70k|		if (so->so_error) {
  ------------------
  |  Branch (6250:7): [True: 1.70k, False: 0]
  ------------------
 6251|  1.70k|			error = so->so_error;
 6252|  1.70k|			if ((in_flags & MSG_PEEK) == 0) {
  ------------------
  |  Branch (6252:8): [True: 1.70k, False: 0]
  ------------------
 6253|  1.70k|				so->so_error = 0;
 6254|  1.70k|			}
 6255|  1.70k|			goto out;
 6256|  1.70k|		}
 6257|      0|		if ((SCTP_SBAVAIL(&so->so_rcv) == 0) &&
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
  |  Branch (6257:7): [True: 0, False: 0]
  ------------------
 6258|      0|		    ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|      0|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (6258:8): [True: 0, False: 0]
  ------------------
 6259|      0|		     (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) {
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (6259:8): [True: 0, False: 0]
  ------------------
 6260|      0|			if ((inp->sctp_flags & SCTP_PCB_FLAGS_CONNECTED) == 0) {
  ------------------
  |  |  542|      0|#define SCTP_PCB_FLAGS_CONNECTED	0x00200000
  ------------------
  |  Branch (6260:8): [True: 0, False: 0]
  ------------------
 6261|       |				/* For active open side clear flags for re-use
 6262|       |				 * passive open is blocked by connect.
 6263|       |				 */
 6264|      0|				if (inp->sctp_flags & SCTP_PCB_FLAGS_WAS_ABORTED) {
  ------------------
  |  |  539|      0|#define SCTP_PCB_FLAGS_WAS_ABORTED      0x00100000
  ------------------
  |  Branch (6264:9): [True: 0, False: 0]
  ------------------
 6265|       |					/* You were aborted, passive side always hits here */
 6266|      0|					SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTPUTIL, ECONNRESET);
 6267|      0|					error = ECONNRESET;
 6268|      0|				}
 6269|      0|				so->so_state &= ~(SS_ISCONNECTING |
  ------------------
  |  |  341|      0|#define	SS_ISCONNECTING		0x0004	/* in process of connecting to peer */
  ------------------
 6270|      0|						  SS_ISDISCONNECTING |
  ------------------
  |  |  342|      0|#define	SS_ISDISCONNECTING	0x0008	/* in process of disconnecting */
  ------------------
 6271|      0|#if !(defined(__FreeBSD__) && !defined(__Userspace__))
 6272|      0|						  SS_ISCONFIRMING |
  ------------------
  |  |  345|      0|#define	SS_ISCONFIRMING		0x0400	/* deciding to accept connection req */
  ------------------
 6273|      0|#endif
 6274|      0|						  SS_ISCONNECTED);
  ------------------
  |  |  340|      0|#define	SS_ISCONNECTED		0x0002	/* socket connected to a peer */
  ------------------
 6275|      0|				if (error == 0) {
  ------------------
  |  Branch (6275:9): [True: 0, False: 0]
  ------------------
 6276|      0|					if ((inp->sctp_flags & SCTP_PCB_FLAGS_WAS_CONNECTED) == 0) {
  ------------------
  |  |  538|      0|#define SCTP_PCB_FLAGS_WAS_CONNECTED    0x00080000
  ------------------
  |  Branch (6276:10): [True: 0, False: 0]
  ------------------
 6277|      0|						SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTPUTIL, ENOTCONN);
 6278|      0|						error = ENOTCONN;
 6279|      0|					}
 6280|      0|				}
 6281|      0|				goto out;
 6282|      0|			}
 6283|      0|		}
 6284|      0|		if (block_allowed) {
  ------------------
  |  Branch (6284:7): [True: 0, False: 0]
  ------------------
 6285|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6286|       |			error = sbwait(so, SO_RCV);
 6287|       |#else
 6288|      0|			error = sbwait(&so->so_rcv);
 6289|      0|#endif
 6290|      0|			if (error) {
  ------------------
  |  Branch (6290:8): [True: 0, False: 0]
  ------------------
 6291|      0|				goto out;
 6292|      0|			}
 6293|      0|			held_length = 0;
 6294|      0|			goto restart_nosblocks;
 6295|      0|		} else {
 6296|      0|			SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTPUTIL, EWOULDBLOCK);
 6297|      0|			error = EWOULDBLOCK;
 6298|      0|			goto out;
 6299|      0|		}
 6300|      0|	}
 6301|   474k|	if (hold_sblock == 1) {
  ------------------
  |  Branch (6301:6): [True: 474k, False: 0]
  ------------------
 6302|   474k|		SOCKBUF_UNLOCK(&so->so_rcv);
  ------------------
  |  |  519|   474k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   474k|	do {                         \
  |  |  |  |  113|   474k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 474k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   474k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6303|   474k|		hold_sblock = 0;
 6304|   474k|	}
 6305|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6306|       |	error = sblock(&so->so_rcv, SBLOCKWAIT(in_flags));
 6307|       |#endif
 6308|       |	/* we possibly have data we can read */
 6309|       |	/*sa_ignore FREED_MEMORY*/
 6310|   474k|	control = TAILQ_FIRST(&inp->read_queue);
 6311|   474k|	if (control == NULL) {
  ------------------
  |  Branch (6311:6): [True: 0, False: 474k]
  ------------------
 6312|       |		/* This could be happening since
 6313|       |		 * the appender did the increment but as not
 6314|       |		 * yet did the tailq insert onto the read_queue
 6315|       |		 */
 6316|      0|		if (hold_rlock == 0) {
  ------------------
  |  Branch (6316:7): [True: 0, False: 0]
  ------------------
 6317|      0|			SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6318|      0|		}
 6319|      0|		control = TAILQ_FIRST(&inp->read_queue);
 6320|      0|		if ((control == NULL) && (SCTP_SBAVAIL(&so->so_rcv) > 0)) {
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
  |  Branch (6320:7): [True: 0, False: 0]
  |  Branch (6320:28): [True: 0, False: 0]
  ------------------
 6321|      0|#ifdef INVARIANTS
 6322|      0|			panic("Huh, its non zero and nothing on control?");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6323|      0|#endif
 6324|      0|			SCTP_SB_CLEAR(so->so_rcv);
  ------------------
  |  |  973|      0|	(sb).sb_cc = 0;		\
  |  |  974|      0|	(sb).sb_mb = NULL;	\
  |  |  975|      0|	(sb).sb_mbcnt = 0;
  ------------------
 6325|      0|		}
 6326|      0|		SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6327|      0|		hold_rlock = 0;
 6328|      0|		goto restart;
 6329|      0|	}
 6330|       |
 6331|   474k|	if ((control->length == 0) &&
  ------------------
  |  Branch (6331:6): [True: 0, False: 474k]
  ------------------
 6332|   474k|	    (control->do_not_ref_stcb)) {
  ------------------
  |  Branch (6332:6): [True: 0, False: 0]
  ------------------
 6333|       |		/* Clean up code for freeing assoc that left behind a pdapi..
 6334|       |		 * maybe a peer in EEOR that just closed after sending and
 6335|       |		 * never indicated a EOR.
 6336|       |		 */
 6337|      0|		if (hold_rlock == 0) {
  ------------------
  |  Branch (6337:7): [True: 0, False: 0]
  ------------------
 6338|      0|			hold_rlock = 1;
 6339|      0|			SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6340|      0|		}
 6341|      0|		control->held_length = 0;
 6342|      0|		if (control->data) {
  ------------------
  |  Branch (6342:7): [True: 0, False: 0]
  ------------------
 6343|       |			/* Hmm there is data here .. fix */
 6344|      0|			struct mbuf *m_tmp;
 6345|      0|			int cnt = 0;
 6346|      0|			m_tmp = control->data;
 6347|      0|			while (m_tmp) {
  ------------------
  |  Branch (6347:11): [True: 0, False: 0]
  ------------------
 6348|      0|				cnt += SCTP_BUF_LEN(m_tmp);
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 6349|      0|				if (SCTP_BUF_NEXT(m_tmp) == NULL) {
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (6349:9): [True: 0, False: 0]
  ------------------
 6350|      0|					control->tail_mbuf = m_tmp;
 6351|      0|					control->end_added = 1;
 6352|      0|				}
 6353|      0|				m_tmp = SCTP_BUF_NEXT(m_tmp);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 6354|      0|			}
 6355|      0|			control->length = cnt;
 6356|      0|		} else {
 6357|       |			/* remove it */
 6358|      0|			TAILQ_REMOVE(&inp->read_queue, control, next);
 6359|       |			/* Add back any hidden data */
 6360|      0|			sctp_free_remote_addr(control->whoFrom);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 6361|      0|			sctp_free_a_readq(stcb, control);
  ------------------
  |  |  105|      0|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|      0|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  107|      0|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|      0|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  109|      0|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|      0|}
  ------------------
 6362|      0|		}
 6363|      0|		if (hold_rlock) {
  ------------------
  |  Branch (6363:7): [True: 0, False: 0]
  ------------------
 6364|      0|			hold_rlock = 0;
 6365|      0|			SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6366|      0|		}
 6367|      0|		goto restart;
 6368|      0|	}
 6369|   474k|	if ((control->length == 0) &&
  ------------------
  |  Branch (6369:6): [True: 0, False: 474k]
  ------------------
 6370|   474k|	    (control->end_added == 1)) {
  ------------------
  |  Branch (6370:6): [True: 0, False: 0]
  ------------------
 6371|       |		/* Do we also need to check for (control->pdapi_aborted == 1)? */
 6372|      0|		if (hold_rlock == 0) {
  ------------------
  |  Branch (6372:7): [True: 0, False: 0]
  ------------------
 6373|      0|			hold_rlock = 1;
 6374|      0|			SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6375|      0|		}
 6376|      0|		TAILQ_REMOVE(&inp->read_queue, control, next);
 6377|      0|		if (control->data) {
  ------------------
  |  Branch (6377:7): [True: 0, False: 0]
  ------------------
 6378|      0|#ifdef INVARIANTS
 6379|      0|			panic("control->data not null but control->length == 0");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6380|       |#else
 6381|       |			SCTP_PRINTF("Strange, data left in the control buffer. Cleaning up.\n");
 6382|       |			sctp_m_freem(control->data);
 6383|       |			control->data = NULL;
 6384|       |#endif
 6385|      0|		}
 6386|      0|		if (control->aux_data) {
  ------------------
  |  Branch (6386:7): [True: 0, False: 0]
  ------------------
 6387|      0|			sctp_m_free (control->aux_data);
  ------------------
  |  |   51|      0|#define sctp_m_free m_free
  ------------------
 6388|      0|			control->aux_data = NULL;
 6389|      0|		}
 6390|      0|#ifdef INVARIANTS
 6391|      0|		if (control->on_strm_q) {
  ------------------
  |  Branch (6391:7): [True: 0, False: 0]
  ------------------
 6392|      0|			panic("About to free ctl:%p so:%p and its in %d",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6393|      0|			      control, so, control->on_strm_q);
 6394|      0|		}
 6395|      0|#endif
 6396|      0|		sctp_free_remote_addr(control->whoFrom);
  ------------------
  |  |  228|      0|#define sctp_free_remote_addr(__net) { \
  |  |  229|      0|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  230|      0|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|      0|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|      0|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  232|      0|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|      0|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|      0|		RT_LOCK(_rt);					\
  |  |  |  |  128|      0|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|      0|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|      0|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|      0|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|      0|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      0|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|      0|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|      0|		_rt = NULL;					\
  |  |  |  |  |  |  125|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|      0|				(__net)->ro.ro_rt = NULL; \
  |  |  234|      0|			} \
  |  |  235|      0|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|      0|			(__net)->src_addr_selected = 0; \
  |  |  240|      0|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|      0|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|      0|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  242|      0|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|      0|		} \
  |  |  244|      0|	} \
  |  |  245|      0|}
  ------------------
 6397|      0|		sctp_free_a_readq(stcb, control);
  ------------------
  |  |  105|      0|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|      0|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 0]
  |  |  ------------------
  |  |  107|      0|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|      0|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|      0|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|      0|	free(element);  \
  |  |  |  |  703|      0|}
  |  |  ------------------
  |  |  109|      0|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|      0|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|      0|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|      0|}
  ------------------
 6398|      0|		if (hold_rlock) {
  ------------------
  |  Branch (6398:7): [True: 0, False: 0]
  ------------------
 6399|      0|			hold_rlock = 0;
 6400|      0|			SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6401|      0|		}
 6402|      0|		goto restart;
 6403|      0|	}
 6404|   474k|	if (control->length == 0) {
  ------------------
  |  Branch (6404:6): [True: 0, False: 474k]
  ------------------
 6405|      0|		if ((sctp_is_feature_on(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE)) &&
  ------------------
  |  |   52|      0|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (6405:7): [True: 0, False: 0]
  ------------------
 6406|      0|		    (filling_sinfo)) {
  ------------------
  |  Branch (6406:7): [True: 0, False: 0]
  ------------------
 6407|       |			/* find a more suitable one then this */
 6408|      0|			ctl = TAILQ_NEXT(control, next);
 6409|      0|			while (ctl) {
  ------------------
  |  Branch (6409:11): [True: 0, False: 0]
  ------------------
 6410|      0|				if ((ctl->stcb != control->stcb) && (ctl->length) &&
  ------------------
  |  Branch (6410:9): [True: 0, False: 0]
  |  Branch (6410:41): [True: 0, False: 0]
  ------------------
 6411|      0|				    (ctl->some_taken ||
  ------------------
  |  Branch (6411:10): [True: 0, False: 0]
  ------------------
 6412|      0|				     (ctl->spec_flags & M_NOTIFICATION) ||
  ------------------
  |  | 1031|      0|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|      0|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (6412:10): [True: 0, False: 0]
  ------------------
 6413|      0|				     ((ctl->do_not_ref_stcb == 0) &&
  ------------------
  |  Branch (6413:11): [True: 0, False: 0]
  ------------------
 6414|      0|				      (ctl->stcb->asoc.strmin[ctl->sinfo_stream].delivery_started == 0)))
  ------------------
  |  Branch (6414:11): [True: 0, False: 0]
  ------------------
 6415|      0|					) {
 6416|       |					/*-
 6417|       |					 * If we have a different TCB next, and there is data
 6418|       |					 * present. If we have already taken some (pdapi), OR we can
 6419|       |					 * ref the tcb and no delivery as started on this stream, we
 6420|       |					 * take it. Note we allow a notification on a different
 6421|       |					 * assoc to be delivered..
 6422|       |					 */
 6423|      0|					control = ctl;
 6424|      0|					goto found_one;
 6425|      0|				} else if ((sctp_is_feature_on(inp, SCTP_PCB_FLAGS_INTERLEAVE_STRMS)) &&
  ------------------
  |  |   52|      0|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (6425:16): [True: 0, False: 0]
  ------------------
 6426|      0|					   (ctl->length) &&
  ------------------
  |  Branch (6426:9): [True: 0, False: 0]
  ------------------
 6427|      0|					   ((ctl->some_taken) ||
  ------------------
  |  Branch (6427:10): [True: 0, False: 0]
  ------------------
 6428|      0|					    ((ctl->do_not_ref_stcb == 0) &&
  ------------------
  |  Branch (6428:11): [True: 0, False: 0]
  ------------------
 6429|      0|					     ((ctl->spec_flags & M_NOTIFICATION) == 0) &&
  ------------------
  |  | 1031|      0|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|      0|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (6429:11): [True: 0, False: 0]
  ------------------
 6430|      0|					     (ctl->stcb->asoc.strmin[ctl->sinfo_stream].delivery_started == 0)))) {
  ------------------
  |  Branch (6430:11): [True: 0, False: 0]
  ------------------
 6431|       |					/*-
 6432|       |					 * If we have the same tcb, and there is data present, and we
 6433|       |					 * have the strm interleave feature present. Then if we have
 6434|       |					 * taken some (pdapi) or we can refer to tht tcb AND we have
 6435|       |					 * not started a delivery for this stream, we can take it.
 6436|       |					 * Note we do NOT allow a notification on the same assoc to
 6437|       |					 * be delivered.
 6438|       |					 */
 6439|      0|					control = ctl;
 6440|      0|					goto found_one;
 6441|      0|				}
 6442|      0|				ctl = TAILQ_NEXT(ctl, next);
 6443|      0|			}
 6444|      0|		}
 6445|       |		/*
 6446|       |		 * if we reach here, not suitable replacement is available
 6447|       |		 * <or> fragment interleave is NOT on. So stuff the sb_cc
 6448|       |		 * into the our held count, and its time to sleep again.
 6449|       |		 */
 6450|      0|		held_length = SCTP_SBAVAIL(&so->so_rcv);
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
 6451|      0|		control->held_length = SCTP_SBAVAIL(&so->so_rcv);
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
 6452|      0|		goto restart;
 6453|      0|	}
 6454|       |	/* Clear the held length since there is something to read */
 6455|   474k|	control->held_length = 0;
 6456|   474k| found_one:
 6457|       |	/*
 6458|       |	 * If we reach here, control has a some data for us to read off.
 6459|       |	 * Note that stcb COULD be NULL.
 6460|       |	 */
 6461|   474k|	if (hold_rlock == 0) {
  ------------------
  |  Branch (6461:6): [True: 474k, False: 0]
  ------------------
 6462|   474k|		hold_rlock = 1;
 6463|   474k|		SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|   474k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   474k|	do {                         \
  |  |  |  |  113|   474k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 474k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   474k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6464|   474k|	}
 6465|   474k|	control->some_taken++;
 6466|   474k|	stcb = control->stcb;
 6467|   474k|	if (stcb) {
  ------------------
  |  Branch (6467:6): [True: 474k, False: 0]
  ------------------
 6468|   474k|		if ((control->do_not_ref_stcb == 0) &&
  ------------------
  |  Branch (6468:7): [True: 355k, False: 118k]
  ------------------
 6469|   474k|		    (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED)) {
  ------------------
  |  |  465|   355k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (6469:7): [True: 0, False: 355k]
  ------------------
 6470|      0|			if (freecnt_applied == 0)
  ------------------
  |  Branch (6470:8): [True: 0, False: 0]
  ------------------
 6471|      0|				stcb = NULL;
 6472|   474k|		} else if (control->do_not_ref_stcb == 0) {
  ------------------
  |  Branch (6472:14): [True: 355k, False: 118k]
  ------------------
 6473|       |			/* you can't free it on me please */
 6474|       |			/*
 6475|       |			 * The lock on the socket buffer protects us so the
 6476|       |			 * free code will stop. But since we used the socketbuf
 6477|       |			 * lock and the sender uses the tcb_lock to increment,
 6478|       |			 * we need to use the atomic add to the refcnt
 6479|       |			 */
 6480|   355k|			if (freecnt_applied) {
  ------------------
  |  Branch (6480:8): [True: 0, False: 355k]
  ------------------
 6481|      0|#ifdef INVARIANTS
 6482|      0|				panic("refcnt already incremented");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6483|       |#else
 6484|       |				SCTP_PRINTF("refcnt already incremented?\n");
 6485|       |#endif
 6486|   355k|			} else {
 6487|   355k|				atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|   355k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 6488|   355k|				freecnt_applied = 1;
 6489|   355k|			}
 6490|       |			/*
 6491|       |			 * Setup to remember how much we have not yet told
 6492|       |			 * the peer our rwnd has opened up. Note we grab
 6493|       |			 * the value from the tcb from last time.
 6494|       |			 * Note too that sack sending clears this when a sack
 6495|       |			 * is sent, which is fine. Once we hit the rwnd_req,
 6496|       |			 * we then will go to the sctp_user_rcvd() that will
 6497|       |			 * not lock until it KNOWs it MUST send a WUP-SACK.
 6498|       |			 */
 6499|   355k|			freed_so_far = (uint32_t)stcb->freed_by_sorcv_sincelast;
 6500|   355k|			stcb->freed_by_sorcv_sincelast = 0;
 6501|   355k|		}
 6502|   474k|	}
 6503|   474k|	if (stcb &&
  ------------------
  |  Branch (6503:6): [True: 474k, False: 0]
  ------------------
 6504|   474k|	    ((control->spec_flags & M_NOTIFICATION) == 0) &&
  ------------------
  |  | 1031|   474k|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|   474k|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (6504:6): [True: 1.17k, False: 473k]
  ------------------
 6505|   474k|	    control->do_not_ref_stcb == 0) {
  ------------------
  |  Branch (6505:6): [True: 1.04k, False: 131]
  ------------------
 6506|  1.04k|		stcb->asoc.strmin[control->sinfo_stream].delivery_started = 1;
 6507|  1.04k|	}
 6508|       |
 6509|       |	/* First lets get off the sinfo and sockaddr info */
 6510|   474k|	if ((sinfo != NULL) && (filling_sinfo != 0)) {
  ------------------
  |  Branch (6510:6): [True: 474k, False: 0]
  |  Branch (6510:25): [True: 474k, False: 0]
  ------------------
 6511|   474k|		sinfo->sinfo_stream = control->sinfo_stream;
 6512|   474k|		sinfo->sinfo_ssn = (uint16_t)control->mid;
 6513|   474k|		sinfo->sinfo_flags = control->sinfo_flags;
 6514|   474k|		sinfo->sinfo_ppid = control->sinfo_ppid;
 6515|   474k|		sinfo->sinfo_context =control->sinfo_context;
 6516|   474k|		sinfo->sinfo_timetolive = control->sinfo_timetolive;
 6517|   474k|		sinfo->sinfo_tsn = control->sinfo_tsn;
 6518|   474k|		sinfo->sinfo_cumtsn = control->sinfo_cumtsn;
 6519|   474k|		sinfo->sinfo_assoc_id = control->sinfo_assoc_id;
 6520|   474k|		nxt = TAILQ_NEXT(control, next);
 6521|   474k|		if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_EXT_RCVINFO) ||
  ------------------
  |  |   52|   948k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 0, False: 474k]
  |  |  ------------------
  ------------------
 6522|   474k|		    sctp_is_feature_on(inp, SCTP_PCB_FLAGS_RECVNXTINFO)) {
  ------------------
  |  |   52|   474k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 474k, False: 0]
  |  |  ------------------
  ------------------
 6523|   474k|			struct sctp_extrcvinfo *s_extra;
 6524|   474k|			s_extra = (struct sctp_extrcvinfo *)sinfo;
 6525|   474k|			if ((nxt) &&
  ------------------
  |  Branch (6525:8): [True: 464k, False: 10.0k]
  ------------------
 6526|   474k|			    (nxt->length)) {
  ------------------
  |  Branch (6526:8): [True: 464k, False: 0]
  ------------------
 6527|   464k|				s_extra->serinfo_next_flags = SCTP_NEXT_MSG_AVAIL;
  ------------------
  |  |  213|   464k|#define SCTP_NEXT_MSG_AVAIL        0x0001
  ------------------
 6528|   464k|				if (nxt->sinfo_flags & SCTP_UNORDERED) {
  ------------------
  |  |  259|   464k|#define SCTP_UNORDERED        0x0400 /* Message is un-ordered */
  ------------------
  |  Branch (6528:9): [True: 543, False: 463k]
  ------------------
 6529|    543|					s_extra->serinfo_next_flags |= SCTP_NEXT_MSG_IS_UNORDERED;
  ------------------
  |  |  215|    543|#define SCTP_NEXT_MSG_IS_UNORDERED 0x0004
  ------------------
 6530|    543|				}
 6531|   464k|				if (nxt->spec_flags & M_NOTIFICATION) {
  ------------------
  |  | 1031|   464k|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|   464k|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (6531:9): [True: 463k, False: 804]
  ------------------
 6532|   463k|					s_extra->serinfo_next_flags |= SCTP_NEXT_MSG_IS_NOTIFICATION;
  ------------------
  |  |  216|   463k|#define SCTP_NEXT_MSG_IS_NOTIFICATION 0x0008
  ------------------
 6533|   463k|				}
 6534|   464k|				s_extra->serinfo_next_aid = nxt->sinfo_assoc_id;
 6535|   464k|				s_extra->serinfo_next_length = nxt->length;
 6536|   464k|				s_extra->serinfo_next_ppid = nxt->sinfo_ppid;
 6537|   464k|				s_extra->serinfo_next_stream = nxt->sinfo_stream;
 6538|   464k|				if (nxt->tail_mbuf != NULL) {
  ------------------
  |  Branch (6538:9): [True: 464k, False: 0]
  ------------------
 6539|   464k|					if (nxt->end_added) {
  ------------------
  |  Branch (6539:10): [True: 464k, False: 0]
  ------------------
 6540|   464k|						s_extra->serinfo_next_flags |= SCTP_NEXT_MSG_ISCOMPLETE;
  ------------------
  |  |  214|   464k|#define SCTP_NEXT_MSG_ISCOMPLETE   0x0002
  ------------------
 6541|   464k|					}
 6542|   464k|				}
 6543|   464k|			} else {
 6544|       |				/* we explicitly 0 this, since the memcpy got
 6545|       |				 * some other things beyond the older sinfo_
 6546|       |				 * that is on the control's structure :-D
 6547|       |				 */
 6548|  10.0k|				nxt = NULL;
 6549|  10.0k|				s_extra->serinfo_next_flags = SCTP_NO_NEXT_MSG;
  ------------------
  |  |  212|  10.0k|#define SCTP_NO_NEXT_MSG           0x0000
  ------------------
 6550|  10.0k|				s_extra->serinfo_next_aid = 0;
 6551|  10.0k|				s_extra->serinfo_next_length = 0;
 6552|  10.0k|				s_extra->serinfo_next_ppid = 0;
 6553|  10.0k|				s_extra->serinfo_next_stream = 0;
 6554|  10.0k|			}
 6555|   474k|		}
 6556|       |		/*
 6557|       |		 * update off the real current cum-ack, if we have an stcb.
 6558|       |		 */
 6559|   474k|		if ((control->do_not_ref_stcb == 0) && stcb)
  ------------------
  |  Branch (6559:7): [True: 355k, False: 118k]
  |  Branch (6559:42): [True: 355k, False: 0]
  ------------------
 6560|   355k|			sinfo->sinfo_cumtsn = stcb->asoc.cumulative_tsn;
 6561|       |		/*
 6562|       |		 * mask off the high bits, we keep the actual chunk bits in
 6563|       |		 * there.
 6564|       |		 */
 6565|   474k|		sinfo->sinfo_flags &= 0x00ff;
 6566|   474k|		if ((control->sinfo_flags >> 8) & SCTP_DATA_UNORDERED) {
  ------------------
  |  |  518|   474k|#define SCTP_DATA_UNORDERED        0x04
  ------------------
  |  Branch (6566:7): [True: 794, False: 473k]
  ------------------
 6567|    794|			sinfo->sinfo_flags |= SCTP_UNORDERED;
  ------------------
  |  |  259|    794|#define SCTP_UNORDERED        0x0400 /* Message is un-ordered */
  ------------------
 6568|    794|		}
 6569|   474k|	}
 6570|       |#ifdef SCTP_ASOCLOG_OF_TSNS
 6571|       |	{
 6572|       |		int index, newindex;
 6573|       |		struct sctp_pcbtsn_rlog *entry;
 6574|       |		do {
 6575|       |			index = inp->readlog_index;
 6576|       |			newindex = index + 1;
 6577|       |			if (newindex >= SCTP_READ_LOG_SIZE) {
 6578|       |				newindex = 0;
 6579|       |			}
 6580|       |		} while (atomic_cmpset_int(&inp->readlog_index, index, newindex) == 0);
 6581|       |		entry = &inp->readlog[index];
 6582|       |		entry->vtag = control->sinfo_assoc_id;
 6583|       |		entry->strm = control->sinfo_stream;
 6584|       |		entry->seq = (uint16_t)control->mid;
 6585|       |		entry->sz = control->length;
 6586|       |		entry->flgs = control->sinfo_flags;
 6587|       |	}
 6588|       |#endif
 6589|   474k|	if ((fromlen > 0) && (from != NULL)) {
  ------------------
  |  Branch (6589:6): [True: 474k, False: 0]
  |  Branch (6589:23): [True: 474k, False: 0]
  ------------------
 6590|   474k|		union sctp_sockstore store;
 6591|   474k|		size_t len;
 6592|       |
 6593|   474k|		switch (control->whoFrom->ro._l_addr.sa.sa_family) {
 6594|      0|#ifdef INET6
 6595|  7.78k|			case AF_INET6:
  ------------------
  |  Branch (6595:4): [True: 7.78k, False: 466k]
  ------------------
 6596|  7.78k|				len = sizeof(struct sockaddr_in6);
 6597|  7.78k|				store.sin6 = control->whoFrom->ro._l_addr.sin6;
 6598|  7.78k|				store.sin6.sin6_port = control->port_from;
 6599|  7.78k|				break;
 6600|      0|#endif
 6601|      0|#ifdef INET
 6602|    480|			case AF_INET:
  ------------------
  |  Branch (6602:4): [True: 480, False: 473k]
  ------------------
 6603|    480|#ifdef INET6
 6604|    480|				if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_NEEDS_MAPPED_V4)) {
  ------------------
  |  |   52|    480|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 0, False: 480]
  |  |  ------------------
  ------------------
 6605|      0|					len = sizeof(struct sockaddr_in6);
 6606|      0|					in6_sin_2_v4mapsin6(&control->whoFrom->ro._l_addr.sin,
 6607|      0|							    &store.sin6);
 6608|      0|					store.sin6.sin6_port = control->port_from;
 6609|    480|				} else {
 6610|    480|					len = sizeof(struct sockaddr_in);
 6611|    480|					store.sin = control->whoFrom->ro._l_addr.sin;
 6612|    480|					store.sin.sin_port = control->port_from;
 6613|    480|				}
 6614|       |#else
 6615|       |				len = sizeof(struct sockaddr_in);
 6616|       |				store.sin = control->whoFrom->ro._l_addr.sin;
 6617|       |				store.sin.sin_port = control->port_from;
 6618|       |#endif
 6619|    480|				break;
 6620|      0|#endif
 6621|      0|#if defined(__Userspace__)
 6622|   466k|			case AF_CONN:
  ------------------
  |  | 1008|   466k|#define AF_CONN 123
  ------------------
  |  Branch (6622:4): [True: 466k, False: 8.26k]
  ------------------
 6623|   466k|				len = sizeof(struct sockaddr_conn);
 6624|   466k|				store.sconn = control->whoFrom->ro._l_addr.sconn;
 6625|   466k|				store.sconn.sconn_port = control->port_from;
 6626|   466k|				break;
 6627|      0|#endif
 6628|      0|			default:
  ------------------
  |  Branch (6628:4): [True: 0, False: 474k]
  ------------------
 6629|      0|				len = 0;
 6630|      0|				break;
 6631|   474k|		}
 6632|   474k|		memcpy(from, &store, min((size_t)fromlen, len));
  ------------------
  |  |   66|   474k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 474k]
  |  |  ------------------
  ------------------
 6633|       |#if defined(SCTP_EMBEDDED_V6_SCOPE)
 6634|       |#ifdef INET6
 6635|       |		{
 6636|       |			struct sockaddr_in6 lsa6, *from6;
 6637|       |
 6638|       |			from6 = (struct sockaddr_in6 *)from;
 6639|       |			sctp_recover_scope_mac(from6, (&lsa6));
 6640|       |		}
 6641|       |#endif
 6642|       |#endif
 6643|   474k|	}
 6644|   474k|	if (hold_rlock) {
  ------------------
  |  Branch (6644:6): [True: 474k, False: 0]
  ------------------
 6645|   474k|		SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|   474k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   474k|	do {                         \
  |  |  |  |  113|   474k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 474k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   474k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6646|   474k|		hold_rlock = 0;
 6647|   474k|	}
 6648|   474k|	if (hold_sblock) {
  ------------------
  |  Branch (6648:6): [True: 0, False: 474k]
  ------------------
 6649|      0|		SOCKBUF_UNLOCK(&so->so_rcv);
  ------------------
  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6650|      0|		hold_sblock = 0;
 6651|      0|	}
 6652|       |	/* now copy out what data we can */
 6653|   474k|	if (mp == NULL) {
  ------------------
  |  Branch (6653:6): [True: 474k, False: 0]
  ------------------
 6654|       |		/* copy out each mbuf in the chain up to length */
 6655|   474k|	get_more_data:
 6656|   474k|		m = control->data;
 6657|   476k|		while (m) {
  ------------------
  |  Branch (6657:10): [True: 476k, False: 0]
  ------------------
 6658|       |			/* Move out all we can */
 6659|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6660|       |#if defined(APPLE_LEOPARD)
 6661|       |			cp_len = uio->uio_resid;
 6662|       |#else
 6663|       |			cp_len = uio_resid(uio);
 6664|       |#endif
 6665|       |#else
 6666|   476k|			cp_len = uio->uio_resid;
 6667|   476k|#endif
 6668|   476k|			my_len = SCTP_BUF_LEN(m);
  ------------------
  |  |  795|   476k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   476k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 6669|   476k|			if (cp_len > my_len) {
  ------------------
  |  Branch (6669:8): [True: 476k, False: 167]
  ------------------
 6670|       |				/* not enough in this buf */
 6671|   476k|				cp_len = my_len;
 6672|   476k|			}
 6673|   476k|			if (hold_rlock) {
  ------------------
  |  Branch (6673:8): [True: 1.92k, False: 474k]
  ------------------
 6674|  1.92k|				SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|  1.92k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.92k|	do {                         \
  |  |  |  |  113|  1.92k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.92k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.92k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6675|  1.92k|				hold_rlock = 0;
 6676|  1.92k|			}
 6677|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6678|       |			SCTP_SOCKET_UNLOCK(so, 0);
 6679|       |#endif
 6680|   476k|			if (cp_len > 0)
  ------------------
  |  Branch (6680:8): [True: 476k, False: 0]
  ------------------
 6681|   476k|				error = uiomove(mtod(m, char *), (int)cp_len, uio);
  ------------------
  |  |   96|   476k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|   476k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 6682|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6683|       |			SCTP_SOCKET_LOCK(so, 0);
 6684|       |#endif
 6685|       |			/* re-read */
 6686|   476k|			if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
  ------------------
  |  |  549|   476k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (6686:8): [True: 0, False: 476k]
  ------------------
 6687|      0|				goto release;
 6688|      0|			}
 6689|       |
 6690|   476k|			if ((control->do_not_ref_stcb == 0) && stcb &&
  ------------------
  |  Branch (6690:8): [True: 356k, False: 119k]
  |  Branch (6690:43): [True: 356k, False: 0]
  ------------------
 6691|   476k|			    stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|   356k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (6691:8): [True: 0, False: 356k]
  ------------------
 6692|      0|				no_rcv_needed = 1;
 6693|      0|			}
 6694|   476k|			if (error) {
  ------------------
  |  Branch (6694:8): [True: 0, False: 476k]
  ------------------
 6695|       |				/* error we are out of here */
 6696|      0|				goto release;
 6697|      0|			}
 6698|   476k|			SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|   476k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   476k|	do {                         \
  |  |  |  |  113|   476k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 476k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   476k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6699|   476k|			hold_rlock = 1;
 6700|   476k|			if (cp_len == SCTP_BUF_LEN(m)) {
  ------------------
  |  |  795|   476k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   476k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (6700:8): [True: 476k, False: 167]
  ------------------
 6701|   476k|				if ((SCTP_BUF_NEXT(m)== NULL) &&
  ------------------
  |  |  796|   476k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|   476k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
  |  Branch (6701:9): [True: 474k, False: 1.92k]
  ------------------
 6702|   476k|				    (control->end_added)) {
  ------------------
  |  Branch (6702:9): [True: 474k, False: 0]
  ------------------
 6703|   474k|					out_flags |= MSG_EOR;
 6704|   474k|					if ((control->do_not_ref_stcb == 0) &&
  ------------------
  |  Branch (6704:10): [True: 355k, False: 118k]
  ------------------
 6705|   474k|					    (control->stcb != NULL) &&
  ------------------
  |  Branch (6705:10): [True: 355k, False: 0]
  ------------------
 6706|   474k|					    ((control->spec_flags & M_NOTIFICATION) == 0))
  ------------------
  |  | 1031|   355k|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|   355k|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (6706:10): [True: 920, False: 354k]
  ------------------
 6707|    920|						control->stcb->asoc.strmin[control->sinfo_stream].delivery_started = 0;
 6708|   474k|				}
 6709|   476k|				if (control->spec_flags & M_NOTIFICATION) {
  ------------------
  |  | 1031|   476k|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|   476k|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (6709:9): [True: 474k, False: 1.79k]
  ------------------
 6710|   474k|					out_flags |= MSG_NOTIFICATION;
  ------------------
  |  |   50|   474k|#define MSG_NOTIFICATION 0x2000         /* SCTP notification */
  ------------------
 6711|   474k|				}
 6712|       |				/* we ate up the mbuf */
 6713|   476k|				if (in_flags & MSG_PEEK) {
  ------------------
  |  Branch (6713:9): [True: 0, False: 476k]
  ------------------
 6714|       |					/* just looking */
 6715|      0|					m = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 6716|      0|					copied_so_far += cp_len;
 6717|   476k|				} else {
 6718|       |					/* dispose of the mbuf */
 6719|   476k|					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  584|   476k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  660|   476k|#define SCTP_SB_LOGGING_ENABLE				0x00010000
  ------------------
  |  Branch (6719:10): [True: 0, False: 476k]
  ------------------
 6720|      0|						sctp_sblog(&so->so_rcv,
 6721|      0|						   control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBFREE, SCTP_BUF_LEN(m));
  ------------------
  |  |  158|      0|#define SCTP_LOG_SBFREE             54
  ------------------
              						   control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBFREE, SCTP_BUF_LEN(m));
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (6721:10): [True: 0, False: 0]
  ------------------
 6722|      0|					}
 6723|   952k|					sctp_sbfree(control, stcb, &so->so_rcv, m);
  ------------------
  |  |  247|   476k|#define sctp_sbfree(ctl, stcb, sb, m) { \
  |  |  248|   476k|	SCTP_SB_DECR(sb, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |  967|   476k|#define SCTP_SB_DECR(sb, decr)					\
  |  |  |  |  968|   476k|{								\
  |  |  |  |  969|   476k|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_cc, (int)(decr));	\
  |  |  |  |  ------------------
  |  |  |  |  |  |  117|   476k|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  |  |  118|   476k|{ \
  |  |  |  |  |  |  119|   476k|	int32_t oldval; \
  |  |  |  |  |  |  120|   476k|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|   476k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|   476k|	if (oldval < val) { \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (121:6): [True: 0, False: 476k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      0|	} \
  |  |  |  |  |  |  124|   476k|}
  |  |  |  |  ------------------
  |  |  |  |  970|   476k|}
  |  |  ------------------
  |  |  249|   476k|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_mbcnt, MSIZE); \
  |  |  ------------------
  |  |  |  |  117|   476k|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|   476k|{ \
  |  |  |  |  119|   476k|	int32_t oldval; \
  |  |  |  |  120|   476k|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|   476k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|   476k|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 476k]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|   476k|}
  |  |  ------------------
  |  |  250|   476k|	if (((ctl)->do_not_ref_stcb == 0) && stcb) { \
  |  |  ------------------
  |  |  |  Branch (250:6): [True: 356k, False: 119k]
  |  |  |  Branch (250:39): [True: 356k, False: 0]
  |  |  ------------------
  |  |  251|   356k|		SCTP_SAVE_ATOMIC_DECREMENT(&(stcb)->asoc.sb_cc, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |  117|   356k|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|   356k|{ \
  |  |  |  |  119|   356k|	int32_t oldval; \
  |  |  |  |  120|   356k|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|   356k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|   356k|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 356k]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|   356k|}
  |  |  ------------------
  |  |  252|   356k|		SCTP_SAVE_ATOMIC_DECREMENT(&(stcb)->asoc.my_rwnd_control_len, MSIZE); \
  |  |  ------------------
  |  |  |  |  117|   356k|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|   356k|{ \
  |  |  |  |  119|   356k|	int32_t oldval; \
  |  |  |  |  120|   356k|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|   356k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|   356k|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 356k]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|   356k|}
  |  |  ------------------
  |  |  253|   356k|	} \
  |  |  254|   476k|}
  ------------------
 6724|   476k|					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  584|   476k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  660|   476k|#define SCTP_SB_LOGGING_ENABLE				0x00010000
  ------------------
  |  Branch (6724:10): [True: 0, False: 476k]
  ------------------
 6725|      0|						sctp_sblog(&so->so_rcv,
 6726|      0|						   control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBRESULT, 0);
  ------------------
  |  |  159|      0|#define SCTP_LOG_SBRESULT           55
  ------------------
  |  Branch (6726:10): [True: 0, False: 0]
  ------------------
 6727|      0|					}
 6728|   476k|					copied_so_far += cp_len;
 6729|   476k|					freed_so_far += (uint32_t)cp_len;
 6730|   476k|					freed_so_far += MSIZE;
  ------------------
  |  |   47|   476k|#define MSIZE 256
  ------------------
 6731|   476k|					atomic_subtract_int(&control->length, (int)cp_len);
  ------------------
  |  |   97|   476k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 6732|   476k|					control->data = sctp_m_free(m);
  ------------------
  |  |   51|   476k|#define sctp_m_free m_free
  ------------------
 6733|   476k|					m = control->data;
 6734|       |					/* been through it all, must hold sb lock ok to null tail */
 6735|   476k|					if (control->data == NULL) {
  ------------------
  |  Branch (6735:10): [True: 474k, False: 1.92k]
  ------------------
 6736|   474k|#ifdef INVARIANTS
 6737|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6738|       |						if ((control->end_added == 0) ||
 6739|       |						    (TAILQ_NEXT(control, next) == NULL)) {
 6740|       |							/* If the end is not added, OR the
 6741|       |							 * next is NOT null we MUST have the lock.
 6742|       |							 */
 6743|       |							if (mtx_owned(&inp->inp_rdata_mtx) == 0) {
 6744|       |								panic("Hmm we don't own the lock?");
 6745|       |							}
 6746|       |						}
 6747|       |#endif
 6748|   474k|#endif
 6749|   474k|						control->tail_mbuf = NULL;
 6750|   474k|#ifdef INVARIANTS
 6751|   474k|						if ((control->end_added) && ((out_flags & MSG_EOR) == 0)) {
  ------------------
  |  Branch (6751:11): [True: 474k, False: 0]
  |  Branch (6751:35): [True: 0, False: 474k]
  ------------------
 6752|      0|							panic("end_added, nothing left and no MSG_EOR");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6753|      0|						}
 6754|   474k|#endif
 6755|   474k|					}
 6756|   476k|				}
 6757|   476k|			} else {
 6758|       |				/* Do we need to trim the mbuf? */
 6759|    167|				if (control->spec_flags & M_NOTIFICATION) {
  ------------------
  |  | 1031|    167|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|    167|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (6759:9): [True: 0, False: 167]
  ------------------
 6760|      0|					out_flags |= MSG_NOTIFICATION;
  ------------------
  |  |   50|      0|#define MSG_NOTIFICATION 0x2000         /* SCTP notification */
  ------------------
 6761|      0|				}
 6762|    167|				if ((in_flags & MSG_PEEK) == 0) {
  ------------------
  |  Branch (6762:9): [True: 167, False: 0]
  ------------------
 6763|    167|					SCTP_BUF_RESV_UF(m, cp_len);
  ------------------
  |  |  798|    167|#define SCTP_BUF_RESV_UF(m, size) m->m_data += size
  |  |  ------------------
  |  |  |  |  219|    167|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 6764|    167|					SCTP_BUF_LEN(m) -= (int)cp_len;
  ------------------
  |  |  795|    167|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    167|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 6765|    167|					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  584|    167|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  660|    167|#define SCTP_SB_LOGGING_ENABLE				0x00010000
  ------------------
  |  Branch (6765:10): [True: 0, False: 167]
  ------------------
 6766|      0|						sctp_sblog(&so->so_rcv, control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBFREE, (int)cp_len);
  ------------------
  |  |  158|      0|#define SCTP_LOG_SBFREE             54
  ------------------
  |  Branch (6766:31): [True: 0, False: 0]
  ------------------
 6767|      0|					}
 6768|    167|					SCTP_SB_DECR(&so->so_rcv, cp_len);
  ------------------
  |  |  967|    167|#define SCTP_SB_DECR(sb, decr)					\
  |  |  968|    167|{								\
  |  |  969|    167|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_cc, (int)(decr));	\
  |  |  ------------------
  |  |  |  |  117|    167|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|    167|{ \
  |  |  |  |  119|    167|	int32_t oldval; \
  |  |  |  |  120|    167|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|    167|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|    167|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 167]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|    167|}
  |  |  ------------------
  |  |  970|    167|}
  ------------------
 6769|    167|					if ((control->do_not_ref_stcb == 0) &&
  ------------------
  |  Branch (6769:10): [True: 123, False: 44]
  ------------------
 6770|    167|					    stcb) {
  ------------------
  |  Branch (6770:10): [True: 123, False: 0]
  ------------------
 6771|    123|						atomic_subtract_int(&stcb->asoc.sb_cc, (int)cp_len);
  ------------------
  |  |   97|    123|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 6772|    123|					}
 6773|    167|					copied_so_far += cp_len;
 6774|    167|					freed_so_far += (uint32_t)cp_len;
 6775|    167|					freed_so_far += MSIZE;
  ------------------
  |  |   47|    167|#define MSIZE 256
  ------------------
 6776|    167|					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  584|    167|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              					if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  660|    167|#define SCTP_SB_LOGGING_ENABLE				0x00010000
  ------------------
  |  Branch (6776:10): [True: 0, False: 167]
  ------------------
 6777|      0|						sctp_sblog(&so->so_rcv, control->do_not_ref_stcb?NULL:stcb,
  ------------------
  |  Branch (6777:31): [True: 0, False: 0]
  ------------------
 6778|      0|							   SCTP_LOG_SBRESULT, 0);
  ------------------
  |  |  159|      0|#define SCTP_LOG_SBRESULT           55
  ------------------
 6779|      0|					}
 6780|    167|					atomic_subtract_int(&control->length, (int)cp_len);
  ------------------
  |  |   97|    167|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 6781|    167|				} else {
 6782|      0|					copied_so_far += cp_len;
 6783|      0|				}
 6784|    167|			}
 6785|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6786|       |#if defined(APPLE_LEOPARD)
 6787|       |			if ((out_flags & MSG_EOR) || (uio->uio_resid == 0)) {
 6788|       |#else
 6789|       |			if ((out_flags & MSG_EOR) || (uio_resid(uio) == 0)) {
 6790|       |#endif
 6791|       |#else
 6792|   476k|			if ((out_flags & MSG_EOR) || (uio->uio_resid == 0)) {
  ------------------
  |  Branch (6792:8): [True: 474k, False: 2.09k]
  |  Branch (6792:33): [True: 167, False: 1.92k]
  ------------------
 6793|   474k|#endif
 6794|   474k|				break;
 6795|   474k|			}
 6796|  1.92k|			if (((stcb) && (in_flags & MSG_PEEK) == 0) &&
  ------------------
  |  Branch (6796:9): [True: 1.92k, False: 0]
  |  Branch (6796:19): [True: 1.92k, False: 0]
  ------------------
 6797|  1.92k|			    (control->do_not_ref_stcb == 0) &&
  ------------------
  |  Branch (6797:8): [True: 663, False: 1.26k]
  ------------------
 6798|  1.92k|			    (freed_so_far >= rwnd_req)) {
  ------------------
  |  Branch (6798:8): [True: 30, False: 633]
  ------------------
 6799|     30|				sctp_user_rcvd(stcb, &freed_so_far, hold_rlock, rwnd_req);
 6800|     30|			}
 6801|  1.92k|		} /* end while(m) */
 6802|       |		/*
 6803|       |		 * At this point we have looked at it all and we either have
 6804|       |		 * a MSG_EOR/or read all the user wants... <OR>
 6805|       |		 * control->length == 0.
 6806|       |		 */
 6807|   474k|		if ((out_flags & MSG_EOR) && ((in_flags & MSG_PEEK) == 0)) {
  ------------------
  |  Branch (6807:7): [True: 474k, False: 167]
  |  Branch (6807:32): [True: 474k, False: 0]
  ------------------
 6808|       |			/* we are done with this control */
 6809|   474k|			if (control->length == 0) {
  ------------------
  |  Branch (6809:8): [True: 474k, False: 0]
  ------------------
 6810|   474k|				if (control->data) {
  ------------------
  |  Branch (6810:9): [True: 0, False: 474k]
  ------------------
 6811|      0|#ifdef INVARIANTS
 6812|      0|					panic("control->data not null at read eor?");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6813|       |#else
 6814|       |					SCTP_PRINTF("Strange, data left in the control buffer .. invariants would panic?\n");
 6815|       |					sctp_m_freem(control->data);
 6816|       |					control->data = NULL;
 6817|       |#endif
 6818|      0|				}
 6819|   474k|			done_with_control:
 6820|   474k|				if (hold_rlock == 0) {
  ------------------
  |  Branch (6820:9): [True: 0, False: 474k]
  ------------------
 6821|      0|					SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6822|      0|					hold_rlock = 1;
 6823|      0|				}
 6824|   474k|				TAILQ_REMOVE(&inp->read_queue, control, next);
 6825|       |				/* Add back any hidden data */
 6826|   474k|				if (control->held_length) {
  ------------------
  |  Branch (6826:9): [True: 0, False: 474k]
  ------------------
 6827|      0|					held_length = 0;
 6828|      0|					control->held_length = 0;
 6829|      0|					wakeup_read_socket = 1;
 6830|      0|				}
 6831|   474k|				if (control->aux_data) {
  ------------------
  |  Branch (6831:9): [True: 0, False: 474k]
  ------------------
 6832|      0|					sctp_m_free (control->aux_data);
  ------------------
  |  |   51|      0|#define sctp_m_free m_free
  ------------------
 6833|      0|					control->aux_data = NULL;
 6834|      0|				}
 6835|   474k|				no_rcv_needed = control->do_not_ref_stcb;
 6836|   474k|				sctp_free_remote_addr(control->whoFrom);
  ------------------
  |  |  228|   474k|#define sctp_free_remote_addr(__net) { \
  |  |  229|   474k|	if ((__net)) { \
  |  |  ------------------
  |  |  |  Branch (229:6): [True: 474k, False: 0]
  |  |  ------------------
  |  |  230|   474k|		if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&(__net)->ref_count)) { \
  |  |  ------------------
  |  |  |  |  115|   474k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|   474k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (115:49): [True: 2.09k, False: 472k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|  2.09k|			if ((__net)->ro.ro_rt) { \
  |  |  ------------------
  |  |  |  Branch (231:8): [True: 2.09k, False: 0]
  |  |  ------------------
  |  |  232|  2.09k|				RTFREE((__net)->ro.ro_rt); \
  |  |  ------------------
  |  |  |  |  126|  2.09k|#define	RTFREE(_rt) do {					\
  |  |  |  |  127|  2.09k|		RT_LOCK(_rt);					\
  |  |  |  |  128|  2.09k|		RTFREE_LOCKED(_rt);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|  2.09k|#define	RTFREE_LOCKED(_rt) do {					\
  |  |  |  |  |  |  117|  2.09k|		if ((_rt)->rt_refcnt <= 1) {			\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:7): [True: 2.09k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  118|  2.09k|			rtfree(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  878|  2.09k|#define rtfree(arg1) sctp_userspace_rtfree(arg1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|  2.09k|		} else {					\
  |  |  |  |  |  |  120|      0|			RT_REMREF(_rt);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  110|      0|#define	RT_REMREF(_rt)	do {					\
  |  |  |  |  |  |  |  |  111|      0|	RT_LOCK_ASSERT(_rt);					\
  |  |  |  |  |  |  |  |  112|      0|	KASSERT((_rt)->rt_refcnt > 0,				\
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|		("bogus refcnt %ld", (_rt)->rt_refcnt));	\
  |  |  |  |  |  |  |  |  114|      0|	(_rt)->rt_refcnt--;					\
  |  |  |  |  |  |  |  |  115|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (115:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|			RT_UNLOCK(_rt);				\
  |  |  |  |  |  |  122|      0|		}						\
  |  |  |  |  |  |  123|  2.09k|		/* guard against invalid refs */		\
  |  |  |  |  |  |  124|  2.09k|		_rt = NULL;					\
  |  |  |  |  |  |  125|  2.09k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (125:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  129|  2.09k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (129:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  233|  2.09k|				(__net)->ro.ro_rt = NULL; \
  |  |  234|  2.09k|			} \
  |  |  235|  2.09k|			if ((__net)->src_addr_selected) { \
  |  |  ------------------
  |  |  |  Branch (235:8): [True: 0, False: 2.09k]
  |  |  ------------------
  |  |  236|      0|				sctp_free_ifa((__net)->ro._s_addr); \
  |  |  237|      0|				(__net)->ro._s_addr = NULL; \
  |  |  238|      0|			} \
  |  |  239|  2.09k|			(__net)->src_addr_selected = 0; \
  |  |  240|  2.09k|			(__net)->dest_state &=~SCTP_ADDR_REACHABLE; \
  |  |  ------------------
  |  |  |  |  481|  2.09k|#define SCTP_ADDR_REACHABLE		0x001
  |  |  ------------------
  |  |  241|  2.09k|			SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_net), (__net)); \
  |  |  ------------------
  |  |  |  |  701|  2.09k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|  2.09k|	free(element);  \
  |  |  |  |  703|  2.09k|}
  |  |  ------------------
  |  |  242|  2.09k|			SCTP_DECR_RADDR_COUNT(); \
  |  |  ------------------
  |  |  |  |  673|  2.09k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_raddr), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|  2.09k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  243|  2.09k|		} \
  |  |  244|   474k|	} \
  |  |  245|   474k|}
  ------------------
 6837|   474k|				control->data = NULL;
 6838|   474k|#ifdef INVARIANTS
 6839|   474k|				if (control->on_strm_q) {
  ------------------
  |  Branch (6839:9): [True: 0, False: 474k]
  ------------------
 6840|      0|					panic("About to free ctl:%p so:%p and its in %d",
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6841|      0|					      control, so, control->on_strm_q);
 6842|      0|				}
 6843|   474k|#endif
 6844|   948k|				sctp_free_a_readq(stcb, control);
  ------------------
  |  |  105|   474k|#define sctp_free_a_readq(_stcb, _readq) { \
  |  |  106|   474k|	if ((_readq)->on_strm_q) \
  |  |  ------------------
  |  |  |  Branch (106:6): [True: 0, False: 474k]
  |  |  ------------------
  |  |  107|   474k|		panic("On strm q stcb:%p readq:%p", (_stcb), (_readq)); \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|   474k|	SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_readq), (_readq)); \
  |  |  ------------------
  |  |  |  |  701|   474k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  |  |  702|   474k|	free(element);  \
  |  |  |  |  703|   474k|}
  |  |  ------------------
  |  |  109|   474k|	SCTP_DECR_READQ_COUNT(); \
  |  |  ------------------
  |  |  |  |  685|   474k|	atomic_subtract_int(&SCTP_BASE_INFO(ipi_count_readq), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   97|   474k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  110|   474k|}
  ------------------
 6845|   948k|				control = NULL;
 6846|   948k|				if ((freed_so_far >= rwnd_req) &&
  ------------------
  |  Branch (6846:9): [True: 12.9k, False: 461k]
  ------------------
 6847|   474k|				    (no_rcv_needed == 0))
  ------------------
  |  Branch (6847:9): [True: 12.9k, False: 0]
  ------------------
 6848|  12.9k|					sctp_user_rcvd(stcb, &freed_so_far, hold_rlock, rwnd_req);
 6849|       |
 6850|   948k|			} else {
 6851|       |				/*
 6852|       |				 * The user did not read all of this
 6853|       |				 * message, turn off the returned MSG_EOR
 6854|       |				 * since we are leaving more behind on the
 6855|       |				 * control to read.
 6856|       |				 */
 6857|      0|#ifdef INVARIANTS
 6858|      0|				if (control->end_added &&
  ------------------
  |  Branch (6858:9): [True: 0, False: 0]
  ------------------
 6859|      0|				    (control->data == NULL) &&
  ------------------
  |  Branch (6859:9): [True: 0, False: 0]
  ------------------
 6860|      0|				    (control->tail_mbuf == NULL)) {
  ------------------
  |  Branch (6860:9): [True: 0, False: 0]
  ------------------
 6861|      0|					panic("Gak, control->length is corrupt?");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6862|      0|				}
 6863|      0|#endif
 6864|      0|				no_rcv_needed = control->do_not_ref_stcb;
 6865|      0|				out_flags &= ~MSG_EOR;
 6866|      0|			}
 6867|   474k|		}
 6868|   474k|		if (out_flags & MSG_EOR) {
  ------------------
  |  Branch (6868:7): [True: 474k, False: 167]
  ------------------
 6869|   474k|			goto release;
 6870|   474k|		}
 6871|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6872|       |#if defined(APPLE_LEOPARD)
 6873|       |		if ((uio->uio_resid == 0) ||
 6874|       |#else
 6875|       |		if ((uio_resid(uio) == 0) ||
 6876|       |#endif
 6877|       |#else
 6878|    167|		if ((uio->uio_resid == 0) ||
  ------------------
  |  Branch (6878:7): [True: 167, False: 0]
  ------------------
 6879|    167|#endif
 6880|    167|		    ((in_eeor_mode) &&
  ------------------
  |  Branch (6880:8): [True: 0, False: 0]
  ------------------
 6881|    167|		     (copied_so_far >= max(so->so_rcv.sb_lowat, 1)))) {
  ------------------
  |  |   67|      0|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  ------------------
  |  |  |  Branch (67:19): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (6881:8): [True: 0, False: 0]
  ------------------
 6882|    167|			goto release;
 6883|    167|		}
 6884|       |		/*
 6885|       |		 * If I hit here the receiver wants more and this message is
 6886|       |		 * NOT done (pd-api). So two questions. Can we block? if not
 6887|       |		 * we are done. Did the user NOT set MSG_WAITALL?
 6888|       |		 */
 6889|      0|		if (block_allowed == 0) {
  ------------------
  |  Branch (6889:7): [True: 0, False: 0]
  ------------------
 6890|      0|			goto release;
 6891|      0|		}
 6892|       |		/*
 6893|       |		 * We need to wait for more data a few things:
 6894|       |		 * - We don't release the I/O lock so we don't get someone else
 6895|       |		 *   reading.
 6896|       |		 * - We must be sure to account for the case where what is added
 6897|       |		 *   is NOT to our control when we wakeup.
 6898|       |		 */
 6899|       |
 6900|       |		/* Do we need to tell the transport a rwnd update might be
 6901|       |		 * needed before we go to sleep?
 6902|       |		 */
 6903|      0|		if (((stcb) && (in_flags & MSG_PEEK) == 0) &&
  ------------------
  |  Branch (6903:8): [True: 0, False: 0]
  |  Branch (6903:18): [True: 0, False: 0]
  ------------------
 6904|      0|		    ((freed_so_far >= rwnd_req) &&
  ------------------
  |  Branch (6904:8): [True: 0, False: 0]
  ------------------
 6905|      0|		     (control->do_not_ref_stcb == 0) &&
  ------------------
  |  Branch (6905:8): [True: 0, False: 0]
  ------------------
 6906|      0|		     (no_rcv_needed == 0))) {
  ------------------
  |  Branch (6906:8): [True: 0, False: 0]
  ------------------
 6907|      0|			sctp_user_rcvd(stcb, &freed_so_far, hold_rlock, rwnd_req);
 6908|      0|		}
 6909|      0|	wait_some_more:
 6910|       |#if (defined(__FreeBSD__) || defined(_WIN32)) && !defined(__Userspace__)
 6911|       |		if (so->so_rcv.sb_state & SBS_CANTRCVMORE) {
 6912|       |			goto release;
 6913|       |		}
 6914|       |#else
 6915|      0|		if (so->so_state & SS_CANTRCVMORE) {
  ------------------
  |  |   54|      0|#define SS_CANTRCVMORE 0x020
  ------------------
  |  Branch (6915:7): [True: 0, False: 0]
  ------------------
 6916|      0|			goto release;
 6917|      0|		}
 6918|      0|#endif
 6919|       |
 6920|      0|		if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE)
  ------------------
  |  |  549|      0|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (6920:7): [True: 0, False: 0]
  ------------------
 6921|      0|			goto release;
 6922|       |
 6923|      0|		if (hold_rlock == 1) {
  ------------------
  |  Branch (6923:7): [True: 0, False: 0]
  ------------------
 6924|      0|			SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6925|      0|			hold_rlock = 0;
 6926|      0|		}
 6927|      0|		if (hold_sblock == 0) {
  ------------------
  |  Branch (6927:7): [True: 0, False: 0]
  ------------------
 6928|      0|			SOCKBUF_LOCK(&so->so_rcv);
  ------------------
  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6929|      0|			hold_sblock = 1;
 6930|      0|		}
 6931|      0|		if ((copied_so_far) && (control->length == 0) &&
  ------------------
  |  Branch (6931:7): [True: 0, False: 0]
  |  Branch (6931:26): [True: 0, False: 0]
  ------------------
 6932|      0|		    (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE))) {
  ------------------
  |  |   52|      0|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  ------------------
  |  Branch (6932:7): [True: 0, False: 0]
  ------------------
 6933|      0|			goto release;
 6934|      0|		}
 6935|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6936|       |		sbunlock(&so->so_rcv, 1);
 6937|       |#endif
 6938|      0|		if (SCTP_SBAVAIL(&so->so_rcv) <= control->held_length) {
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
  |  Branch (6938:7): [True: 0, False: 0]
  ------------------
 6939|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6940|       |			error = sbwait(so, SO_RCV);
 6941|       |#else
 6942|      0|			error = sbwait(&so->so_rcv);
 6943|      0|#endif
 6944|      0|			if (error) {
  ------------------
  |  Branch (6944:8): [True: 0, False: 0]
  ------------------
 6945|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6946|       |				goto release_unlocked;
 6947|       |#else
 6948|      0|				goto release;
 6949|      0|#endif
 6950|      0|			}
 6951|      0|			control->held_length = 0;
 6952|      0|		}
 6953|       |#if defined(__APPLE__) && !defined(__Userspace__)
 6954|       |		error = sblock(&so->so_rcv, SBLOCKWAIT(in_flags));
 6955|       |#endif
 6956|      0|		if (hold_sblock) {
  ------------------
  |  Branch (6956:7): [True: 0, False: 0]
  ------------------
 6957|      0|			SOCKBUF_UNLOCK(&so->so_rcv);
  ------------------
  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6958|      0|			hold_sblock = 0;
 6959|      0|		}
 6960|      0|		if (control->length == 0) {
  ------------------
  |  Branch (6960:7): [True: 0, False: 0]
  ------------------
 6961|       |			/* still nothing here */
 6962|      0|			if (control->end_added == 1) {
  ------------------
  |  Branch (6962:8): [True: 0, False: 0]
  ------------------
 6963|       |				/* he aborted, or is done i.e.did a shutdown */
 6964|      0|				out_flags |= MSG_EOR;
 6965|      0|				if (control->pdapi_aborted) {
  ------------------
  |  Branch (6965:9): [True: 0, False: 0]
  ------------------
 6966|      0|					if ((control->do_not_ref_stcb == 0) && ((control->spec_flags & M_NOTIFICATION) == 0))
  ------------------
  |  | 1031|      0|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|      0|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (6966:10): [True: 0, False: 0]
  |  Branch (6966:45): [True: 0, False: 0]
  ------------------
 6967|      0|						control->stcb->asoc.strmin[control->sinfo_stream].delivery_started = 0;
 6968|       |
 6969|      0|					out_flags |= MSG_TRUNC;
 6970|      0|				} else {
 6971|      0|					if ((control->do_not_ref_stcb == 0) && ((control->spec_flags & M_NOTIFICATION) == 0))
  ------------------
  |  | 1031|      0|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|      0|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (6971:10): [True: 0, False: 0]
  |  Branch (6971:45): [True: 0, False: 0]
  ------------------
 6972|      0|						control->stcb->asoc.strmin[control->sinfo_stream].delivery_started = 0;
 6973|      0|				}
 6974|      0|				goto done_with_control;
 6975|      0|			}
 6976|      0|			if (SCTP_SBAVAIL(&so->so_rcv) > held_length) {
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
  |  Branch (6976:8): [True: 0, False: 0]
  ------------------
 6977|      0|				control->held_length = SCTP_SBAVAIL(&so->so_rcv);
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
 6978|      0|				held_length = 0;
 6979|      0|			}
 6980|      0|			goto wait_some_more;
 6981|      0|		} else if (control->data == NULL) {
  ------------------
  |  Branch (6981:14): [True: 0, False: 0]
  ------------------
 6982|       |			/* we must re-sync since data
 6983|       |			 * is probably being added
 6984|       |			 */
 6985|      0|			SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6986|      0|			if ((control->length > 0) && (control->data == NULL)) {
  ------------------
  |  Branch (6986:8): [True: 0, False: 0]
  |  Branch (6986:33): [True: 0, False: 0]
  ------------------
 6987|       |				/* big trouble.. we have the lock and its corrupt? */
 6988|      0|#ifdef INVARIANTS
 6989|      0|				panic ("Impossible data==NULL length !=0");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6990|      0|#endif
 6991|      0|				out_flags |= MSG_EOR;
 6992|      0|				out_flags |= MSG_TRUNC;
 6993|      0|				control->length = 0;
 6994|      0|				SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6995|      0|				goto done_with_control;
 6996|      0|			}
 6997|      0|			SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6998|       |			/* We will fall around to get more data */
 6999|      0|		}
 7000|      0|		goto get_more_data;
 7001|      0|	} else {
 7002|       |		/*-
 7003|       |		 * Give caller back the mbuf chain,
 7004|       |		 * store in uio_resid the length
 7005|       |		 */
 7006|      0|		wakeup_read_socket = 0;
 7007|      0|		if ((control->end_added == 0) ||
  ------------------
  |  Branch (7007:7): [True: 0, False: 0]
  ------------------
 7008|      0|		    (TAILQ_NEXT(control, next) == NULL)) {
  ------------------
  |  Branch (7008:7): [True: 0, False: 0]
  ------------------
 7009|       |			/* Need to get rlock */
 7010|      0|			if (hold_rlock == 0) {
  ------------------
  |  Branch (7010:8): [True: 0, False: 0]
  ------------------
 7011|      0|				SCTP_INP_READ_LOCK(inp);
  ------------------
  |  |  346|      0|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7012|      0|				hold_rlock = 1;
 7013|      0|			}
 7014|      0|		}
 7015|      0|		if (control->end_added) {
  ------------------
  |  Branch (7015:7): [True: 0, False: 0]
  ------------------
 7016|      0|			out_flags |= MSG_EOR;
 7017|      0|			if ((control->do_not_ref_stcb == 0) &&
  ------------------
  |  Branch (7017:8): [True: 0, False: 0]
  ------------------
 7018|      0|			    (control->stcb != NULL) &&
  ------------------
  |  Branch (7018:8): [True: 0, False: 0]
  ------------------
 7019|      0|			    ((control->spec_flags & M_NOTIFICATION) == 0))
  ------------------
  |  | 1031|      0|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|      0|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (7019:8): [True: 0, False: 0]
  ------------------
 7020|      0|				control->stcb->asoc.strmin[control->sinfo_stream].delivery_started = 0;
 7021|      0|		}
 7022|      0|		if (control->spec_flags & M_NOTIFICATION) {
  ------------------
  |  | 1031|      0|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|      0|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
  |  Branch (7022:7): [True: 0, False: 0]
  ------------------
 7023|      0|			out_flags |= MSG_NOTIFICATION;
  ------------------
  |  |   50|      0|#define MSG_NOTIFICATION 0x2000         /* SCTP notification */
  ------------------
 7024|      0|		}
 7025|       |#if defined(__APPLE__) && !defined(__Userspace__)
 7026|       |#if defined(APPLE_LEOPARD)
 7027|       |		uio->uio_resid = control->length;
 7028|       |#else
 7029|       |		uio_setresid(uio, control->length);
 7030|       |#endif
 7031|       |#else
 7032|      0|		uio->uio_resid = control->length;
 7033|      0|#endif
 7034|      0|		*mp = control->data;
 7035|      0|		m = control->data;
 7036|      0|		while (m) {
  ------------------
  |  Branch (7036:10): [True: 0, False: 0]
  ------------------
 7037|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  660|      0|#define SCTP_SB_LOGGING_ENABLE				0x00010000
  ------------------
  |  Branch (7037:8): [True: 0, False: 0]
  ------------------
 7038|      0|				sctp_sblog(&so->so_rcv,
 7039|      0|				   control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBFREE, SCTP_BUF_LEN(m));
  ------------------
  |  |  158|      0|#define SCTP_LOG_SBFREE             54
  ------------------
              				   control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBFREE, SCTP_BUF_LEN(m));
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (7039:8): [True: 0, False: 0]
  ------------------
 7040|      0|			}
 7041|      0|			sctp_sbfree(control, stcb, &so->so_rcv, m);
  ------------------
  |  |  247|      0|#define sctp_sbfree(ctl, stcb, sb, m) { \
  |  |  248|      0|	SCTP_SB_DECR(sb, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |  967|      0|#define SCTP_SB_DECR(sb, decr)					\
  |  |  |  |  968|      0|{								\
  |  |  |  |  969|      0|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_cc, (int)(decr));	\
  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  |  |  118|      0|{ \
  |  |  |  |  |  |  119|      0|	int32_t oldval; \
  |  |  |  |  |  |  120|      0|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  121|      0|	if (oldval < val) { \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (121:6): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      0|	} \
  |  |  |  |  |  |  124|      0|}
  |  |  |  |  ------------------
  |  |  |  |  970|      0|}
  |  |  ------------------
  |  |  249|      0|	SCTP_SAVE_ATOMIC_DECREMENT(&(sb)->sb_mbcnt, MSIZE); \
  |  |  ------------------
  |  |  |  |  117|      0|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|      0|{ \
  |  |  |  |  119|      0|	int32_t oldval; \
  |  |  |  |  120|      0|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|      0|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|      0|}
  |  |  ------------------
  |  |  250|      0|	if (((ctl)->do_not_ref_stcb == 0) && stcb) { \
  |  |  ------------------
  |  |  |  Branch (250:6): [True: 0, False: 0]
  |  |  |  Branch (250:39): [True: 0, False: 0]
  |  |  ------------------
  |  |  251|      0|		SCTP_SAVE_ATOMIC_DECREMENT(&(stcb)->asoc.sb_cc, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |  117|      0|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|      0|{ \
  |  |  |  |  119|      0|	int32_t oldval; \
  |  |  |  |  120|      0|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|      0|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|      0|}
  |  |  ------------------
  |  |  252|      0|		SCTP_SAVE_ATOMIC_DECREMENT(&(stcb)->asoc.my_rwnd_control_len, MSIZE); \
  |  |  ------------------
  |  |  |  |  117|      0|#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val) \
  |  |  |  |  118|      0|{ \
  |  |  |  |  119|      0|	int32_t oldval; \
  |  |  |  |  120|      0|	oldval = atomic_fetchadd_int(addr, -val); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  103|      0|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  |  |  ------------------
  |  |  |  |  121|      0|	if (oldval < val) { \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (121:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  122|      0|		panic("Counter goes negative"); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  123|      0|	} \
  |  |  |  |  124|      0|}
  |  |  ------------------
  |  |  253|      0|	} \
  |  |  254|      0|}
  ------------------
 7042|      0|			freed_so_far += (uint32_t)SCTP_BUF_LEN(m);
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 7043|      0|			freed_so_far += MSIZE;
  ------------------
  |  |   47|      0|#define MSIZE 256
  ------------------
 7044|      0|			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  584|      0|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              			if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  660|      0|#define SCTP_SB_LOGGING_ENABLE				0x00010000
  ------------------
  |  Branch (7044:8): [True: 0, False: 0]
  ------------------
 7045|      0|				sctp_sblog(&so->so_rcv,
 7046|      0|				   control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBRESULT, 0);
  ------------------
  |  |  159|      0|#define SCTP_LOG_SBRESULT           55
  ------------------
  |  Branch (7046:8): [True: 0, False: 0]
  ------------------
 7047|      0|			}
 7048|      0|			m = SCTP_BUF_NEXT(m);
  ------------------
  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 7049|      0|		}
 7050|      0|		control->data = control->tail_mbuf = NULL;
 7051|      0|		control->length = 0;
 7052|      0|		if (out_flags & MSG_EOR) {
  ------------------
  |  Branch (7052:7): [True: 0, False: 0]
  ------------------
 7053|       |			/* Done with this control */
 7054|      0|			goto done_with_control;
 7055|      0|		}
 7056|      0|	}
 7057|   474k| release:
 7058|   474k|	if (hold_rlock == 1) {
  ------------------
  |  Branch (7058:6): [True: 474k, False: 0]
  ------------------
 7059|   474k|		SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|   474k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   474k|	do {                         \
  |  |  |  |  113|   474k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 474k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   474k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7060|   474k|		hold_rlock = 0;
 7061|   474k|	}
 7062|   474k|#if defined(__Userspace__)
 7063|   474k|	if (hold_sblock == 0) {
  ------------------
  |  Branch (7063:6): [True: 474k, False: 0]
  ------------------
 7064|   474k|		SOCKBUF_LOCK(&so->so_rcv);
  ------------------
  |  |  517|   474k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   474k|	do {                         \
  |  |  |  |  113|   474k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 474k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   474k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7065|   474k|		hold_sblock = 1;
 7066|   474k|	}
 7067|       |#else
 7068|       |	if (hold_sblock == 1) {
 7069|       |		SOCKBUF_UNLOCK(&so->so_rcv);
 7070|       |		hold_sblock = 0;
 7071|       |	}
 7072|       |#endif
 7073|       |#if defined(__APPLE__) && !defined(__Userspace__)
 7074|       |	sbunlock(&so->so_rcv, 1);
 7075|       |#endif
 7076|       |
 7077|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 7078|       |	SOCK_IO_RECV_UNLOCK(so);
 7079|       |	sockbuf_lock = 0;
 7080|       |#endif
 7081|       |
 7082|   474k| release_unlocked:
 7083|   474k|	if (hold_sblock) {
  ------------------
  |  Branch (7083:6): [True: 474k, False: 0]
  ------------------
 7084|   474k|		SOCKBUF_UNLOCK(&so->so_rcv);
  ------------------
  |  |  519|   474k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   474k|	do {                         \
  |  |  |  |  113|   474k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 474k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   474k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7085|   474k|		hold_sblock = 0;
 7086|   474k|	}
 7087|   474k|	if ((stcb) && (in_flags & MSG_PEEK) == 0) {
  ------------------
  |  Branch (7087:6): [True: 474k, False: 0]
  |  Branch (7087:16): [True: 474k, False: 0]
  ------------------
 7088|   474k|		if ((freed_so_far >= rwnd_req) &&
  ------------------
  |  Branch (7088:7): [True: 6.99k, False: 467k]
  ------------------
 7089|   474k|		    (control && (control->do_not_ref_stcb == 0)) &&
  ------------------
  |  Branch (7089:8): [True: 5, False: 6.98k]
  |  Branch (7089:19): [True: 5, False: 0]
  ------------------
 7090|   474k|		    (no_rcv_needed == 0))
  ------------------
  |  Branch (7090:7): [True: 5, False: 0]
  ------------------
 7091|      5|			sctp_user_rcvd(stcb, &freed_so_far, hold_rlock, rwnd_req);
 7092|   474k|	}
 7093|   476k| out:
 7094|   476k|	if (msg_flags) {
  ------------------
  |  Branch (7094:6): [True: 476k, False: 0]
  ------------------
 7095|   476k|		*msg_flags = out_flags;
 7096|   476k|	}
 7097|   476k|	if (((out_flags & MSG_EOR) == 0) &&
  ------------------
  |  Branch (7097:6): [True: 1.87k, False: 474k]
  ------------------
 7098|   476k|	    ((in_flags & MSG_PEEK) == 0) &&
  ------------------
  |  Branch (7098:6): [True: 1.87k, False: 0]
  ------------------
 7099|   476k|	    (sinfo) &&
  ------------------
  |  Branch (7099:6): [True: 1.87k, False: 0]
  ------------------
 7100|   476k|	    (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_EXT_RCVINFO) ||
  ------------------
  |  |   52|  3.74k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 0, False: 1.87k]
  |  |  ------------------
  ------------------
 7101|  1.87k|	     sctp_is_feature_on(inp, SCTP_PCB_FLAGS_RECVNXTINFO))) {
  ------------------
  |  |   52|  1.87k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 1.87k, False: 0]
  |  |  ------------------
  ------------------
 7102|  1.87k|		struct sctp_extrcvinfo *s_extra;
 7103|  1.87k|		s_extra = (struct sctp_extrcvinfo *)sinfo;
 7104|  1.87k|		s_extra->serinfo_next_flags = SCTP_NO_NEXT_MSG;
  ------------------
  |  |  212|  1.87k|#define SCTP_NO_NEXT_MSG           0x0000
  ------------------
 7105|  1.87k|	}
 7106|   476k|	if (hold_rlock == 1) {
  ------------------
  |  Branch (7106:6): [True: 0, False: 476k]
  ------------------
 7107|      0|		SCTP_INP_READ_UNLOCK(inp);
  ------------------
  |  |  348|      0|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7108|      0|	}
 7109|   476k|	if (hold_sblock) {
  ------------------
  |  Branch (7109:6): [True: 1.70k, False: 474k]
  ------------------
 7110|  1.70k|		SOCKBUF_UNLOCK(&so->so_rcv);
  ------------------
  |  |  519|  1.70k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.70k|	do {                         \
  |  |  |  |  113|  1.70k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.70k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.70k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 7111|  1.70k|	}
 7112|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 7113|       |	if (sockbuf_lock) {
 7114|       |		SOCK_IO_RECV_UNLOCK(so);
 7115|       |	}
 7116|       |#endif
 7117|       |
 7118|   476k|	if (freecnt_applied) {
  ------------------
  |  Branch (7118:6): [True: 355k, False: 120k]
  ------------------
 7119|       |		/*
 7120|       |		 * The lock on the socket buffer protects us so the free
 7121|       |		 * code will stop. But since we used the socketbuf lock and
 7122|       |		 * the sender uses the tcb_lock to increment, we need to use
 7123|       |		 * the atomic add to the refcnt.
 7124|       |		 */
 7125|   355k|		if (stcb == NULL) {
  ------------------
  |  Branch (7125:7): [True: 0, False: 355k]
  ------------------
 7126|      0|#ifdef INVARIANTS
 7127|      0|			panic("stcb for refcnt has gone NULL?");
  ------------------
  |  |  104|      0|	do {                                        \
  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  ------------------
  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  544|      0|	}
  |  |  ------------------
  |  |  108|      0|		terminate_non_graceful();           \
  |  |  109|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 7128|      0|			goto stage_left;
 7129|       |#else
 7130|       |			goto stage_left;
 7131|       |#endif
 7132|      0|		}
 7133|       |		/* Save the value back for next time */
 7134|   355k|		stcb->freed_by_sorcv_sincelast = freed_so_far;
 7135|   355k|		atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|   355k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 7136|   355k|	}
 7137|   476k|	if (SCTP_BASE_SYSCTL(sctp_logging_level) &SCTP_RECV_RWND_LOGGING_ENABLE) {
  ------------------
  |  |  584|   476k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) &SCTP_RECV_RWND_LOGGING_ENABLE) {
  ------------------
  |  |  656|   476k|#define SCTP_RECV_RWND_LOGGING_ENABLE			0x00001000
  ------------------
  |  Branch (7137:6): [True: 0, False: 476k]
  ------------------
 7138|      0|		if (stcb) {
  ------------------
  |  Branch (7138:7): [True: 0, False: 0]
  ------------------
 7139|      0|			sctp_misc_ints(SCTP_SORECV_DONE,
  ------------------
  |  |  190|      0|#define SCTP_SORECV_DONE            86
  ------------------
 7140|      0|			               freed_so_far,
 7141|       |#if defined(__APPLE__) && !defined(__Userspace__)
 7142|       |#if defined(APPLE_LEOPARD)
 7143|       |			               ((uio) ? (slen - uio->uio_resid) : slen),
 7144|       |#else
 7145|       |			               ((uio) ? (slen - uio_resid(uio)) : slen),
 7146|       |#endif
 7147|       |#else
 7148|      0|			               (uint32_t)((uio) ? (slen - uio->uio_resid) : slen),
  ------------------
  |  Branch (7148:30): [True: 0, False: 0]
  ------------------
 7149|      0|#endif
 7150|      0|			               stcb->asoc.my_rwnd,
 7151|      0|			               SCTP_SBAVAIL(&so->so_rcv));
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
 7152|      0|		} else {
 7153|      0|			sctp_misc_ints(SCTP_SORECV_DONE,
  ------------------
  |  |  190|      0|#define SCTP_SORECV_DONE            86
  ------------------
 7154|      0|			               freed_so_far,
 7155|       |#if defined(__APPLE__) && !defined(__Userspace__)
 7156|       |#if defined(APPLE_LEOPARD)
 7157|       |			               ((uio) ? (slen - uio->uio_resid) : slen),
 7158|       |#else
 7159|       |			               ((uio) ? (slen - uio_resid(uio)) : slen),
 7160|       |#endif
 7161|       |#else
 7162|      0|			               (uint32_t)((uio) ? (slen - uio->uio_resid) : slen),
  ------------------
  |  Branch (7162:30): [True: 0, False: 0]
  ------------------
 7163|      0|#endif
 7164|      0|			               0,
 7165|      0|			               SCTP_SBAVAIL(&so->so_rcv));
  ------------------
  |  |  962|      0|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  ------------------
 7166|      0|		}
 7167|      0|	}
 7168|   476k| stage_left:
 7169|   476k|	if (wakeup_read_socket) {
  ------------------
  |  Branch (7169:6): [True: 0, False: 476k]
  ------------------
 7170|      0|		sctp_sorwakeup(inp, so);
  ------------------
  |  | 1032|      0|#define sctp_sorwakeup(inp, so) \
  |  | 1033|      0|do { \
  |  | 1034|      0|	if (inp->sctp_flags & SCTP_PCB_FLAGS_DONT_WAKE) { \
  |  |  ------------------
  |  |  |  |  544|      0|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  |  |  ------------------
  |  |  |  Branch (1034:6): [True: 0, False: 0]
  |  |  ------------------
  |  | 1035|      0|		sctp_pcb_add_flags(inp, SCTP_PCB_FLAGS_WAKEINPUT); \
  |  |  ------------------
  |  |  |  |  546|      0|#define SCTP_PCB_FLAGS_WAKEINPUT	0x02000000
  |  |  ------------------
  |  | 1036|      0|	} else { \
  |  | 1037|      0|		sorwakeup(so); \
  |  |  ------------------
  |  |  |  |  519|      0|#define	sorwakeup(so) do {						\
  |  |  |  |  520|      0|	SOCKBUF_LOCK(&(so)->so_rcv);					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  521|      0|	sorwakeup_locked(so);						\
  |  |  |  |  ------------------
  |  |  |  |  |  |  511|      0|#define	sorwakeup_locked(so) do {					\
  |  |  |  |  |  |  512|      0|	SOCKBUF_LOCK_ASSERT(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  514|      0|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  513|      0|	if (sb_notify(&(so)->so_rcv))					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  499|      0|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  203|      0|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  204|      0|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  205|      0|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (499:23): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  500|      0|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  206|      0|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  208|      0|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  209|      0|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  514|      0|		sowakeup((so), &(so)->so_rcv);	 			\
  |  |  |  |  |  |  515|      0|	else								\
  |  |  |  |  |  |  516|      0|		SOCKBUF_UNLOCK(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  517|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (517:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  522|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (522:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1038|      0|	} \
  |  | 1039|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (1039:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 7171|      0|	}
 7172|   476k|	return (error);
 7173|   476k|}
sctp_hashinit_flags:
 7388|  23.1k|{
 7389|  23.1k|	long hashsize;
 7390|  23.1k|	LIST_HEAD(generic, generic) *hashtbl;
 7391|  23.1k|	int i;
 7392|       |
 7393|  23.1k|	if (elements <= 0) {
  ------------------
  |  Branch (7393:6): [True: 0, False: 23.1k]
  ------------------
 7394|      0|		SCTP_PRINTF("hashinit: bad elements?");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 7395|      0|#ifdef INVARIANTS
 7396|      0|		return (NULL);
 7397|       |#else
 7398|       |		elements = 1;
 7399|       |#endif
 7400|      0|	}
 7401|   196k|	for (hashsize = 1; hashsize <= elements; hashsize <<= 1)
  ------------------
  |  Branch (7401:21): [True: 173k, False: 23.1k]
  ------------------
 7402|   173k|		continue;
 7403|  23.1k|	hashsize >>= 1;
 7404|       |	/*cannot use MALLOC here because it has to be declared or defined
 7405|       |	  using MALLOC_DECLARE or MALLOC_DEFINE first. */
 7406|  23.1k|	if (flags & HASH_WAITOK)
  ------------------
  |  |  756|  23.1k|#define HASH_WAITOK 0x00000002
  ------------------
  |  Branch (7406:6): [True: 0, False: 23.1k]
  ------------------
 7407|      0|		hashtbl = malloc((u_long)hashsize * sizeof(*hashtbl));
 7408|  23.1k|	else if (flags & HASH_NOWAIT)
  ------------------
  |  |  755|  23.1k|#define HASH_NOWAIT 0x00000001
  ------------------
  |  Branch (7408:11): [True: 23.1k, False: 0]
  ------------------
 7409|  23.1k|		hashtbl = malloc((u_long)hashsize * sizeof(*hashtbl));
 7410|      0|	else {
 7411|      0|#ifdef INVARIANTS
 7412|      0|		SCTP_PRINTF("flag incorrect in hashinit_flags.\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 7413|      0|#endif
 7414|      0|		return (NULL);
 7415|      0|	}
 7416|       |
 7417|       |	/* no memory? */
 7418|  23.1k|	if (hashtbl == NULL)
  ------------------
  |  Branch (7418:6): [True: 0, False: 23.1k]
  ------------------
 7419|      0|		return (NULL);
 7420|       |
 7421|  3.36M|	for (i = 0; i < hashsize; i++)
  ------------------
  |  Branch (7421:14): [True: 3.34M, False: 23.1k]
  ------------------
 7422|  3.34M|		LIST_INIT(&hashtbl[i]);
 7423|  23.1k|	*hashmask = hashsize - 1;
 7424|  23.1k|	return (hashtbl);
 7425|  23.1k|}
sctp_hashdestroy:
 7429|  23.1k|{
 7430|  23.1k|	LIST_HEAD(generic, generic) *hashtbl, *hp;
 7431|       |
 7432|  23.1k|	hashtbl = vhashtbl;
 7433|  3.35M|	for (hp = hashtbl; hp <= &hashtbl[hashmask]; hp++)
  ------------------
  |  Branch (7433:21): [True: 3.32M, False: 23.1k]
  ------------------
 7434|  3.32M|		if (!LIST_EMPTY(hp)) {
  ------------------
  |  Branch (7434:7): [True: 0, False: 3.32M]
  ------------------
 7435|      0|			SCTP_PRINTF("hashdestroy: hash not empty.\n");
  ------------------
  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  ------------------
  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  ------------------
  |  |  544|      0|	}
  ------------------
 7436|      0|			return;
 7437|      0|		}
 7438|  23.1k|	FREE(hashtbl, type);
  ------------------
  |  |  191|  23.1k|#define	FREE(addr, type) free((addr))
  ------------------
 7439|  23.1k|}
sctp_set_state:
 8683|  38.6k|{
 8684|       |#if defined(KDTRACE_HOOKS)
 8685|       |	int old_state = stcb->asoc.state;
 8686|       |#endif
 8687|       |
 8688|  38.6k|	KASSERT((new_state & ~SCTP_STATE_MASK) == 0,
  ------------------
  |  |  112|  38.6k|	do {                         \
  |  |  113|  38.6k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 38.6k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  38.6k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 8689|  38.6k|	        ("sctp_set_state: Can't set substate (new_state = %x)",
 8690|  38.6k|	        new_state));
 8691|  38.6k|	stcb->asoc.state = (stcb->asoc.state & ~SCTP_STATE_MASK) | new_state;
  ------------------
  |  |  469|  38.6k|#define SCTP_STATE_MASK			0x007f
  ------------------
 8692|  38.6k|	if ((new_state == SCTP_STATE_SHUTDOWN_RECEIVED) ||
  ------------------
  |  |  461|  38.6k|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (8692:6): [True: 108, False: 38.5k]
  ------------------
 8693|  38.6k|	    (new_state == SCTP_STATE_SHUTDOWN_SENT) ||
  ------------------
  |  |  460|  38.5k|#define SCTP_STATE_SHUTDOWN_SENT	0x0010
  ------------------
  |  Branch (8693:6): [True: 0, False: 38.5k]
  ------------------
 8694|  38.6k|	    (new_state == SCTP_STATE_SHUTDOWN_ACK_SENT)) {
  ------------------
  |  |  462|  38.5k|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (8694:6): [True: 54, False: 38.4k]
  ------------------
 8695|    162|		SCTP_CLEAR_SUBSTATE(stcb, SCTP_STATE_SHUTDOWN_PENDING);
  ------------------
  |  |  476|    162|	(_stcb)->asoc.state &= ~(_substate)
  ------------------
 8696|    162|	}
 8697|       |#if defined(KDTRACE_HOOKS)
 8698|       |	if (((old_state & SCTP_STATE_MASK) != new_state) &&
 8699|       |	    !(((old_state & SCTP_STATE_MASK) == SCTP_STATE_EMPTY) &&
 8700|       |	      (new_state == SCTP_STATE_INUSE))) {
 8701|       |		SCTP_PROBE6(state__change, NULL, stcb, NULL, stcb, NULL, old_state);
 8702|       |	}
 8703|       |#endif
 8704|  38.6k|}
sctp_add_substate:
 8708|  23.1k|{
 8709|       |#if defined(KDTRACE_HOOKS)
 8710|       |	int old_state = stcb->asoc.state;
 8711|       |#endif
 8712|       |
 8713|  23.1k|	KASSERT((substate & SCTP_STATE_MASK) == 0,
  ------------------
  |  |  112|  23.1k|	do {                         \
  |  |  113|  23.1k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 23.1k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  23.1k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 8714|  23.1k|	        ("sctp_add_substate: Can't set state (substate = %x)",
 8715|  23.1k|	        substate));
 8716|  23.1k|	stcb->asoc.state |= substate;
 8717|       |#if defined(KDTRACE_HOOKS)
 8718|       |	if (((substate & SCTP_STATE_ABOUT_TO_BE_FREED) &&
 8719|       |	     ((old_state & SCTP_STATE_ABOUT_TO_BE_FREED) == 0)) ||
 8720|       |	    ((substate & SCTP_STATE_SHUTDOWN_PENDING) &&
 8721|       |	     ((old_state & SCTP_STATE_SHUTDOWN_PENDING) == 0))) {
 8722|       |		SCTP_PROBE6(state__change, NULL, stcb, NULL, stcb, NULL, old_state);
 8723|       |	}
 8724|       |#endif
 8725|  23.1k|}
sctputil.c:sctp_notify_assoc_change:
 3242|  7.77k|{
 3243|  7.77k|	struct mbuf *m_notify;
 3244|  7.77k|	struct sctp_assoc_change *sac;
 3245|  7.77k|	struct sctp_queued_to_read *control;
 3246|  7.77k|	struct sctp_inpcb *inp;
 3247|  7.77k|	unsigned int notif_len;
 3248|  7.77k|	unsigned int i;
 3249|  7.77k|	uint16_t abort_len;
 3250|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3251|       |	struct socket *so;
 3252|       |#endif
 3253|       |
 3254|  7.77k|	KASSERT(abort == NULL || from_peer,
  ------------------
  |  |  112|  7.77k|	do {                         \
  |  |  113|  7.88k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 7.67k, False: 105]
  |  |  |  Branch (113:9): [True: 105, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  7.77k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3255|  7.77k|	        ("sctp_notify_assoc_change: ABORT chunk provided for local termination"));
 3256|  7.77k|	KASSERT(!from_peer || !timedout,
  ------------------
  |  |  112|  7.77k|	do {                         \
  |  |  113|  7.88k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 7.67k, False: 105]
  |  |  |  Branch (113:9): [True: 105, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  7.77k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3257|  7.77k|	        ("sctp_notify_assoc_change: timeouts can only be local"));
 3258|  7.77k|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|  7.77k|	do {                         \
  |  |  113|  7.77k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 7.77k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  7.77k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3259|  7.77k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  7.77k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  7.77k|	do {                         \
  |  |  |  |  113|  7.77k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.77k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  7.77k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3260|  7.77k|	inp = stcb->sctp_ep;
 3261|  7.77k|	SCTP_INP_READ_LOCK_ASSERT(inp);
  ------------------
  |  |  356|  7.77k|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  7.77k|	do {                         \
  |  |  |  |  113|  7.77k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.77k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  7.77k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3262|       |
 3263|  7.77k|	if (sctp_stcb_is_feature_on(inp, stcb, SCTP_PCB_FLAGS_RECVASSOCEVNT)) {
  ------------------
  |  |   70|  7.77k|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (70:4): [True: 7.77k, False: 0]
  |  |  ------------------
  |  |   71|  7.77k|	  ((stcb->asoc.sctp_features & feature) == feature)) || \
  |  |  ------------------
  |  |  |  Branch (71:4): [True: 7.77k, False: 0]
  |  |  ------------------
  |  |   72|  7.77k|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (72:4): [True: 0, False: 0]
  |  |  |  Branch (72:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   73|      0|	  ((inp->sctp_features & feature) == feature)))
  |  |  ------------------
  |  |  |  Branch (73:4): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3264|  7.77k|		notif_len = (unsigned int)sizeof(struct sctp_assoc_change);
 3265|  7.77k|		if (abort != NULL) {
  ------------------
  |  Branch (3265:7): [True: 105, False: 7.67k]
  ------------------
 3266|    105|			abort_len = ntohs(abort->ch.chunk_length);
 3267|       |			/*
 3268|       |			 * Only SCTP_CHUNK_BUFFER_SIZE are guaranteed to be
 3269|       |			 * contiguous.
 3270|       |			 */
 3271|    105|			if (abort_len > SCTP_CHUNK_BUFFER_SIZE) {
  ------------------
  |  |  689|    105|#define SCTP_CHUNK_BUFFER_SIZE	512
  ------------------
  |  Branch (3271:8): [True: 9, False: 96]
  ------------------
 3272|      9|				abort_len = SCTP_CHUNK_BUFFER_SIZE;
  ------------------
  |  |  689|      9|#define SCTP_CHUNK_BUFFER_SIZE	512
  ------------------
 3273|      9|			}
 3274|  7.67k|		} else {
 3275|  7.67k|			abort_len = 0;
 3276|  7.67k|		}
 3277|  7.77k|		if ((state == SCTP_COMM_UP) || (state == SCTP_RESTART)) {
  ------------------
  |  |  327|  7.77k|#define SCTP_COMM_UP            0x0001
  ------------------
              		if ((state == SCTP_COMM_UP) || (state == SCTP_RESTART)) {
  ------------------
  |  |  329|  1.70k|#define SCTP_RESTART            0x0003
  ------------------
  |  Branch (3277:7): [True: 6.07k, False: 1.70k]
  |  Branch (3277:34): [True: 0, False: 1.70k]
  ------------------
 3278|  6.07k|			notif_len += SCTP_ASSOC_SUPPORTS_MAX;
  ------------------
  |  |  340|  6.07k|#define SCTP_ASSOC_SUPPORTS_MAX			0x06
  ------------------
 3279|  6.07k|		} else if ((state == SCTP_COMM_LOST) || (state == SCTP_CANT_STR_ASSOC)) {
  ------------------
  |  |  328|  1.70k|#define SCTP_COMM_LOST          0x0002
  ------------------
              		} else if ((state == SCTP_COMM_LOST) || (state == SCTP_CANT_STR_ASSOC)) {
  ------------------
  |  |  331|    729|#define SCTP_CANT_STR_ASSOC     0x0005
  ------------------
  |  Branch (3279:14): [True: 976, False: 729]
  |  Branch (3279:43): [True: 729, False: 0]
  ------------------
 3280|  1.70k|			notif_len += abort_len;
 3281|  1.70k|		}
 3282|  7.77k|		m_notify = sctp_get_mbuf_for_msg(notif_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  7.77k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		m_notify = sctp_get_mbuf_for_msg(notif_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  7.77k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 3283|  7.77k|		if (m_notify == NULL) {
  ------------------
  |  Branch (3283:7): [True: 0, False: 7.77k]
  ------------------
 3284|       |			/* Retry with smaller value. */
 3285|      0|			notif_len = (unsigned int)sizeof(struct sctp_assoc_change);
 3286|      0|			m_notify = sctp_get_mbuf_for_msg(notif_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              			m_notify = sctp_get_mbuf_for_msg(notif_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|      0|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 3287|      0|			if (m_notify == NULL) {
  ------------------
  |  Branch (3287:8): [True: 0, False: 0]
  ------------------
 3288|      0|				goto set_error;
 3289|      0|			}
 3290|      0|		}
 3291|  7.77k|		SCTP_BUF_NEXT(m_notify) = NULL;
  ------------------
  |  |  796|  7.77k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  7.77k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3292|  7.77k|		sac = mtod(m_notify, struct sctp_assoc_change *);
  ------------------
  |  |   96|  7.77k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  7.77k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3293|  7.77k|		memset(sac, 0, notif_len);
 3294|  7.77k|		sac->sac_type = SCTP_ASSOC_CHANGE;
  ------------------
  |  |  553|  7.77k|#define SCTP_ASSOC_CHANGE                       0x0001
  ------------------
 3295|  7.77k|		sac->sac_flags = 0;
 3296|  7.77k|		sac->sac_length = sizeof(struct sctp_assoc_change);
 3297|  7.77k|		sac->sac_state = state;
 3298|  7.77k|		sac->sac_error = error;
 3299|  7.77k|		if (state == SCTP_CANT_STR_ASSOC) {
  ------------------
  |  |  331|  7.77k|#define SCTP_CANT_STR_ASSOC     0x0005
  ------------------
  |  Branch (3299:7): [True: 729, False: 7.04k]
  ------------------
 3300|    729|			sac->sac_outbound_streams = 0;
 3301|    729|			sac->sac_inbound_streams = 0;
 3302|  7.04k|		} else {
 3303|  7.04k|			sac->sac_outbound_streams = stcb->asoc.streamoutcnt;
 3304|  7.04k|			sac->sac_inbound_streams = stcb->asoc.streamincnt;
 3305|  7.04k|		}
 3306|  7.77k|		sac->sac_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|  7.77k|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3307|  7.77k|		if (notif_len > sizeof(struct sctp_assoc_change)) {
  ------------------
  |  Branch (3307:7): [True: 6.17k, False: 1.60k]
  ------------------
 3308|  6.17k|			if ((state == SCTP_COMM_UP) || (state == SCTP_RESTART)) {
  ------------------
  |  |  327|  6.17k|#define SCTP_COMM_UP            0x0001
  ------------------
              			if ((state == SCTP_COMM_UP) || (state == SCTP_RESTART)) {
  ------------------
  |  |  329|    105|#define SCTP_RESTART            0x0003
  ------------------
  |  Branch (3308:8): [True: 6.07k, False: 105]
  |  Branch (3308:35): [True: 0, False: 105]
  ------------------
 3309|  6.07k|				i = 0;
 3310|  6.07k|				if (stcb->asoc.prsctp_supported == 1) {
  ------------------
  |  Branch (3310:9): [True: 6.06k, False: 6]
  ------------------
 3311|  6.06k|					sac->sac_info[i++] = SCTP_ASSOC_SUPPORTS_PR;
  ------------------
  |  |  334|  6.06k|#define SCTP_ASSOC_SUPPORTS_PR			0x01
  ------------------
 3312|  6.06k|				}
 3313|  6.07k|				if (stcb->asoc.auth_supported == 1) {
  ------------------
  |  Branch (3313:9): [True: 6.07k, False: 0]
  ------------------
 3314|  6.07k|					sac->sac_info[i++] = SCTP_ASSOC_SUPPORTS_AUTH;
  ------------------
  |  |  335|  6.07k|#define SCTP_ASSOC_SUPPORTS_AUTH		0x02
  ------------------
 3315|  6.07k|				}
 3316|  6.07k|				if (stcb->asoc.asconf_supported == 1) {
  ------------------
  |  Branch (3316:9): [True: 6.06k, False: 11]
  ------------------
 3317|  6.06k|					sac->sac_info[i++] = SCTP_ASSOC_SUPPORTS_ASCONF;
  ------------------
  |  |  336|  6.06k|#define SCTP_ASSOC_SUPPORTS_ASCONF		0x03
  ------------------
 3318|  6.06k|				}
 3319|  6.07k|				if (stcb->asoc.idata_supported == 1) {
  ------------------
  |  Branch (3319:9): [True: 3.07k, False: 2.99k]
  ------------------
 3320|  3.07k|					sac->sac_info[i++] = SCTP_ASSOC_SUPPORTS_INTERLEAVING;
  ------------------
  |  |  339|  3.07k|#define SCTP_ASSOC_SUPPORTS_INTERLEAVING	0x06
  ------------------
 3321|  3.07k|				}
 3322|  6.07k|				sac->sac_info[i++] = SCTP_ASSOC_SUPPORTS_MULTIBUF;
  ------------------
  |  |  337|  6.07k|#define SCTP_ASSOC_SUPPORTS_MULTIBUF		0x04
  ------------------
 3323|  6.07k|				if (stcb->asoc.reconfig_supported == 1) {
  ------------------
  |  Branch (3323:9): [True: 6.07k, False: 0]
  ------------------
 3324|  6.07k|					sac->sac_info[i++] = SCTP_ASSOC_SUPPORTS_RE_CONFIG;
  ------------------
  |  |  338|  6.07k|#define SCTP_ASSOC_SUPPORTS_RE_CONFIG		0x05
  ------------------
 3325|  6.07k|				}
 3326|  6.07k|				sac->sac_length += i;
 3327|  6.07k|			} else if ((state == SCTP_COMM_LOST) || (state == SCTP_CANT_STR_ASSOC)) {
  ------------------
  |  |  328|    105|#define SCTP_COMM_LOST          0x0002
  ------------------
              			} else if ((state == SCTP_COMM_LOST) || (state == SCTP_CANT_STR_ASSOC)) {
  ------------------
  |  |  331|     71|#define SCTP_CANT_STR_ASSOC     0x0005
  ------------------
  |  Branch (3327:15): [True: 34, False: 71]
  |  Branch (3327:44): [True: 71, False: 0]
  ------------------
 3328|    105|				memcpy(sac->sac_info, abort, abort_len);
 3329|    105|				sac->sac_length += abort_len;
 3330|    105|			}
 3331|  6.17k|		}
 3332|  7.77k|		SCTP_BUF_LEN(m_notify) = sac->sac_length;
  ------------------
  |  |  795|  7.77k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  7.77k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3333|  7.77k|		control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 3334|  7.77k|		                                 0, 0, stcb->asoc.context, 0, 0, 0,
 3335|  7.77k|		                                 m_notify);
 3336|  7.77k|		if (control != NULL) {
  ------------------
  |  Branch (3336:7): [True: 7.77k, False: 0]
  ------------------
 3337|  7.77k|			control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|  7.77k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  7.77k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3338|  7.77k|			control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|  7.77k|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|  7.77k|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 3339|       |			/* not that we need this */
 3340|  7.77k|			control->tail_mbuf = m_notify;
 3341|  7.77k|			sctp_add_to_readq(inp, stcb, control,
 3342|  7.77k|			                  &stcb->sctp_socket->so_rcv, 1,
 3343|  7.77k|			                  SCTP_READ_LOCK_HELD, so_locked);
  ------------------
  |  |   40|  7.77k|#define SCTP_READ_LOCK_HELD 1
  ------------------
 3344|  7.77k|		} else {
 3345|      0|			sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 3346|      0|		}
 3347|  7.77k|	}
 3348|       |	/*
 3349|       |	 * For 1-to-1 style sockets, we send up and error when an ABORT
 3350|       |	 * comes in.
 3351|       |	 */
 3352|  7.77k|set_error:
 3353|  7.77k|	if (((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|  7.77k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (3353:7): [True: 7.77k, False: 0]
  ------------------
 3354|  7.77k|	     (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) &&
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (3354:7): [True: 0, False: 0]
  ------------------
 3355|  7.77k|	    ((state == SCTP_COMM_LOST) || (state == SCTP_CANT_STR_ASSOC))) {
  ------------------
  |  |  328|  7.77k|#define SCTP_COMM_LOST          0x0002
  ------------------
              	    ((state == SCTP_COMM_LOST) || (state == SCTP_CANT_STR_ASSOC))) {
  ------------------
  |  |  331|  6.80k|#define SCTP_CANT_STR_ASSOC     0x0005
  ------------------
  |  Branch (3355:7): [True: 976, False: 6.80k]
  |  Branch (3355:36): [True: 729, False: 6.07k]
  ------------------
 3356|  1.70k|		SOCK_LOCK(stcb->sctp_socket);
  ------------------
  |  |  527|  1.70k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|  1.70k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  1.70k|	do {                         \
  |  |  |  |  |  |  113|  1.70k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.70k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  1.70k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3357|  1.70k|		if (from_peer) {
  ------------------
  |  Branch (3357:7): [True: 105, False: 1.60k]
  ------------------
 3358|    105|			if (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) {
  ------------------
  |  |  472|    105|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|    105|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              			if (SCTP_GET_STATE(stcb) == SCTP_STATE_COOKIE_WAIT) {
  ------------------
  |  |  457|    105|#define SCTP_STATE_COOKIE_WAIT		0x0002
  ------------------
  |  Branch (3358:8): [True: 45, False: 60]
  ------------------
 3359|     45|				SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTPUTIL, ECONNREFUSED);
 3360|     45|				stcb->sctp_socket->so_error = ECONNREFUSED;
 3361|     60|			} else {
 3362|     60|				SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTPUTIL, ECONNRESET);
 3363|     60|				stcb->sctp_socket->so_error = ECONNRESET;
 3364|     60|			}
 3365|  1.60k|		} else {
 3366|  1.60k|			if (timedout) {
  ------------------
  |  Branch (3366:8): [True: 0, False: 1.60k]
  ------------------
 3367|      0|				SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTPUTIL, ETIMEDOUT);
 3368|      0|				stcb->sctp_socket->so_error = ETIMEDOUT;
 3369|  1.60k|			} else {
 3370|  1.60k|				SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTPUTIL, ECONNABORTED);
 3371|  1.60k|				stcb->sctp_socket->so_error = ECONNABORTED;
 3372|  1.60k|			}
 3373|  1.60k|		}
 3374|  1.70k|		SOCK_UNLOCK(stcb->sctp_socket);
  ------------------
  |  |  529|  1.70k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|  1.70k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  1.70k|	do {                         \
  |  |  |  |  |  |  113|  1.70k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.70k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  1.70k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3375|  1.70k|	}
 3376|       |	/* Wake ANY sleepers */
 3377|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3378|       |	so = SCTP_INP_SO(inp);
 3379|       |	if (!so_locked) {
 3380|       |		atomic_add_int(&stcb->asoc.refcnt, 1);
 3381|       |		SCTP_TCB_UNLOCK(stcb);
 3382|       |		SCTP_SOCKET_LOCK(so, 1);
 3383|       |		SCTP_TCB_LOCK(stcb);
 3384|       |		atomic_subtract_int(&stcb->asoc.refcnt, 1);
 3385|       |		if (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET) {
 3386|       |			SCTP_SOCKET_UNLOCK(so, 1);
 3387|       |			return;
 3388|       |		}
 3389|       |	}
 3390|       |#endif
 3391|  7.77k|	if (((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|  7.77k|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (3391:7): [True: 7.77k, False: 0]
  ------------------
 3392|  7.77k|	     (inp->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) &&
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (3392:7): [True: 0, False: 0]
  ------------------
 3393|  7.77k|	    ((state == SCTP_COMM_LOST) || (state == SCTP_CANT_STR_ASSOC))) {
  ------------------
  |  |  328|  7.77k|#define SCTP_COMM_LOST          0x0002
  ------------------
              	    ((state == SCTP_COMM_LOST) || (state == SCTP_CANT_STR_ASSOC))) {
  ------------------
  |  |  331|  6.80k|#define SCTP_CANT_STR_ASSOC     0x0005
  ------------------
  |  Branch (3393:7): [True: 976, False: 6.80k]
  |  Branch (3393:36): [True: 729, False: 6.07k]
  ------------------
 3394|  1.70k|		socantrcvmore(stcb->sctp_socket);
 3395|  1.70k|	}
 3396|  7.77k|	sorwakeup(stcb->sctp_socket);
  ------------------
  |  |  519|  7.77k|#define	sorwakeup(so) do {						\
  |  |  520|  7.77k|	SOCKBUF_LOCK(&(so)->so_rcv);					\
  |  |  ------------------
  |  |  |  |  517|  7.77k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  7.77k|	do {                         \
  |  |  |  |  |  |  113|  7.77k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.77k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  7.77k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  521|  7.77k|	sorwakeup_locked(so);						\
  |  |  ------------------
  |  |  |  |  511|  7.77k|#define	sorwakeup_locked(so) do {					\
  |  |  |  |  512|  7.77k|	SOCKBUF_LOCK_ASSERT(&(so)->so_rcv);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|  7.77k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|  7.77k|	do {                         \
  |  |  |  |  |  |  |  |  113|  7.77k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.77k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|  7.77k|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  513|  7.77k|	if (sb_notify(&(so)->so_rcv))					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  499|  7.77k|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  203|  7.77k|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  204|  7.77k|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  205|  7.77k|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (499:23): [True: 7.77k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  500|  7.77k|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  206|  7.77k|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  208|  7.77k|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  209|  7.77k|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  514|  7.77k|		sowakeup((so), &(so)->so_rcv);	 			\
  |  |  |  |  515|  7.77k|	else								\
  |  |  |  |  516|  7.77k|		SOCKBUF_UNLOCK(&(so)->so_rcv);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  517|  7.77k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (517:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  522|  7.77k|} while (0)
  |  |  ------------------
  |  |  |  Branch (522:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3397|  7.77k|	sowwakeup(stcb->sctp_socket);
  ------------------
  |  |  532|  7.77k|#define	sowwakeup(so) do {						\
  |  |  533|  7.77k|	SOCKBUF_LOCK(&(so)->so_snd);					\
  |  |  ------------------
  |  |  |  |  517|  7.77k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  7.77k|	do {                         \
  |  |  |  |  |  |  113|  7.77k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.77k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  7.77k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  534|  7.77k|	sowwakeup_locked(so);						\
  |  |  ------------------
  |  |  |  |  524|  7.77k|#define	sowwakeup_locked(so) do {					\
  |  |  |  |  525|  7.77k|	SOCKBUF_LOCK_ASSERT(&(so)->so_snd);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|  7.77k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|  7.77k|	do {                         \
  |  |  |  |  |  |  |  |  113|  7.77k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.77k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|  7.77k|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  526|  7.77k|	if (sb_notify(&(so)->so_snd))					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  499|  7.77k|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  203|  7.77k|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  204|  7.77k|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  205|  7.77k|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (499:23): [True: 7.77k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  500|  7.77k|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  206|  7.77k|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  208|  7.77k|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  209|  7.77k|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  527|  7.77k|		sowakeup((so), &(so)->so_snd); 				\
  |  |  |  |  528|  7.77k|	else								\
  |  |  |  |  529|  7.77k|		SOCKBUF_UNLOCK(&(so)->so_snd);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  530|  7.77k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (530:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  535|  7.77k|} while (0)
  |  |  ------------------
  |  |  |  Branch (535:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3398|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3399|       |	if (!so_locked) {
 3400|       |		SCTP_SOCKET_UNLOCK(so, 1);
 3401|       |	}
 3402|       |#endif
 3403|  7.77k|}
sctputil.c:sctp_notify_adaptation_layer:
 3742|  6.07k|{
 3743|  6.07k|	struct mbuf *m_notify;
 3744|  6.07k|	struct sctp_adaptation_event *sai;
 3745|  6.07k|	struct sctp_queued_to_read *control;
 3746|       |
 3747|  6.07k|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|  6.07k|	do {                         \
  |  |  113|  6.07k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.07k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.07k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3748|  6.07k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|  6.07k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.07k|	do {                         \
  |  |  |  |  113|  6.07k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.07k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.07k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3749|  6.07k|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|  6.07k|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  6.07k|	do {                         \
  |  |  |  |  113|  6.07k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.07k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.07k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3750|       |
 3751|  6.07k|	if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_ADAPTATIONEVNT)) {
  ------------------
  |  |   75|  6.07k|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 6.07k, False: 0]
  |  |  ------------------
  |  |   76|  6.07k|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 6.07k]
  |  |  ------------------
  |  |   77|  6.07k|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 6.07k]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|  6.07k|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|  6.07k|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 6.07k]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3752|       |		/* event not enabled */
 3753|      0|		return;
 3754|      0|	}
 3755|       |
 3756|  6.07k|	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_adaption_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|  6.07k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_adaption_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|  6.07k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 3757|  6.07k|	if (m_notify == NULL)
  ------------------
  |  Branch (3757:6): [True: 0, False: 6.07k]
  ------------------
 3758|       |		/* no space left */
 3759|      0|		return;
 3760|  6.07k|	SCTP_BUF_LEN(m_notify) = 0;
  ------------------
  |  |  795|  6.07k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  6.07k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3761|  6.07k|	sai = mtod(m_notify, struct sctp_adaptation_event *);
  ------------------
  |  |   96|  6.07k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  6.07k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3762|  6.07k|	memset(sai, 0, sizeof(struct sctp_adaptation_event));
 3763|  6.07k|	sai->sai_type = SCTP_ADAPTATION_INDICATION;
  ------------------
  |  |  558|  6.07k|#define SCTP_ADAPTATION_INDICATION              0x0006
  ------------------
 3764|  6.07k|	sai->sai_flags = 0;
 3765|  6.07k|	sai->sai_length = sizeof(struct sctp_adaptation_event);
 3766|  6.07k|	sai->sai_adaptation_ind = stcb->asoc.peers_adaptation;
 3767|  6.07k|	sai->sai_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|  6.07k|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3768|       |
 3769|  6.07k|	SCTP_BUF_LEN(m_notify) = sizeof(struct sctp_adaptation_event);
  ------------------
  |  |  795|  6.07k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  6.07k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3770|  6.07k|	SCTP_BUF_NEXT(m_notify) = NULL;
  ------------------
  |  |  796|  6.07k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|  6.07k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3771|       |
 3772|       |	/* append to socket */
 3773|  6.07k|	control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 3774|  6.07k|	                                 0, 0, stcb->asoc.context, 0, 0, 0,
 3775|  6.07k|	                                 m_notify);
 3776|  6.07k|	if (control == NULL) {
  ------------------
  |  Branch (3776:6): [True: 0, False: 6.07k]
  ------------------
 3777|       |		/* no memory */
 3778|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 3779|      0|		return;
 3780|      0|	}
 3781|  6.07k|	control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|  6.07k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  6.07k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3782|  6.07k|	control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|  6.07k|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|  6.07k|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 3783|       |	/* not that we need this */
 3784|  6.07k|	control->tail_mbuf = m_notify;
 3785|  6.07k|	sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 3786|  6.07k|	                  &stcb->sctp_socket->so_rcv, 1,
 3787|  6.07k|	                  SCTP_READ_LOCK_HELD, so_locked);
  ------------------
  |  |   40|  6.07k|#define SCTP_READ_LOCK_HELD 1
  ------------------
 3788|  6.07k|}
sctputil.c:sctp_notify_peer_addr_change:
 3408|   127k|{
 3409|   127k|	struct mbuf *m_notify;
 3410|   127k|	struct sctp_paddr_change *spc;
 3411|   127k|	struct sctp_queued_to_read *control;
 3412|       |
 3413|   127k|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|   127k|	do {                         \
  |  |  113|   127k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 127k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   127k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3414|   127k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|   127k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   127k|	do {                         \
  |  |  |  |  113|   127k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 127k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   127k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3415|   127k|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|   127k|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   127k|	do {                         \
  |  |  |  |  113|   127k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 127k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   127k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3416|       |
 3417|   127k|	if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVPADDREVNT)) {
  ------------------
  |  |   75|   127k|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 127k, False: 0]
  |  |  ------------------
  |  |   76|   127k|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 127k]
  |  |  ------------------
  |  |   77|   127k|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 127k]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|   127k|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|   127k|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 127k]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3418|       |		/* event not enabled */
 3419|      0|		return;
 3420|      0|	}
 3421|       |
 3422|   127k|	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_paddr_change), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|   127k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_paddr_change), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|   127k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 3423|   127k|	if (m_notify == NULL)
  ------------------
  |  Branch (3423:6): [True: 0, False: 127k]
  ------------------
 3424|      0|		return;
 3425|   127k|	SCTP_BUF_LEN(m_notify) = 0;
  ------------------
  |  |  795|   127k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   127k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3426|   127k|	spc = mtod(m_notify, struct sctp_paddr_change *);
  ------------------
  |  |   96|   127k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|   127k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3427|   127k|	memset(spc, 0, sizeof(struct sctp_paddr_change));
 3428|   127k|	spc->spc_type = SCTP_PEER_ADDR_CHANGE;
  ------------------
  |  |  554|   127k|#define SCTP_PEER_ADDR_CHANGE                   0x0002
  ------------------
 3429|   127k|	spc->spc_flags = 0;
 3430|   127k|	spc->spc_length = sizeof(struct sctp_paddr_change);
 3431|   127k|	switch (sa->sa_family) {
 3432|      0|#ifdef INET
 3433|   119k|	case AF_INET:
  ------------------
  |  Branch (3433:2): [True: 119k, False: 8.02k]
  ------------------
 3434|   119k|#ifdef INET6
 3435|   119k|		if (sctp_is_feature_on(stcb->sctp_ep, SCTP_PCB_FLAGS_NEEDS_MAPPED_V4)) {
  ------------------
  |  |   52|   119k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 0, False: 119k]
  |  |  ------------------
  ------------------
 3436|      0|			in6_sin_2_v4mapsin6((struct sockaddr_in *)sa,
 3437|      0|			                    (struct sockaddr_in6 *)&spc->spc_aaddr);
 3438|   119k|		} else {
 3439|   119k|			memcpy(&spc->spc_aaddr, sa, sizeof(struct sockaddr_in));
 3440|   119k|		}
 3441|       |#else
 3442|       |		memcpy(&spc->spc_aaddr, sa, sizeof(struct sockaddr_in));
 3443|       |#endif
 3444|   119k|		break;
 3445|      0|#endif
 3446|      0|#ifdef INET6
 3447|  6.97k|	case AF_INET6:
  ------------------
  |  Branch (3447:2): [True: 6.97k, False: 120k]
  ------------------
 3448|  6.97k|	{
 3449|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 3450|       |		struct sockaddr_in6 *sin6;
 3451|       |#endif /* SCTP_EMBEDDED_V6_SCOPE */
 3452|  6.97k|		memcpy(&spc->spc_aaddr, sa, sizeof(struct sockaddr_in6));
 3453|       |
 3454|       |#ifdef SCTP_EMBEDDED_V6_SCOPE
 3455|       |		sin6 = (struct sockaddr_in6 *)&spc->spc_aaddr;
 3456|       |		if (IN6_IS_SCOPE_LINKLOCAL(&sin6->sin6_addr)) {
 3457|       |			if (sin6->sin6_scope_id == 0) {
 3458|       |				/* recover scope_id for user */
 3459|       |#ifdef SCTP_KAME
 3460|       |				(void)sa6_recoverscope(sin6);
 3461|       |#else
 3462|       |				(void)in6_recoverscope(sin6, &sin6->sin6_addr,
 3463|       |				                       NULL);
 3464|       |#endif
 3465|       |			} else {
 3466|       |				/* clear embedded scope_id for user */
 3467|       |				in6_clearscope(&sin6->sin6_addr);
 3468|       |			}
 3469|       |		}
 3470|       |#endif /* SCTP_EMBEDDED_V6_SCOPE */
 3471|  6.97k|		break;
 3472|      0|	}
 3473|      0|#endif
 3474|      0|#if defined(__Userspace__)
 3475|  1.05k|	case AF_CONN:
  ------------------
  |  | 1008|  1.05k|#define AF_CONN 123
  ------------------
  |  Branch (3475:2): [True: 1.05k, False: 126k]
  ------------------
 3476|  1.05k|		memcpy(&spc->spc_aaddr, sa, sizeof(struct sockaddr_conn));
 3477|  1.05k|		break;
 3478|      0|#endif
 3479|      0|	default:
  ------------------
  |  Branch (3479:2): [True: 0, False: 127k]
  ------------------
 3480|       |		/* TSNH */
 3481|      0|		break;
 3482|   127k|	}
 3483|   127k|	spc->spc_state = state;
 3484|   127k|	spc->spc_error = error;
 3485|   127k|	spc->spc_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|   127k|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3486|       |
 3487|   127k|	SCTP_BUF_LEN(m_notify) = sizeof(struct sctp_paddr_change);
  ------------------
  |  |  795|   127k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   127k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3488|   127k|	SCTP_BUF_NEXT(m_notify) = NULL;
  ------------------
  |  |  796|   127k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|   127k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3489|       |
 3490|       |	/* append to socket */
 3491|   127k|	control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 3492|   127k|	                                 0, 0, stcb->asoc.context, 0, 0, 0,
 3493|   127k|	                                 m_notify);
 3494|   127k|	if (control == NULL) {
  ------------------
  |  Branch (3494:6): [True: 0, False: 127k]
  ------------------
 3495|       |		/* no memory */
 3496|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 3497|      0|		return;
 3498|      0|	}
 3499|   127k|	control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|   127k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   127k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3500|   127k|	control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|   127k|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|   127k|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 3501|       |	/* not that we need this */
 3502|   127k|	control->tail_mbuf = m_notify;
 3503|   127k|	sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 3504|   127k|	                  &stcb->sctp_socket->so_rcv, 1,
 3505|   127k|	                  SCTP_READ_LOCK_HELD, so_locked);
  ------------------
  |  |   40|   127k|#define SCTP_READ_LOCK_HELD 1
  ------------------
 3506|   127k|}
sctputil.c:sctp_notify_send_failed2:
 3643|    559|{
 3644|    559|	struct mbuf *m_notify;
 3645|    559|	struct sctp_send_failed *ssf;
 3646|    559|	struct sctp_send_failed_event *ssfe;
 3647|    559|	struct sctp_queued_to_read *control;
 3648|    559|	int notifhdr_len;
 3649|       |
 3650|    559|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|    559|	do {                         \
  |  |  113|    559|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 559]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|    559|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3651|    559|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|    559|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    559|	do {                         \
  |  |  |  |  113|    559|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 559]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    559|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3652|    559|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|    559|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    559|	do {                         \
  |  |  |  |  113|    559|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 559]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    559|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3653|       |
 3654|    559|	if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVSENDFAILEVNT) &&
  ------------------
  |  |   75|  1.11k|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 559, False: 0]
  |  |  ------------------
  |  |   76|    559|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 559]
  |  |  ------------------
  |  |   77|    559|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 559]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|    559|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|  1.11k|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 559]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3655|    559|	    sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVNSENDFAILEVNT)) {
  ------------------
  |  |   75|      0|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   76|      0|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   77|      0|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 0]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|      0|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|      0|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 0]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3656|       |		/* event not enabled */
 3657|      0|		return;
 3658|      0|	}
 3659|       |
 3660|    559|	if (sctp_stcb_is_feature_on(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVNSENDFAILEVNT)) {
  ------------------
  |  |   70|    559|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (70:4): [True: 559, False: 0]
  |  |  ------------------
  |  |   71|    559|	  ((stcb->asoc.sctp_features & feature) == feature)) || \
  |  |  ------------------
  |  |  |  Branch (71:4): [True: 559, False: 0]
  |  |  ------------------
  |  |   72|    559|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (72:4): [True: 0, False: 0]
  |  |  |  Branch (72:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   73|      0|	  ((inp->sctp_features & feature) == feature)))
  |  |  ------------------
  |  |  |  Branch (73:4): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3661|    559|		notifhdr_len = sizeof(struct sctp_send_failed_event);
 3662|    559|	} else {
 3663|      0|		notifhdr_len = sizeof(struct sctp_send_failed);
 3664|      0|	}
 3665|    559|	m_notify = sctp_get_mbuf_for_msg(notifhdr_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|    559|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(notifhdr_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|    559|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 3666|    559|	if (m_notify == NULL) {
  ------------------
  |  Branch (3666:6): [True: 0, False: 559]
  ------------------
 3667|       |		/* no space left */
 3668|      0|		return;
 3669|      0|	}
 3670|    559|	SCTP_BUF_LEN(m_notify) = notifhdr_len;
  ------------------
  |  |  795|    559|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    559|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3671|    559|	if (sctp_stcb_is_feature_on(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVNSENDFAILEVNT)) {
  ------------------
  |  |   70|    559|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (70:4): [True: 559, False: 0]
  |  |  ------------------
  |  |   71|    559|	  ((stcb->asoc.sctp_features & feature) == feature)) || \
  |  |  ------------------
  |  |  |  Branch (71:4): [True: 559, False: 0]
  |  |  ------------------
  |  |   72|    559|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (72:4): [True: 0, False: 0]
  |  |  |  Branch (72:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   73|      0|	  ((inp->sctp_features & feature) == feature)))
  |  |  ------------------
  |  |  |  Branch (73:4): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3672|    559|		ssfe = mtod(m_notify, struct sctp_send_failed_event *);
  ------------------
  |  |   96|    559|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    559|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3673|    559|		memset(ssfe, 0, notifhdr_len);
 3674|    559|		ssfe->ssfe_type = SCTP_SEND_FAILED_EVENT;
  ------------------
  |  |  568|    559|#define SCTP_SEND_FAILED_EVENT                  0x000e
  ------------------
 3675|    559|		ssfe->ssfe_flags = SCTP_DATA_UNSENT;
  ------------------
  |  |  400|    559|#define SCTP_DATA_UNSENT	0x0001	/* inqueue never on wire */
  ------------------
 3676|    559|		ssfe->ssfe_length = (uint32_t)(notifhdr_len + sp->length);
 3677|    559|		ssfe->ssfe_error = error;
 3678|       |		/* not exactly what the user sent in, but should be close :) */
 3679|    559|		ssfe->ssfe_info.snd_sid = sp->sid;
 3680|    559|		if (sp->some_taken) {
  ------------------
  |  Branch (3680:7): [True: 0, False: 559]
  ------------------
 3681|      0|			ssfe->ssfe_info.snd_flags = SCTP_DATA_LAST_FRAG;
  ------------------
  |  |  515|      0|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
 3682|    559|		} else {
 3683|    559|			ssfe->ssfe_info.snd_flags = SCTP_DATA_NOT_FRAG;
  ------------------
  |  |  517|    559|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
 3684|    559|		}
 3685|    559|		ssfe->ssfe_info.snd_ppid = sp->ppid;
 3686|    559|		ssfe->ssfe_info.snd_context = sp->context;
 3687|    559|		ssfe->ssfe_info.snd_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|    559|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3688|    559|		ssfe->ssfe_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|    559|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3689|    559|	} else {
 3690|      0|		ssf = mtod(m_notify, struct sctp_send_failed *);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3691|      0|		memset(ssf, 0, notifhdr_len);
 3692|      0|		ssf->ssf_type = SCTP_SEND_FAILED;
  ------------------
  |  |  556|      0|#define SCTP_SEND_FAILED                        0x0004
  ------------------
 3693|      0|		ssf->ssf_flags = SCTP_DATA_UNSENT;
  ------------------
  |  |  400|      0|#define SCTP_DATA_UNSENT	0x0001	/* inqueue never on wire */
  ------------------
 3694|      0|		ssf->ssf_length = (uint32_t)(notifhdr_len + sp->length);
 3695|      0|		ssf->ssf_error = error;
 3696|       |		/* not exactly what the user sent in, but should be close :) */
 3697|      0|		ssf->ssf_info.sinfo_stream = sp->sid;
 3698|      0|		ssf->ssf_info.sinfo_ssn = 0;
 3699|      0|		if (sp->some_taken) {
  ------------------
  |  Branch (3699:7): [True: 0, False: 0]
  ------------------
 3700|      0|			ssf->ssf_info.sinfo_flags = SCTP_DATA_LAST_FRAG;
  ------------------
  |  |  515|      0|#define SCTP_DATA_LAST_FRAG        0x01
  ------------------
 3701|      0|		} else {
 3702|      0|			ssf->ssf_info.sinfo_flags = SCTP_DATA_NOT_FRAG;
  ------------------
  |  |  517|      0|#define SCTP_DATA_NOT_FRAG         0x03
  ------------------
 3703|      0|		}
 3704|      0|		ssf->ssf_info.sinfo_ppid = sp->ppid;
 3705|      0|		ssf->ssf_info.sinfo_context = sp->context;
 3706|      0|		ssf->ssf_info.sinfo_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|      0|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3707|      0|		ssf->ssf_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|      0|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3708|      0|	}
 3709|    559|	SCTP_BUF_NEXT(m_notify) = sp->data;
  ------------------
  |  |  796|    559|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    559|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3710|       |
 3711|       |	/* Steal off the mbuf */
 3712|    559|	sp->data = NULL;
 3713|       |	/*
 3714|       |	 * For this case, we check the actual socket buffer, since the assoc
 3715|       |	 * is going away we don't want to overfill the socket buffer for a
 3716|       |	 * non-reader
 3717|       |	 */
 3718|    559|	if (sctp_sbspace_failedmsgs(&stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) {
  ------------------
  |  |   91|    559|#define	sctp_sbspace_failedmsgs(sb) ((long) ((sctp_maxspace(sb) > SCTP_SBAVAIL(sb)) ? (sctp_maxspace(sb) - SCTP_SBAVAIL(sb)) : 0))
  |  |  ------------------
  |  |  |  |   87|    559|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|    559|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 559, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define	sctp_sbspace_failedmsgs(sb) ((long) ((sctp_maxspace(sb) > SCTP_SBAVAIL(sb)) ? (sctp_maxspace(sb) - SCTP_SBAVAIL(sb)) : 0))
  |  |  ------------------
  |  |  |  |  962|    559|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  |  |  ------------------
  |  |               #define	sctp_sbspace_failedmsgs(sb) ((long) ((sctp_maxspace(sb) > SCTP_SBAVAIL(sb)) ? (sctp_maxspace(sb) - SCTP_SBAVAIL(sb)) : 0))
  |  |  ------------------
  |  |  |  |   87|    558|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|    558|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 558, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define	sctp_sbspace_failedmsgs(sb) ((long) ((sctp_maxspace(sb) > SCTP_SBAVAIL(sb)) ? (sctp_maxspace(sb) - SCTP_SBAVAIL(sb)) : 0))
  |  |  ------------------
  |  |  |  |  962|    558|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  |  |  ------------------
  |  |  |  Branch (91:46): [True: 558, False: 1]
  |  |  ------------------
  ------------------
              	if (sctp_sbspace_failedmsgs(&stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) {
  ------------------
  |  |  795|    559|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    559|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (3718:6): [True: 5, False: 554]
  ------------------
 3719|      5|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      5|#define sctp_m_freem m_freem
  ------------------
 3720|      5|		return;
 3721|      5|	}
 3722|       |	/* append to socket */
 3723|    554|	control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 3724|    554|	                                 0, 0, stcb->asoc.context, 0, 0, 0,
 3725|    554|	                                 m_notify);
 3726|    554|	if (control == NULL) {
  ------------------
  |  Branch (3726:6): [True: 0, False: 554]
  ------------------
 3727|       |		/* no memory */
 3728|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 3729|      0|		return;
 3730|      0|	}
 3731|    554|	control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|    554|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    554|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3732|    554|	control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|    554|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|    554|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 3733|       |	/* not that we need this */
 3734|    554|	control->tail_mbuf = m_notify;
 3735|    554|	sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 3736|    554|	                  &stcb->sctp_socket->so_rcv, 1,
 3737|    554|	                  SCTP_READ_LOCK_HELD, so_locked);
  ------------------
  |  |   40|    554|#define SCTP_READ_LOCK_HELD 1
  ------------------
 3738|    554|}
sctputil.c:sctp_notify_send_failed:
 3511|    598|{
 3512|    598|	struct mbuf *m_notify;
 3513|    598|	struct sctp_send_failed *ssf;
 3514|    598|	struct sctp_send_failed_event *ssfe;
 3515|    598|	struct sctp_queued_to_read *control;
 3516|    598|	struct sctp_chunkhdr *chkhdr;
 3517|    598|	int notifhdr_len, chk_len, chkhdr_len, padding_len, payload_len;
 3518|       |
 3519|    598|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|    598|	do {                         \
  |  |  113|    598|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 598]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|    598|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3520|    598|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|    598|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    598|	do {                         \
  |  |  |  |  113|    598|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 598]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    598|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3521|    598|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|    598|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    598|	do {                         \
  |  |  |  |  113|    598|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 598]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    598|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3522|       |
 3523|    598|	if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVSENDFAILEVNT) &&
  ------------------
  |  |   75|  1.19k|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 598, False: 0]
  |  |  ------------------
  |  |   76|    598|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 598]
  |  |  ------------------
  |  |   77|    598|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 598]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|    598|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|  1.19k|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 598]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3524|    598|	    sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVNSENDFAILEVNT)) {
  ------------------
  |  |   75|      0|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   76|      0|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   77|      0|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 0]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|      0|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|      0|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 0]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3525|       |		/* event not enabled */
 3526|      0|		return;
 3527|      0|	}
 3528|       |
 3529|    598|	if (sctp_stcb_is_feature_on(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVNSENDFAILEVNT)) {
  ------------------
  |  |   70|    598|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (70:4): [True: 598, False: 0]
  |  |  ------------------
  |  |   71|    598|	  ((stcb->asoc.sctp_features & feature) == feature)) || \
  |  |  ------------------
  |  |  |  Branch (71:4): [True: 598, False: 0]
  |  |  ------------------
  |  |   72|    598|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (72:4): [True: 0, False: 0]
  |  |  |  Branch (72:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   73|      0|	  ((inp->sctp_features & feature) == feature)))
  |  |  ------------------
  |  |  |  Branch (73:4): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3530|    598|		notifhdr_len = sizeof(struct sctp_send_failed_event);
 3531|    598|	} else {
 3532|      0|		notifhdr_len = sizeof(struct sctp_send_failed);
 3533|      0|	}
 3534|    598|	m_notify = sctp_get_mbuf_for_msg(notifhdr_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|    598|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(notifhdr_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|    598|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 3535|    598|	if (m_notify == NULL)
  ------------------
  |  Branch (3535:6): [True: 0, False: 598]
  ------------------
 3536|       |		/* no space left */
 3537|      0|		return;
 3538|    598|	SCTP_BUF_LEN(m_notify) = notifhdr_len;
  ------------------
  |  |  795|    598|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    598|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3539|    598|	if (stcb->asoc.idata_supported) {
  ------------------
  |  Branch (3539:6): [True: 498, False: 100]
  ------------------
 3540|    498|		chkhdr_len = sizeof(struct sctp_idata_chunk);
 3541|    498|	} else {
 3542|    100|		chkhdr_len = sizeof(struct sctp_data_chunk);
 3543|    100|	}
 3544|       |	/* Use some defaults in case we can't access the chunk header */
 3545|    598|	if (chk->send_size >= chkhdr_len) {
  ------------------
  |  Branch (3545:6): [True: 598, False: 0]
  ------------------
 3546|    598|		payload_len = chk->send_size - chkhdr_len;
 3547|    598|	} else {
 3548|      0|		payload_len = 0;
 3549|      0|	}
 3550|    598|	padding_len = 0;
 3551|    598|	if (chk->data != NULL) {
  ------------------
  |  Branch (3551:6): [True: 598, False: 0]
  ------------------
 3552|    598|		chkhdr = mtod(chk->data, struct sctp_chunkhdr *);
  ------------------
  |  |   96|    598|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    598|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3553|    598|		if (chkhdr != NULL) {
  ------------------
  |  Branch (3553:7): [True: 598, False: 0]
  ------------------
 3554|    598|			chk_len = ntohs(chkhdr->chunk_length);
 3555|    598|			if ((chk_len >= chkhdr_len) &&
  ------------------
  |  Branch (3555:8): [True: 598, False: 0]
  ------------------
 3556|    598|			    (chk->send_size >= chk_len) &&
  ------------------
  |  Branch (3556:8): [True: 598, False: 0]
  ------------------
 3557|    598|			    (chk->send_size - chk_len < 4)) {
  ------------------
  |  Branch (3557:8): [True: 598, False: 0]
  ------------------
 3558|    598|				padding_len = chk->send_size - chk_len;
 3559|    598|				payload_len = chk->send_size - chkhdr_len - padding_len;
 3560|    598|			}
 3561|    598|		}
 3562|    598|	}
 3563|    598|	if (sctp_stcb_is_feature_on(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVNSENDFAILEVNT)) {
  ------------------
  |  |   70|    598|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (70:4): [True: 598, False: 0]
  |  |  ------------------
  |  |   71|    598|	  ((stcb->asoc.sctp_features & feature) == feature)) || \
  |  |  ------------------
  |  |  |  Branch (71:4): [True: 598, False: 0]
  |  |  ------------------
  |  |   72|    598|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (72:4): [True: 0, False: 0]
  |  |  |  Branch (72:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   73|      0|	  ((inp->sctp_features & feature) == feature)))
  |  |  ------------------
  |  |  |  Branch (73:4): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|    598|		ssfe = mtod(m_notify, struct sctp_send_failed_event *);
  ------------------
  |  |   96|    598|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    598|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3565|    598|		memset(ssfe, 0, notifhdr_len);
 3566|    598|		ssfe->ssfe_type = SCTP_SEND_FAILED_EVENT;
  ------------------
  |  |  568|    598|#define SCTP_SEND_FAILED_EVENT                  0x000e
  ------------------
 3567|    598|		if (sent) {
  ------------------
  |  Branch (3567:7): [True: 575, False: 23]
  ------------------
 3568|    575|			ssfe->ssfe_flags = SCTP_DATA_SENT;
  ------------------
  |  |  401|    575|#define SCTP_DATA_SENT		0x0002	/* on wire at failure */
  ------------------
 3569|    575|		} else {
 3570|     23|			ssfe->ssfe_flags = SCTP_DATA_UNSENT;
  ------------------
  |  |  400|     23|#define SCTP_DATA_UNSENT	0x0001	/* inqueue never on wire */
  ------------------
 3571|     23|		}
 3572|    598|		ssfe->ssfe_length = (uint32_t)(notifhdr_len + payload_len);
 3573|    598|		ssfe->ssfe_error = error;
 3574|       |		/* not exactly what the user sent in, but should be close :) */
 3575|    598|		ssfe->ssfe_info.snd_sid = chk->rec.data.sid;
 3576|    598|		ssfe->ssfe_info.snd_flags = chk->rec.data.rcv_flags;
 3577|    598|		ssfe->ssfe_info.snd_ppid = chk->rec.data.ppid;
 3578|    598|		ssfe->ssfe_info.snd_context = chk->rec.data.context;
 3579|    598|		ssfe->ssfe_info.snd_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|    598|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3580|    598|		ssfe->ssfe_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|    598|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3581|    598|	} else {
 3582|      0|		ssf = mtod(m_notify, struct sctp_send_failed *);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3583|      0|		memset(ssf, 0, notifhdr_len);
 3584|      0|		ssf->ssf_type = SCTP_SEND_FAILED;
  ------------------
  |  |  556|      0|#define SCTP_SEND_FAILED                        0x0004
  ------------------
 3585|      0|		if (sent) {
  ------------------
  |  Branch (3585:7): [True: 0, False: 0]
  ------------------
 3586|      0|			ssf->ssf_flags = SCTP_DATA_SENT;
  ------------------
  |  |  401|      0|#define SCTP_DATA_SENT		0x0002	/* on wire at failure */
  ------------------
 3587|      0|		} else {
 3588|      0|			ssf->ssf_flags = SCTP_DATA_UNSENT;
  ------------------
  |  |  400|      0|#define SCTP_DATA_UNSENT	0x0001	/* inqueue never on wire */
  ------------------
 3589|      0|		}
 3590|      0|		ssf->ssf_length = (uint32_t)(notifhdr_len + payload_len);
 3591|      0|		ssf->ssf_error = error;
 3592|       |		/* not exactly what the user sent in, but should be close :) */
 3593|      0|		ssf->ssf_info.sinfo_stream = chk->rec.data.sid;
 3594|      0|		ssf->ssf_info.sinfo_ssn = (uint16_t)chk->rec.data.mid;
 3595|      0|		ssf->ssf_info.sinfo_flags = chk->rec.data.rcv_flags;
 3596|      0|		ssf->ssf_info.sinfo_ppid = chk->rec.data.ppid;
 3597|      0|		ssf->ssf_info.sinfo_context = chk->rec.data.context;
 3598|      0|		ssf->ssf_info.sinfo_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|      0|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3599|      0|		ssf->ssf_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|      0|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3600|      0|	}
 3601|    598|	if (chk->data != NULL) {
  ------------------
  |  Branch (3601:6): [True: 598, False: 0]
  ------------------
 3602|       |		/* Trim off the sctp chunk header (it should be there) */
 3603|    598|		if (chk->send_size == chkhdr_len + payload_len + padding_len) {
  ------------------
  |  Branch (3603:7): [True: 598, False: 0]
  ------------------
 3604|    598|			m_adj(chk->data, chkhdr_len);
 3605|    598|			m_adj(chk->data, -padding_len);
 3606|    598|			sctp_mbuf_crush(chk->data);
  ------------------
  |  |  278|    598|#define sctp_mbuf_crush(data) do { \
  |  |  279|    598|	struct mbuf *_m; \
  |  |  280|    598|	_m = (data); \
  |  |  281|    598|	while (_m && (SCTP_BUF_LEN(_m) == 0)) { \
  |  |  ------------------
  |  |  |  |  795|    598|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  |  |  ------------------
  |  |  |  |  |  |  218|    598|#define	m_len		m_hdr.mh_len
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (281:9): [True: 598, False: 0]
  |  |  |  Branch (281:15): [True: 0, False: 598]
  |  |  ------------------
  |  |  282|      0|		(data)  = SCTP_BUF_NEXT(_m); \
  |  |  ------------------
  |  |  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  |  |  ------------------
  |  |  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  283|      0|		SCTP_BUF_NEXT(_m) = NULL; \
  |  |  ------------------
  |  |  |  |  796|      0|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  |  |  ------------------
  |  |  |  |  |  |  217|      0|#define	m_next		m_hdr.mh_next
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  284|      0|		sctp_m_free(_m); \
  |  |  ------------------
  |  |  |  |   51|      0|#define sctp_m_free m_free
  |  |  ------------------
  |  |  285|      0|		_m = (data); \
  |  |  286|      0|	} \
  |  |  287|    598|} while (0)
  |  |  ------------------
  |  |  |  Branch (287:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3607|    598|			chk->send_size -= (chkhdr_len + padding_len);
 3608|    598|		}
 3609|    598|	}
 3610|    598|	SCTP_BUF_NEXT(m_notify) = chk->data;
  ------------------
  |  |  796|    598|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    598|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3611|       |	/* Steal off the mbuf */
 3612|    598|	chk->data = NULL;
 3613|       |	/*
 3614|       |	 * For this case, we check the actual socket buffer, since the assoc
 3615|       |	 * is going away we don't want to overfill the socket buffer for a
 3616|       |	 * non-reader
 3617|       |	 */
 3618|    598|	if (sctp_sbspace_failedmsgs(&stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) {
  ------------------
  |  |   91|    598|#define	sctp_sbspace_failedmsgs(sb) ((long) ((sctp_maxspace(sb) > SCTP_SBAVAIL(sb)) ? (sctp_maxspace(sb) - SCTP_SBAVAIL(sb)) : 0))
  |  |  ------------------
  |  |  |  |   87|    598|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|    598|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 598, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define	sctp_sbspace_failedmsgs(sb) ((long) ((sctp_maxspace(sb) > SCTP_SBAVAIL(sb)) ? (sctp_maxspace(sb) - SCTP_SBAVAIL(sb)) : 0))
  |  |  ------------------
  |  |  |  |  962|    598|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  |  |  ------------------
  |  |               #define	sctp_sbspace_failedmsgs(sb) ((long) ((sctp_maxspace(sb) > SCTP_SBAVAIL(sb)) ? (sctp_maxspace(sb) - SCTP_SBAVAIL(sb)) : 0))
  |  |  ------------------
  |  |  |  |   87|    589|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|    589|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 589, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define	sctp_sbspace_failedmsgs(sb) ((long) ((sctp_maxspace(sb) > SCTP_SBAVAIL(sb)) ? (sctp_maxspace(sb) - SCTP_SBAVAIL(sb)) : 0))
  |  |  ------------------
  |  |  |  |  962|    589|#define SCTP_SBAVAIL(sb)	(sb)->sb_cc
  |  |  ------------------
  |  |  |  Branch (91:46): [True: 589, False: 9]
  |  |  ------------------
  ------------------
              	if (sctp_sbspace_failedmsgs(&stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) {
  ------------------
  |  |  795|    598|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    598|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (3618:6): [True: 13, False: 585]
  ------------------
 3619|     13|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|     13|#define sctp_m_freem m_freem
  ------------------
 3620|     13|		return;
 3621|     13|	}
 3622|       |	/* append to socket */
 3623|    585|	control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 3624|    585|	                                 0, 0, stcb->asoc.context, 0, 0, 0,
 3625|    585|	                                 m_notify);
 3626|    585|	if (control == NULL) {
  ------------------
  |  Branch (3626:6): [True: 0, False: 585]
  ------------------
 3627|       |		/* no memory */
 3628|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 3629|      0|		return;
 3630|      0|	}
 3631|    585|	control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|    585|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    585|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3632|    585|	control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|    585|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|    585|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 3633|       |	/* not that we need this */
 3634|    585|	control->tail_mbuf = m_notify;
 3635|    585|	sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 3636|    585|	                  &stcb->sctp_socket->so_rcv, 1,
 3637|    585|	                  SCTP_READ_LOCK_HELD, so_locked);
  ------------------
  |  |   40|    585|#define SCTP_READ_LOCK_HELD 1
  ------------------
 3638|    585|}
sctputil.c:sctp_notify_partial_delivery_indication:
 3794|    865|{
 3795|    865|	struct mbuf *m_notify;
 3796|    865|	struct sctp_pdapi_event *pdapi;
 3797|    865|	struct sctp_queued_to_read *control;
 3798|    865|	struct sockbuf *sb;
 3799|       |
 3800|    865|	KASSERT(aborted_control != NULL, ("aborted_control is NULL"));
  ------------------
  |  |  112|    865|	do {                         \
  |  |  113|    865|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 865]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|    865|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3801|    865|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|    865|	do {                         \
  |  |  113|    865|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 865]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|    865|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3802|    865|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|    865|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    865|	do {                         \
  |  |  |  |  113|    865|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 865]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    865|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3803|    865|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|    865|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    865|	do {                         \
  |  |  |  |  113|    865|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 865]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    865|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3804|       |
 3805|    865|	if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_PDAPIEVNT)) {
  ------------------
  |  |   75|    865|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 865, False: 0]
  |  |  ------------------
  |  |   76|    865|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 865]
  |  |  ------------------
  |  |   77|    865|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 865]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|    865|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|    865|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 865]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3806|       |		/* event not enabled */
 3807|      0|		return;
 3808|      0|	}
 3809|       |
 3810|    865|	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_pdapi_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|    865|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_pdapi_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|    865|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 3811|    865|	if (m_notify == NULL)
  ------------------
  |  Branch (3811:6): [True: 0, False: 865]
  ------------------
 3812|       |		/* no space left */
 3813|      0|		return;
 3814|    865|	SCTP_BUF_LEN(m_notify) = 0;
  ------------------
  |  |  795|    865|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    865|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3815|    865|	pdapi = mtod(m_notify, struct sctp_pdapi_event *);
  ------------------
  |  |   96|    865|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    865|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3816|    865|	memset(pdapi, 0, sizeof(struct sctp_pdapi_event));
 3817|    865|	pdapi->pdapi_type = SCTP_PARTIAL_DELIVERY_EVENT;
  ------------------
  |  |  561|    865|#define SCTP_PARTIAL_DELIVERY_EVENT             0x0007
  ------------------
 3818|    865|	pdapi->pdapi_flags = 0;
 3819|    865|	pdapi->pdapi_length = sizeof(struct sctp_pdapi_event);
 3820|    865|	pdapi->pdapi_indication = error;
 3821|    865|	pdapi->pdapi_stream = aborted_control->sinfo_stream;
 3822|    865|	pdapi->pdapi_seq = (uint16_t)aborted_control->mid;
 3823|    865|	pdapi->pdapi_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|    865|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3824|       |
 3825|    865|	SCTP_BUF_LEN(m_notify) = sizeof(struct sctp_pdapi_event);
  ------------------
  |  |  795|    865|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    865|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3826|    865|	SCTP_BUF_NEXT(m_notify) = NULL;
  ------------------
  |  |  796|    865|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    865|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3827|    865|	control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 3828|    865|	                                 0, 0, stcb->asoc.context, 0, 0, 0,
 3829|    865|	                                 m_notify);
 3830|    865|	if (control == NULL) {
  ------------------
  |  Branch (3830:6): [True: 0, False: 865]
  ------------------
 3831|       |		/* no memory */
 3832|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 3833|      0|		return;
 3834|      0|	}
 3835|    865|	control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|    865|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    865|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3836|    865|	control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|    865|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|    865|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 3837|       |	/* not that we need this */
 3838|    865|	control->tail_mbuf = m_notify;
 3839|    865|	sb = &stcb->sctp_socket->so_rcv;
 3840|    865|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  584|    865|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  660|    865|#define SCTP_SB_LOGGING_ENABLE				0x00010000
  ------------------
  |  Branch (3840:6): [True: 0, False: 865]
  ------------------
 3841|      0|		sctp_sblog(sb, control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBALLOC, SCTP_BUF_LEN(m_notify));
  ------------------
  |  |  157|      0|#define SCTP_LOG_SBALLOC            53
  ------------------
              		sctp_sblog(sb, control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBALLOC, SCTP_BUF_LEN(m_notify));
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (3841:18): [True: 0, False: 0]
  ------------------
 3842|      0|	}
 3843|    865|	sctp_sballoc(stcb, sb, m_notify);
  ------------------
  |  |  256|    865|#define sctp_sballoc(stcb, sb, m) { \
  |  |  257|    865|	SCTP_SB_INCR(sb, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |  963|    865|#define SCTP_SB_INCR(sb, incr)			\
  |  |  |  |  964|    865|{						\
  |  |  |  |  965|    865|	atomic_add_int(&(sb)->sb_cc, incr);	\
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|    865|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  |  |  966|    865|}
  |  |  ------------------
  |  |  258|    865|	atomic_add_int(&(sb)->sb_mbcnt, MSIZE); \
  |  |  ------------------
  |  |  |  |   94|    865|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  259|    865|	if (stcb) { \
  |  |  ------------------
  |  |  |  Branch (259:6): [True: 865, False: 0]
  |  |  ------------------
  |  |  260|    865|		atomic_add_int(&(stcb)->asoc.sb_cc, SCTP_BUF_LEN((m))); \
  |  |  ------------------
  |  |  |  |   94|    865|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  261|    865|		atomic_add_int(&(stcb)->asoc.my_rwnd_control_len, MSIZE); \
  |  |  ------------------
  |  |  |  |   94|    865|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  |  |  262|    865|	} \
  |  |  263|    865|}
  ------------------
 3844|    865|	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  584|    865|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
              	if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) {
  ------------------
  |  |  660|    865|#define SCTP_SB_LOGGING_ENABLE				0x00010000
  ------------------
  |  Branch (3844:6): [True: 0, False: 865]
  ------------------
 3845|      0|		sctp_sblog(sb, control->do_not_ref_stcb?NULL:stcb, SCTP_LOG_SBRESULT, 0);
  ------------------
  |  |  159|      0|#define SCTP_LOG_SBRESULT           55
  ------------------
  |  Branch (3845:18): [True: 0, False: 0]
  ------------------
 3846|      0|	}
 3847|    865|	control->end_added = 1;
 3848|    865|	TAILQ_INSERT_AFTER(&stcb->sctp_ep->read_queue, aborted_control, control, next);
 3849|    865|	if (stcb->sctp_ep && stcb->sctp_socket) {
  ------------------
  |  Branch (3849:6): [True: 865, False: 0]
  |  Branch (3849:23): [True: 865, False: 0]
  ------------------
 3850|       |		/* This should always be the case */
 3851|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3852|       |		struct socket *so;
 3853|       |
 3854|       |		so = SCTP_INP_SO(stcb->sctp_ep);
 3855|       |		if (!so_locked) {
 3856|       |			atomic_add_int(&stcb->asoc.refcnt, 1);
 3857|       |			SCTP_TCB_UNLOCK(stcb);
 3858|       |			SCTP_SOCKET_LOCK(so, 1);
 3859|       |			SCTP_TCB_LOCK(stcb);
 3860|       |			atomic_subtract_int(&stcb->asoc.refcnt, 1);
 3861|       |			if (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
 3862|       |				SCTP_SOCKET_UNLOCK(so, 1);
 3863|       |				return;
 3864|       |			}
 3865|       |		}
 3866|       |#endif
 3867|    865|		sctp_sorwakeup(stcb->sctp_ep, stcb->sctp_socket);
  ------------------
  |  | 1032|    865|#define sctp_sorwakeup(inp, so) \
  |  | 1033|    865|do { \
  |  | 1034|    865|	if (inp->sctp_flags & SCTP_PCB_FLAGS_DONT_WAKE) { \
  |  |  ------------------
  |  |  |  |  544|  1.73k|#define SCTP_PCB_FLAGS_DONT_WAKE	0x00800000
  |  |  ------------------
  |  |  |  Branch (1034:6): [True: 0, False: 865]
  |  |  ------------------
  |  | 1035|      0|		sctp_pcb_add_flags(inp, SCTP_PCB_FLAGS_WAKEINPUT); \
  |  |  ------------------
  |  |  |  |  546|      0|#define SCTP_PCB_FLAGS_WAKEINPUT	0x02000000
  |  |  ------------------
  |  | 1036|    865|	} else { \
  |  | 1037|    865|		sorwakeup(so); \
  |  |  ------------------
  |  |  |  |  519|    865|#define	sorwakeup(so) do {						\
  |  |  |  |  520|    865|	SOCKBUF_LOCK(&(so)->so_rcv);					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  517|    865|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|    865|	do {                         \
  |  |  |  |  |  |  |  |  113|    865|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 865]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|    865|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  521|    865|	sorwakeup_locked(so);						\
  |  |  |  |  ------------------
  |  |  |  |  |  |  511|    865|#define	sorwakeup_locked(so) do {					\
  |  |  |  |  |  |  512|    865|	SOCKBUF_LOCK_ASSERT(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  514|    865|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|    865|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|    865|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 865]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|    865|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  513|    865|	if (sb_notify(&(so)->so_rcv))					\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  499|    865|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  203|    865|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  204|    865|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  205|    865|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (499:23): [True: 865, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  500|    865|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  206|    865|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  208|    865|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  209|    865|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  514|    865|		sowakeup((so), &(so)->so_rcv);	 			\
  |  |  |  |  |  |  515|    865|	else								\
  |  |  |  |  |  |  516|    865|		SOCKBUF_UNLOCK(&(so)->so_rcv);				\
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  517|    865|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (517:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  522|    865|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (522:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1038|    865|	} \
  |  | 1039|    865|} while (0)
  |  |  ------------------
  |  |  |  Branch (1039:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3868|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3869|       |		if (!so_locked) {
 3870|       |			SCTP_SOCKET_UNLOCK(so, 1);
 3871|       |		}
 3872|       |#endif
 3873|    865|	}
 3874|    865|}
sctputil.c:sctp_notify_stream_reset:
 4118|    721|{
 4119|    721|	struct mbuf *m_notify;
 4120|    721|	struct sctp_queued_to_read *control;
 4121|    721|	struct sctp_stream_reset_event *strreset;
 4122|    721|	int len;
 4123|       |
 4124|    721|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|    721|	do {                         \
  |  |  113|    721|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 721]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|    721|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4125|    721|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|    721|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    721|	do {                         \
  |  |  |  |  113|    721|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 721]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    721|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4126|    721|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|    721|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    721|	do {                         \
  |  |  |  |  113|    721|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 721]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    721|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4127|       |
 4128|    721|	if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_STREAM_RESETEVNT)) {
  ------------------
  |  |   75|    721|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 721, False: 0]
  |  |  ------------------
  |  |   76|    721|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 721]
  |  |  ------------------
  |  |   77|    721|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 721]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|    721|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|    721|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 721]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4129|       |		/* event not enabled */
 4130|      0|		return;
 4131|      0|	}
 4132|       |
 4133|    721|	m_notify = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   51|    721|#define MCLBYTES 2048
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|    721|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|    721|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 4134|    721|	if (m_notify == NULL)
  ------------------
  |  Branch (4134:6): [True: 0, False: 721]
  ------------------
 4135|       |		/* no space left */
 4136|      0|		return;
 4137|    721|	SCTP_BUF_LEN(m_notify) = 0;
  ------------------
  |  |  795|    721|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    721|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4138|    721|	len = sizeof(struct sctp_stream_reset_event) + (number_entries * sizeof(uint16_t));
 4139|    721|	if (len > M_TRAILINGSPACE(m_notify)) {
  ------------------
  |  |  355|    721|	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  221|    721|#define	m_flags		m_hdr.mh_flags
  |  |  ------------------
  |  |               	(((m)->m_flags & M_EXT) ?					\
  |  |  ------------------
  |  |  |  |  233|    721|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  ------------------
  |  |  |  Branch (355:3): [True: 721, False: 0]
  |  |  ------------------
  |  |  356|    721|	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  326|    721|#define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|    721|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               #define	M_WRITABLE(m)	(!((m)->m_flags & M_RDONLY) &&			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  236|    721|#define	M_RDONLY	0x0008	/* associated data is marked read-only */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (326:24): [True: 721, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  327|    721|			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  221|    721|#define	m_flags		m_hdr.mh_flags
  |  |  |  |  ------------------
  |  |  |  |               			 (!(((m)->m_flags & M_EXT)) ||			\
  |  |  |  |  ------------------
  |  |  |  |  |  |  233|    721|#define	M_EXT		0x0001	/* has associated external storage */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (327:6): [True: 0, False: 721]
  |  |  |  |  ------------------
  |  |  |  |  328|    721|			 (*((m)->m_ext.ref_cnt) == 1)) )		\
  |  |  |  |  ------------------
  |  |  |  |  |  |  225|    721|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (328:5): [True: 721, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|    721|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |               	    (M_WRITABLE(m) ? (m)->m_ext.ext_buf + (m)->m_ext.ext_size	\
  |  |  ------------------
  |  |  |  |  225|    721|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  |  |  ------------------
  |  |  357|    721|		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  219|    721|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               		- ((m)->m_data + (m)->m_len) : 0) :			\
  |  |  ------------------
  |  |  |  |  218|    721|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  |  |  358|    721|	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  227|      0|#define	m_dat		M_dat.M_databuf
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  138|      0|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|      0|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	    &(m)->m_dat[MLEN] - ((m)->m_data + (m)->m_len))
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (4139:6): [True: 0, False: 721]
  ------------------
 4140|       |		/* never enough room */
 4141|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4142|      0|		return;
 4143|      0|	}
 4144|    721|	strreset = mtod(m_notify, struct sctp_stream_reset_event *);
  ------------------
  |  |   96|    721|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    721|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 4145|    721|	memset(strreset, 0, len);
 4146|    721|	strreset->strreset_type = SCTP_STREAM_RESET_EVENT;
  ------------------
  |  |  563|    721|#define SCTP_STREAM_RESET_EVENT                 0x0009
  ------------------
 4147|    721|	strreset->strreset_flags = flag;
 4148|    721|	strreset->strreset_length = len;
 4149|    721|	strreset->strreset_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|    721|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 4150|    721|	if (number_entries) {
  ------------------
  |  Branch (4150:6): [True: 300, False: 421]
  ------------------
 4151|    300|		int i;
 4152|       |
 4153|  7.50k|		for (i = 0; i < number_entries; i++) {
  ------------------
  |  Branch (4153:15): [True: 7.20k, False: 300]
  ------------------
 4154|  7.20k|			strreset->strreset_stream_list[i] = ntohs(list[i]);
 4155|  7.20k|		}
 4156|    300|	}
 4157|    721|	SCTP_BUF_LEN(m_notify) = len;
  ------------------
  |  |  795|    721|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    721|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4158|    721|	SCTP_BUF_NEXT(m_notify) = NULL;
  ------------------
  |  |  796|    721|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    721|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 4159|    721|	if (sctp_sbspace(&stcb->asoc, &stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) {
  ------------------
  |  |   89|    721|#define	sctp_sbspace(asoc, sb) ((long) ((sctp_maxspace(sb) > (asoc)->sb_cc) ? (sctp_maxspace(sb) - (asoc)->sb_cc) : 0))
  |  |  ------------------
  |  |  |  |   87|    721|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|    721|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 721, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define	sctp_sbspace(asoc, sb) ((long) ((sctp_maxspace(sb) > (asoc)->sb_cc) ? (sctp_maxspace(sb) - (asoc)->sb_cc) : 0))
  |  |  ------------------
  |  |  |  |   87|    705|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|    705|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 705, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (89:41): [True: 705, False: 16]
  |  |  ------------------
  ------------------
              	if (sctp_sbspace(&stcb->asoc, &stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) {
  ------------------
  |  |  795|    721|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    721|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (4159:6): [True: 28, False: 693]
  ------------------
 4160|       |		/* no space */
 4161|     28|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|     28|#define sctp_m_freem m_freem
  ------------------
 4162|     28|		return;
 4163|     28|	}
 4164|       |	/* append to socket */
 4165|    693|	control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 4166|    693|	                                 0, 0, stcb->asoc.context, 0, 0, 0,
 4167|    693|	                                 m_notify);
 4168|    693|	if (control == NULL) {
  ------------------
  |  Branch (4168:6): [True: 0, False: 693]
  ------------------
 4169|       |		/* no memory */
 4170|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4171|      0|		return;
 4172|      0|	}
 4173|    693|	control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|    693|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    693|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4174|    693|	control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|    693|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|    693|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 4175|       |	/* not that we need this */
 4176|    693|	control->tail_mbuf = m_notify;
 4177|    693|	sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 4178|    693|	                  &stcb->sctp_socket->so_rcv, 1,
 4179|    693|	                  SCTP_READ_LOCK_HELD, so_locked);
  ------------------
  |  |   40|    693|#define SCTP_READ_LOCK_HELD 1
  ------------------
 4180|    693|}
sctputil.c:sctp_notify_stream_reset_add:
 4003|     41|{
 4004|     41|	struct mbuf *m_notify;
 4005|     41|	struct sctp_queued_to_read *control;
 4006|     41|	struct sctp_stream_change_event *stradd;
 4007|       |
 4008|     41|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|     41|	do {                         \
  |  |  113|     41|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 41]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|     41|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4009|     41|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|     41|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     41|	do {                         \
  |  |  |  |  113|     41|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 41]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     41|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4010|     41|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|     41|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     41|	do {                         \
  |  |  |  |  113|     41|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 41]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     41|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4011|       |
 4012|     41|	if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_STREAM_CHANGEEVNT)) {
  ------------------
  |  |   75|     41|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 41, False: 0]
  |  |  ------------------
  |  |   76|     41|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 41]
  |  |  ------------------
  |  |   77|     41|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 41]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|     41|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|     41|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 41]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4013|       |		/* event not enabled */
 4014|      0|		return;
 4015|      0|	}
 4016|       |
 4017|     41|	if ((stcb->asoc.peer_req_out) && flag) {
  ------------------
  |  Branch (4017:6): [True: 1, False: 40]
  |  Branch (4017:35): [True: 0, False: 1]
  ------------------
 4018|       |		/* Peer made the request, don't tell the local user */
 4019|      0|		stcb->asoc.peer_req_out = 0;
 4020|      0|		return;
 4021|      0|	}
 4022|     41|	stcb->asoc.peer_req_out = 0;
 4023|     41|	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_stream_change_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|     41|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_stream_change_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|     41|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 4024|     41|	if (m_notify == NULL)
  ------------------
  |  Branch (4024:6): [True: 0, False: 41]
  ------------------
 4025|       |		/* no space left */
 4026|      0|		return;
 4027|     41|	SCTP_BUF_LEN(m_notify) = 0;
  ------------------
  |  |  795|     41|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     41|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4028|     41|	stradd = mtod(m_notify, struct sctp_stream_change_event *);
  ------------------
  |  |   96|     41|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|     41|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 4029|     41|	memset(stradd, 0, sizeof(struct sctp_stream_change_event));
 4030|     41|	stradd->strchange_type = SCTP_STREAM_CHANGE_EVENT;
  ------------------
  |  |  567|     41|#define SCTP_STREAM_CHANGE_EVENT                0x000d
  ------------------
 4031|     41|	stradd->strchange_flags = flag;
 4032|     41|	stradd->strchange_length = sizeof(struct sctp_stream_change_event);
 4033|     41|	stradd->strchange_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|     41|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 4034|     41|	stradd->strchange_instrms = stcb->asoc.streamincnt;
 4035|     41|	stradd->strchange_outstrms = stcb->asoc.streamoutcnt;
 4036|     41|	SCTP_BUF_LEN(m_notify) = sizeof(struct sctp_stream_change_event);
  ------------------
  |  |  795|     41|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     41|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4037|     41|	SCTP_BUF_NEXT(m_notify) = NULL;
  ------------------
  |  |  796|     41|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|     41|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 4038|     41|	if (sctp_sbspace(&stcb->asoc, &stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) {
  ------------------
  |  |   89|     41|#define	sctp_sbspace(asoc, sb) ((long) ((sctp_maxspace(sb) > (asoc)->sb_cc) ? (sctp_maxspace(sb) - (asoc)->sb_cc) : 0))
  |  |  ------------------
  |  |  |  |   87|     41|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|     41|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 41, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define	sctp_sbspace(asoc, sb) ((long) ((sctp_maxspace(sb) > (asoc)->sb_cc) ? (sctp_maxspace(sb) - (asoc)->sb_cc) : 0))
  |  |  ------------------
  |  |  |  |   87|     38|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|     38|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 38, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (89:41): [True: 38, False: 3]
  |  |  ------------------
  ------------------
              	if (sctp_sbspace(&stcb->asoc, &stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) {
  ------------------
  |  |  795|     41|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     41|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (4038:6): [True: 7, False: 34]
  ------------------
 4039|       |		/* no space */
 4040|      7|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      7|#define sctp_m_freem m_freem
  ------------------
 4041|      7|		return;
 4042|      7|	}
 4043|       |	/* append to socket */
 4044|     34|	control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 4045|     34|	                                 0, 0, stcb->asoc.context, 0, 0, 0,
 4046|     34|	                                 m_notify);
 4047|     34|	if (control == NULL) {
  ------------------
  |  Branch (4047:6): [True: 0, False: 34]
  ------------------
 4048|       |		/* no memory */
 4049|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4050|      0|		return;
 4051|      0|	}
 4052|     34|	control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|     34|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     34|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4053|     34|	control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|     34|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|     34|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 4054|       |	/* not that we need this */
 4055|     34|	control->tail_mbuf = m_notify;
 4056|     34|	sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 4057|     34|	                  &stcb->sctp_socket->so_rcv, 1,
 4058|     34|	                  SCTP_READ_LOCK_HELD, so_locked);
  ------------------
  |  |   40|     34|#define SCTP_READ_LOCK_HELD 1
  ------------------
 4059|     34|}
sctputil.c:sctp_notify_stream_reset_tsn:
 4063|     97|{
 4064|     97|	struct mbuf *m_notify;
 4065|     97|	struct sctp_queued_to_read *control;
 4066|     97|	struct sctp_assoc_reset_event *strasoc;
 4067|       |
 4068|     97|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|     97|	do {                         \
  |  |  113|     97|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 97]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|     97|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4069|     97|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|     97|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     97|	do {                         \
  |  |  |  |  113|     97|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 97]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     97|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4070|     97|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|     97|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|     97|	do {                         \
  |  |  |  |  113|     97|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 97]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|     97|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4071|       |
 4072|     97|	if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_ASSOC_RESETEVNT)) {
  ------------------
  |  |   75|     97|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 97, False: 0]
  |  |  ------------------
  |  |   76|     97|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 97]
  |  |  ------------------
  |  |   77|     97|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 97]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|     97|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|     97|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 97]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4073|       |		/* event not enabled */
 4074|      0|		return;
 4075|      0|	}
 4076|       |
 4077|     97|	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_assoc_reset_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|     97|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_assoc_reset_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|     97|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 4078|     97|	if (m_notify == NULL)
  ------------------
  |  Branch (4078:6): [True: 0, False: 97]
  ------------------
 4079|       |		/* no space left */
 4080|      0|		return;
 4081|     97|	SCTP_BUF_LEN(m_notify) = 0;
  ------------------
  |  |  795|     97|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     97|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4082|     97|	strasoc = mtod(m_notify, struct sctp_assoc_reset_event  *);
  ------------------
  |  |   96|     97|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|     97|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 4083|     97|	memset(strasoc, 0, sizeof(struct sctp_assoc_reset_event));
 4084|     97|	strasoc->assocreset_type = SCTP_ASSOC_RESET_EVENT;
  ------------------
  |  |  566|     97|#define SCTP_ASSOC_RESET_EVENT                  0x000c
  ------------------
 4085|     97|	strasoc->assocreset_flags = flag;
 4086|     97|	strasoc->assocreset_length = sizeof(struct sctp_assoc_reset_event);
 4087|     97|	strasoc->assocreset_assoc_id= sctp_get_associd(stcb);
  ------------------
  |  |   60|     97|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 4088|     97|	strasoc->assocreset_local_tsn = stcb->asoc.sending_seq;
 4089|     97|	strasoc->assocreset_remote_tsn = stcb->asoc.mapping_array_base_tsn + 1;
 4090|     97|	SCTP_BUF_LEN(m_notify) = sizeof(struct sctp_assoc_reset_event);
  ------------------
  |  |  795|     97|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     97|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4091|     97|	SCTP_BUF_NEXT(m_notify) = NULL;
  ------------------
  |  |  796|     97|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|     97|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 4092|     97|	if (sctp_sbspace(&stcb->asoc, &stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) {
  ------------------
  |  |   89|     97|#define	sctp_sbspace(asoc, sb) ((long) ((sctp_maxspace(sb) > (asoc)->sb_cc) ? (sctp_maxspace(sb) - (asoc)->sb_cc) : 0))
  |  |  ------------------
  |  |  |  |   87|     97|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|     97|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 97, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define	sctp_sbspace(asoc, sb) ((long) ((sctp_maxspace(sb) > (asoc)->sb_cc) ? (sctp_maxspace(sb) - (asoc)->sb_cc) : 0))
  |  |  ------------------
  |  |  |  |   87|     90|#define sctp_maxspace(sb) (max((sb)->sb_hiwat,SCTP_MINIMAL_RWND))
  |  |  |  |  ------------------
  |  |  |  |  |  |   67|     90|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (67:19): [True: 90, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (89:41): [True: 90, False: 7]
  |  |  ------------------
  ------------------
              	if (sctp_sbspace(&stcb->asoc, &stcb->sctp_socket->so_rcv) < SCTP_BUF_LEN(m_notify)) {
  ------------------
  |  |  795|     97|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     97|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (4092:6): [True: 20, False: 77]
  ------------------
 4093|       |		/* no space */
 4094|     20|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|     20|#define sctp_m_freem m_freem
  ------------------
 4095|     20|		return;
 4096|     20|	}
 4097|       |	/* append to socket */
 4098|     77|	control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 4099|     77|	                                 0, 0, stcb->asoc.context, 0, 0, 0,
 4100|     77|	                                 m_notify);
 4101|     77|	if (control == NULL) {
  ------------------
  |  Branch (4101:6): [True: 0, False: 77]
  ------------------
 4102|       |		/* no memory */
 4103|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4104|      0|		return;
 4105|      0|	}
 4106|     77|	control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|     77|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|     77|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4107|     77|	control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|     77|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|     77|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 4108|       |	/* not that we need this */
 4109|     77|	control->tail_mbuf = m_notify;
 4110|     77|	sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 4111|     77|	                  &stcb->sctp_socket->so_rcv, 1,
 4112|     77|	                  SCTP_READ_LOCK_HELD, so_locked);
  ------------------
  |  |   40|     77|#define SCTP_READ_LOCK_HELD 1
  ------------------
 4113|     77|}
sctputil.c:sctp_notify_shutdown_event:
 3878|    108|{
 3879|    108|	struct mbuf *m_notify;
 3880|    108|	struct sctp_shutdown_event *sse;
 3881|    108|	struct sctp_queued_to_read *control;
 3882|       |
 3883|    108|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|    108|	do {                         \
  |  |  113|    108|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 108]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|    108|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3884|    108|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|    108|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    108|	do {                         \
  |  |  |  |  113|    108|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 108]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    108|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3885|    108|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|    108|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    108|	do {                         \
  |  |  |  |  113|    108|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 108]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    108|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3886|       |
 3887|       |	/*
 3888|       |	 * For TCP model AND UDP connected sockets we will send an error up
 3889|       |	 * when an SHUTDOWN completes
 3890|       |	 */
 3891|    108|	if ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
  ------------------
  |  |  532|    108|#define SCTP_PCB_FLAGS_TCPTYPE		0x00000002
  ------------------
  |  Branch (3891:6): [True: 108, False: 0]
  ------------------
 3892|    108|	    (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) {
  ------------------
  |  |  543|      0|#define SCTP_PCB_FLAGS_IN_TCPPOOL	0x00400000
  ------------------
  |  Branch (3892:6): [True: 0, False: 0]
  ------------------
 3893|       |		/* mark socket closed for read/write and wakeup! */
 3894|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3895|       |		struct socket *so;
 3896|       |
 3897|       |		so = SCTP_INP_SO(stcb->sctp_ep);
 3898|       |		atomic_add_int(&stcb->asoc.refcnt, 1);
 3899|       |		SCTP_TCB_UNLOCK(stcb);
 3900|       |		SCTP_SOCKET_LOCK(so, 1);
 3901|       |		SCTP_TCB_LOCK(stcb);
 3902|       |		atomic_subtract_int(&stcb->asoc.refcnt, 1);
 3903|       |		if (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET) {
 3904|       |			SCTP_SOCKET_UNLOCK(so, 1);
 3905|       |			return;
 3906|       |		}
 3907|       |#endif
 3908|    108|		socantsendmore(stcb->sctp_socket);
 3909|       |#if defined(__APPLE__) && !defined(__Userspace__)
 3910|       |		SCTP_SOCKET_UNLOCK(so, 1);
 3911|       |#endif
 3912|    108|	}
 3913|       |
 3914|    108|	if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVSHUTDOWNEVNT)) {
  ------------------
  |  |   75|    108|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 108, False: 0]
  |  |  ------------------
  |  |   76|    108|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 108]
  |  |  ------------------
  |  |   77|    108|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 108]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|    108|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|    108|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 108]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3915|       |		/* event not enabled */
 3916|      0|		return;
 3917|      0|	}
 3918|       |
 3919|    108|	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_shutdown_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|    108|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_shutdown_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|    108|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 3920|    108|	if (m_notify == NULL)
  ------------------
  |  Branch (3920:6): [True: 0, False: 108]
  ------------------
 3921|       |		/* no space left */
 3922|      0|		return;
 3923|    108|	sse = mtod(m_notify, struct sctp_shutdown_event *);
  ------------------
  |  |   96|    108|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    108|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3924|    108|	memset(sse, 0, sizeof(struct sctp_shutdown_event));
 3925|    108|	sse->sse_type = SCTP_SHUTDOWN_EVENT;
  ------------------
  |  |  557|    108|#define SCTP_SHUTDOWN_EVENT                     0x0005
  ------------------
 3926|    108|	sse->sse_flags = 0;
 3927|    108|	sse->sse_length = sizeof(struct sctp_shutdown_event);
 3928|    108|	sse->sse_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|    108|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3929|       |
 3930|    108|	SCTP_BUF_LEN(m_notify) = sizeof(struct sctp_shutdown_event);
  ------------------
  |  |  795|    108|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    108|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3931|    108|	SCTP_BUF_NEXT(m_notify) = NULL;
  ------------------
  |  |  796|    108|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    108|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3932|       |
 3933|       |	/* append to socket */
 3934|    108|	control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 3935|    108|	                                 0, 0, stcb->asoc.context, 0, 0, 0,
 3936|    108|	                                 m_notify);
 3937|    108|	if (control == NULL) {
  ------------------
  |  Branch (3937:6): [True: 0, False: 108]
  ------------------
 3938|       |		/* no memory */
 3939|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 3940|      0|		return;
 3941|      0|	}
 3942|    108|	control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|    108|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    108|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3943|    108|	control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|    108|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|    108|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 3944|       |	/* not that we need this */
 3945|    108|	control->tail_mbuf = m_notify;
 3946|    108|	sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 3947|    108|	                  &stcb->sctp_socket->so_rcv, 1,
 3948|    108|	                  SCTP_READ_LOCK_HELD, so_locked);
  ------------------
  |  |   40|    108|#define SCTP_READ_LOCK_HELD 1
  ------------------
 3949|    108|}
sctputil.c:sctp_notify_sender_dry_event:
 3953|    287|{
 3954|    287|	struct mbuf *m_notify;
 3955|    287|	struct sctp_sender_dry_event *event;
 3956|    287|	struct sctp_queued_to_read *control;
 3957|       |
 3958|    287|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|    287|	do {                         \
  |  |  113|    287|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 287]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|    287|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3959|    287|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|    287|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    287|	do {                         \
  |  |  |  |  113|    287|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 287]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    287|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3960|    287|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|    287|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|    287|	do {                         \
  |  |  |  |  113|    287|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 287]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|    287|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3961|       |
 3962|    287|	if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_DRYEVNT)) {
  ------------------
  |  |   75|    287|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 287, False: 0]
  |  |  ------------------
  |  |   76|    287|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 287]
  |  |  ------------------
  |  |   77|    287|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 287]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|    287|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|    287|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 287]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3963|       |		/* event not enabled */
 3964|      0|		return;
 3965|      0|	}
 3966|       |
 3967|    287|	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_sender_dry_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|    287|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_sender_dry_event), 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|    287|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 3968|    287|	if (m_notify == NULL) {
  ------------------
  |  Branch (3968:6): [True: 0, False: 287]
  ------------------
 3969|       |		/* no space left */
 3970|      0|		return;
 3971|      0|	}
 3972|    287|	SCTP_BUF_LEN(m_notify) = 0;
  ------------------
  |  |  795|    287|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    287|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3973|    287|	event = mtod(m_notify, struct sctp_sender_dry_event *);
  ------------------
  |  |   96|    287|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|    287|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3974|    287|	memset(event, 0, sizeof(struct sctp_sender_dry_event));
 3975|    287|	event->sender_dry_type = SCTP_SENDER_DRY_EVENT;
  ------------------
  |  |  564|    287|#define SCTP_SENDER_DRY_EVENT                   0x000a
  ------------------
 3976|    287|	event->sender_dry_flags = 0;
 3977|    287|	event->sender_dry_length = sizeof(struct sctp_sender_dry_event);
 3978|    287|	event->sender_dry_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|    287|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 3979|       |
 3980|    287|	SCTP_BUF_LEN(m_notify) = sizeof(struct sctp_sender_dry_event);
  ------------------
  |  |  795|    287|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    287|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3981|    287|	SCTP_BUF_NEXT(m_notify) = NULL;
  ------------------
  |  |  796|    287|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|    287|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 3982|       |
 3983|       |	/* append to socket */
 3984|    287|	control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 3985|    287|	                                 0, 0, stcb->asoc.context, 0, 0, 0,
 3986|    287|	                                 m_notify);
 3987|    287|	if (control == NULL) {
  ------------------
  |  Branch (3987:6): [True: 0, False: 287]
  ------------------
 3988|       |		/* no memory */
 3989|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 3990|      0|		return;
 3991|      0|	}
 3992|    287|	control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|    287|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|    287|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 3993|    287|	control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|    287|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|    287|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 3994|       |	/* not that we need this */
 3995|    287|	control->tail_mbuf = m_notify;
 3996|    287|	sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 3997|    287|	                  &stcb->sctp_socket->so_rcv, 1,
 3998|    287|	                  SCTP_READ_LOCK_HELD, so_locked);
  ------------------
  |  |   40|    287|#define SCTP_READ_LOCK_HELD 1
  ------------------
 3999|    287|}
sctputil.c:sctp_notify_remote_error:
 4185|   328k|{
 4186|   328k|	struct mbuf *m_notify;
 4187|   328k|	struct sctp_remote_error *sre;
 4188|   328k|	struct sctp_queued_to_read *control;
 4189|   328k|	unsigned int notif_len;
 4190|   328k|	uint16_t chunk_len;
 4191|       |
 4192|   328k|	KASSERT(stcb != NULL, ("stcb == NULL"));
  ------------------
  |  |  112|   328k|	do {                         \
  |  |  113|   328k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 328k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   328k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4193|   328k|	SCTP_TCB_LOCK_ASSERT(stcb);
  ------------------
  |  |  484|   328k|	KASSERT(pthread_mutex_trylock(&(_tcb)->tcb_mtx) == EBUSY, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   328k|	do {                         \
  |  |  |  |  113|   328k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 328k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   328k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4194|   328k|	SCTP_INP_READ_LOCK_ASSERT(stcb->sctp_ep);
  ------------------
  |  |  356|   328k|	KASSERT(pthread_mutex_trylock(&(_inp)->inp_rdata_mtx) == EBUSY, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   328k|	do {                         \
  |  |  |  |  113|   328k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 328k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   328k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4195|       |
 4196|   328k|	if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_RECVPEERERR)) {
  ------------------
  |  |   75|   328k|	(((stcb != NULL) && \
  |  |  ------------------
  |  |  |  Branch (75:4): [True: 328k, False: 0]
  |  |  ------------------
  |  |   76|   328k|	  ((stcb->asoc.sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (76:4): [True: 0, False: 328k]
  |  |  ------------------
  |  |   77|   328k|	 ((stcb == NULL) && (inp != NULL) && \
  |  |  ------------------
  |  |  |  Branch (77:4): [True: 0, False: 328k]
  |  |  |  Branch (77:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   78|   328k|	  ((inp->sctp_features & feature) == 0)) || \
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 0]
  |  |  ------------------
  |  |   79|   328k|	 ((stcb == NULL) && (inp == NULL)))
  |  |  ------------------
  |  |  |  Branch (79:4): [True: 0, False: 328k]
  |  |  |  Branch (79:22): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 4197|      0|		return;
 4198|      0|	}
 4199|       |
 4200|   328k|	if (chunk != NULL) {
  ------------------
  |  Branch (4200:6): [True: 328k, False: 0]
  ------------------
 4201|   328k|		chunk_len = ntohs(chunk->ch.chunk_length);
 4202|       |		/*
 4203|       |		 * Only SCTP_CHUNK_BUFFER_SIZE are guaranteed to be
 4204|       |		 * contiguous.
 4205|       |		 */
 4206|   328k|		if (chunk_len > SCTP_CHUNK_BUFFER_SIZE) {
  ------------------
  |  |  689|   328k|#define SCTP_CHUNK_BUFFER_SIZE	512
  ------------------
  |  Branch (4206:7): [True: 137, False: 328k]
  ------------------
 4207|    137|			chunk_len = SCTP_CHUNK_BUFFER_SIZE;
  ------------------
  |  |  689|    137|#define SCTP_CHUNK_BUFFER_SIZE	512
  ------------------
 4208|    137|		}
 4209|   328k|	} else {
 4210|      0|		chunk_len = 0;
 4211|      0|	}
 4212|   328k|	notif_len = (unsigned int)(sizeof(struct sctp_remote_error) + chunk_len);
 4213|   328k|	m_notify = sctp_get_mbuf_for_msg(notif_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|   328k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	m_notify = sctp_get_mbuf_for_msg(notif_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|   328k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 4214|   328k|	if (m_notify == NULL) {
  ------------------
  |  Branch (4214:6): [True: 0, False: 328k]
  ------------------
 4215|       |		/* Retry with smaller value. */
 4216|      0|		notif_len = (unsigned int)sizeof(struct sctp_remote_error);
 4217|      0|		m_notify = sctp_get_mbuf_for_msg(notif_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              		m_notify = sctp_get_mbuf_for_msg(notif_len, 0, M_NOWAIT, 1, MT_DATA);
  ------------------
  |  |  287|      0|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
 4218|      0|		if (m_notify == NULL) {
  ------------------
  |  Branch (4218:7): [True: 0, False: 0]
  ------------------
 4219|      0|			return;
 4220|      0|		}
 4221|      0|	}
 4222|   328k|	SCTP_BUF_NEXT(m_notify) = NULL;
  ------------------
  |  |  796|   328k|#define SCTP_BUF_NEXT(m) (m->m_next)
  |  |  ------------------
  |  |  |  |  217|   328k|#define	m_next		m_hdr.mh_next
  |  |  ------------------
  ------------------
 4223|   328k|	sre = mtod(m_notify, struct sctp_remote_error *);
  ------------------
  |  |   96|   328k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|   328k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 4224|   328k|	memset(sre, 0, notif_len);
 4225|   328k|	sre->sre_type = SCTP_REMOTE_ERROR;
  ------------------
  |  |  555|   328k|#define SCTP_REMOTE_ERROR                       0x0003
  ------------------
 4226|   328k|	sre->sre_flags = 0;
 4227|   328k|	sre->sre_length = sizeof(struct sctp_remote_error);
 4228|   328k|	sre->sre_error = error;
 4229|   328k|	sre->sre_assoc_id = sctp_get_associd(stcb);
  ------------------
  |  |   60|   328k|#define sctp_get_associd(stcb) ((sctp_assoc_t)stcb->asoc.assoc_id)
  ------------------
 4230|   328k|	if (notif_len > sizeof(struct sctp_remote_error)) {
  ------------------
  |  Branch (4230:6): [True: 328k, False: 0]
  ------------------
 4231|   328k|		memcpy(sre->sre_data, chunk, chunk_len);
 4232|   328k|		sre->sre_length += chunk_len;
 4233|   328k|	}
 4234|   328k|	SCTP_BUF_LEN(m_notify) = sre->sre_length;
  ------------------
  |  |  795|   328k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   328k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4235|   328k|	control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination,
 4236|   328k|	                                 0, 0, stcb->asoc.context, 0, 0, 0,
 4237|   328k|	                                 m_notify);
 4238|   328k|	if (control != NULL) {
  ------------------
  |  Branch (4238:6): [True: 328k, False: 0]
  ------------------
 4239|   328k|		control->length = SCTP_BUF_LEN(m_notify);
  ------------------
  |  |  795|   328k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|   328k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
 4240|   328k|		control->spec_flags = M_NOTIFICATION;
  ------------------
  |  | 1031|   328k|#define	M_NOTIFICATION		M_PROTO5	/* SCTP notification */
  |  |  ------------------
  |  |  |  |  241|   328k|#define	M_PROTO5	0x0100	/* protocol-specific */
  |  |  ------------------
  ------------------
 4241|       |		/* not that we need this */
 4242|   328k|		control->tail_mbuf = m_notify;
 4243|   328k|		sctp_add_to_readq(stcb->sctp_ep, stcb, control,
 4244|   328k|		                  &stcb->sctp_socket->so_rcv, 1,
 4245|   328k|		                  SCTP_READ_LOCK_HELD, so_locked);
  ------------------
  |  |   40|   328k|#define SCTP_READ_LOCK_HELD 1
  ------------------
 4246|   328k|	} else {
 4247|      0|		sctp_m_freem(m_notify);
  ------------------
  |  |   52|      0|#define sctp_m_freem m_freem
  ------------------
 4248|      0|	}
 4249|   328k|}
sctputil.c:sctp_user_rcvd:
 5985|  12.9k|{
 5986|       |	/* User pulled some data, do we need a rwnd update? */
 5987|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 5988|       |	struct epoch_tracker et;
 5989|       |#endif
 5990|  12.9k|	int r_unlocked = 0;
 5991|  12.9k|	uint32_t dif, rwnd;
 5992|  12.9k|	struct socket *so = NULL;
 5993|       |
 5994|  12.9k|	if (stcb == NULL)
  ------------------
  |  Branch (5994:6): [True: 0, False: 12.9k]
  ------------------
 5995|      0|		return;
 5996|       |
 5997|  12.9k|	atomic_add_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   94|  12.9k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 5998|       |
 5999|  12.9k|	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_ACK_SENT) ||
  ------------------
  |  |  472|  12.9k|	((_stcb)->asoc.state & SCTP_STATE_MASK)
  |  |  ------------------
  |  |  |  |  469|  12.9k|#define SCTP_STATE_MASK			0x007f
  |  |  ------------------
  ------------------
              	if ((SCTP_GET_STATE(stcb) == SCTP_STATE_SHUTDOWN_ACK_SENT) ||
  ------------------
  |  |  462|  12.9k|#define SCTP_STATE_SHUTDOWN_ACK_SENT	0x0040
  ------------------
  |  Branch (5999:6): [True: 5.76k, False: 7.18k]
  ------------------
 6000|  12.9k|	    (stcb->asoc.state & (SCTP_STATE_ABOUT_TO_BE_FREED | SCTP_STATE_SHUTDOWN_RECEIVED))) {
  ------------------
  |  |  465|  7.18k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
              	    (stcb->asoc.state & (SCTP_STATE_ABOUT_TO_BE_FREED | SCTP_STATE_SHUTDOWN_RECEIVED))) {
  ------------------
  |  |  461|  7.18k|#define SCTP_STATE_SHUTDOWN_RECEIVED	0x0020
  ------------------
  |  Branch (6000:6): [True: 1.21k, False: 5.96k]
  ------------------
 6001|       |		/* Pre-check If we are freeing no update */
 6002|  6.98k|		goto no_lock;
 6003|  6.98k|	}
 6004|  5.96k|	SCTP_INP_INCR_REF(stcb->sctp_ep);
  ------------------
  |  |  411|  5.96k|#define SCTP_INP_INCR_REF(_inp) atomic_add_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   94|  5.96k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  ------------------
  ------------------
 6005|  5.96k|	if ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) ||
  ------------------
  |  |  549|  5.96k|#define SCTP_PCB_FLAGS_SOCKET_GONE	0x10000000
  ------------------
  |  Branch (6005:6): [True: 0, False: 5.96k]
  ------------------
 6006|  5.96k|	    (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE)) {
  ------------------
  |  |  550|  5.96k|#define SCTP_PCB_FLAGS_SOCKET_ALLGONE	0x20000000
  ------------------
  |  Branch (6006:6): [True: 0, False: 5.96k]
  ------------------
 6007|      0|		goto out;
 6008|      0|	}
 6009|  5.96k|	so = stcb->sctp_socket;
 6010|  5.96k|	if (so == NULL) {
  ------------------
  |  Branch (6010:6): [True: 0, False: 5.96k]
  ------------------
 6011|      0|		goto out;
 6012|      0|	}
 6013|  5.96k|	atomic_add_int(&stcb->freed_by_sorcv_sincelast, *freed_so_far);
  ------------------
  |  |   94|  5.96k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 6014|       |	/* Have you have freed enough to look */
 6015|  5.96k|	*freed_so_far = 0;
 6016|       |	/* Yep, its worth a look and the lock overhead */
 6017|       |
 6018|       |	/* Figure out what the rwnd would be */
 6019|  5.96k|	rwnd = sctp_calc_rwnd(stcb, &stcb->asoc);
 6020|  5.96k|	if (rwnd >= stcb->asoc.my_last_reported_rwnd) {
  ------------------
  |  Branch (6020:6): [True: 4.80k, False: 1.15k]
  ------------------
 6021|  4.80k|		dif = rwnd - stcb->asoc.my_last_reported_rwnd;
 6022|  4.80k|	} else {
 6023|  1.15k|		dif = 0;
 6024|  1.15k|	}
 6025|  5.96k|	if (dif >= rwnd_req) {
  ------------------
  |  Branch (6025:6): [True: 1.36k, False: 4.60k]
  ------------------
 6026|  1.36k|		if (hold_rlock) {
  ------------------
  |  Branch (6026:7): [True: 1.36k, False: 4]
  ------------------
 6027|  1.36k|			SCTP_INP_READ_UNLOCK(stcb->sctp_ep);
  ------------------
  |  |  348|  1.36k|	KASSERT(pthread_mutex_unlock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.36k|	do {                         \
  |  |  |  |  113|  1.36k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.36k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.36k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6028|  1.36k|			r_unlocked = 1;
 6029|  1.36k|		}
 6030|  1.36k|		if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|  1.36k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (6030:7): [True: 0, False: 1.36k]
  ------------------
 6031|       |			/*
 6032|       |			 * One last check before we allow the guy possibly
 6033|       |			 * to get in. There is a race, where the guy has not
 6034|       |			 * reached the gate. In that case
 6035|       |			 */
 6036|      0|			goto out;
 6037|      0|		}
 6038|  1.36k|		SCTP_TCB_LOCK(stcb);
  ------------------
  |  |  466|  1.36k|	KASSERT(pthread_mutex_lock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.36k|	do {                         \
  |  |  |  |  113|  1.36k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.36k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.36k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6039|  1.36k|		if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
  ------------------
  |  |  465|  1.36k|#define SCTP_STATE_ABOUT_TO_BE_FREED    0x0200
  ------------------
  |  Branch (6039:7): [True: 0, False: 1.36k]
  ------------------
 6040|       |			/* No reports here */
 6041|      0|			SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|      0|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6042|      0|			goto out;
 6043|      0|		}
 6044|  1.36k|		SCTP_STAT_INCR(sctps_wu_sacks_sent);
  ------------------
  |  | 1112|  1.36k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  1.36k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  1.36k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6045|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6046|       |		NET_EPOCH_ENTER(et);
 6047|       |#endif
 6048|  1.36k|		sctp_send_sack(stcb, SCTP_SO_LOCKED);
  ------------------
  |  |  959|  1.36k|#define SCTP_SO_LOCKED		1
  ------------------
 6049|       |
 6050|  1.36k|		sctp_chunk_output(stcb->sctp_ep, stcb,
 6051|  1.36k|				  SCTP_OUTPUT_FROM_USR_RCVD, SCTP_SO_LOCKED);
  ------------------
  |  |  374|  1.36k|#define SCTP_OUTPUT_FROM_USR_RCVD       13
  ------------------
              				  SCTP_OUTPUT_FROM_USR_RCVD, SCTP_SO_LOCKED);
  ------------------
  |  |  959|  1.36k|#define SCTP_SO_LOCKED		1
  ------------------
 6052|       |		/* make sure no timer is running */
 6053|       |#if defined(__FreeBSD__) && !defined(__Userspace__)
 6054|       |		NET_EPOCH_EXIT(et);
 6055|       |#endif
 6056|  1.36k|		sctp_timer_stop(SCTP_TIMER_TYPE_RECV, stcb->sctp_ep, stcb, NULL,
  ------------------
  |  |  534|  1.36k|#define SCTP_TIMER_TYPE_RECV		3
  ------------------
 6057|  1.36k|		                SCTP_FROM_SCTPUTIL + SCTP_LOC_6);
  ------------------
  |  |  760|  1.36k|#define SCTP_FROM_SCTPUTIL          0x60000000
  ------------------
              		                SCTP_FROM_SCTPUTIL + SCTP_LOC_6);
  ------------------
  |  |  774|  1.36k|#define SCTP_LOC_6  0x00000006
  ------------------
 6058|  1.36k|		SCTP_TCB_UNLOCK(stcb);
  ------------------
  |  |  469|  1.36k|	KASSERT(pthread_mutex_unlock(&(_tcb)->tcb_mtx) == 0, ("%s:%d: tcb_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.36k|	do {                         \
  |  |  |  |  113|  1.36k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.36k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.36k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6059|  4.60k|	} else {
 6060|       |		/* Update how much we have pending */
 6061|  4.60k|		stcb->freed_by_sorcv_sincelast = dif;
 6062|  4.60k|	}
 6063|  5.96k| out:
 6064|  5.96k|	if (so && r_unlocked && hold_rlock) {
  ------------------
  |  Branch (6064:6): [True: 5.96k, False: 0]
  |  Branch (6064:12): [True: 1.36k, False: 4.60k]
  |  Branch (6064:26): [True: 1.36k, False: 0]
  ------------------
 6065|  1.36k|		SCTP_INP_READ_LOCK(stcb->sctp_ep);
  ------------------
  |  |  346|  1.36k|	KASSERT(pthread_mutex_lock(&(_inp)->inp_rdata_mtx) == 0, ("%s:%d: inp_rdata_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.36k|	do {                         \
  |  |  |  |  113|  1.36k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.36k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.36k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 6066|  1.36k|	}
 6067|       |
 6068|  5.96k|	SCTP_INP_DECR_REF(stcb->sctp_ep);
  ------------------
  |  |  412|  5.96k|#define SCTP_INP_DECR_REF(_inp) atomic_subtract_int(&((_inp)->refcount), 1)
  |  |  ------------------
  |  |  |  |   97|  5.96k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  |  |  ------------------
  ------------------
 6069|  12.9k| no_lock:
 6070|  12.9k|	atomic_subtract_int(&stcb->asoc.refcnt, 1);
  ------------------
  |  |   97|  12.9k|#define atomic_subtract_int(P, V) (void) __sync_fetch_and_sub(P, V)
  ------------------
 6071|  12.9k|	return;
 6072|  5.96k|}

sctp_pcb.c:atomic_init:
  135|      1|static inline void atomic_init(void) {} /* empty when we are not using atomic_mtx */

init_random:
   77|      1|{
   78|      1|	return;
   79|      1|}
read_random:
   83|  23.1k|{
   84|  23.1k|	memset(buf, 'A', size);
   85|  23.1k|	return;
   86|  23.1k|}

m_get:
  108|  1.38M|{
  109|  1.38M|	struct mbuf *mret;
  110|  1.38M|#if defined(SCTP_SIMPLE_ALLOCATOR)
  111|  1.38M|	struct mb_args mbuf_mb_args;
  112|       |
  113|       |	/* The following setter function is not yet being enclosed within
  114|       |	 * #if USING_MBUF_CONSTRUCTOR - #endif, until I have thoroughly tested
  115|       |	 * mb_dtor_mbuf. See comment there
  116|       |	 */
  117|  1.38M|	mbuf_mb_args.flags = 0;
  118|  1.38M|	mbuf_mb_args.type = type;
  119|  1.38M|#endif
  120|       |	/* Mbuf master zone, zone_mbuf, has already been
  121|       |	 * created in mbuf_initialize() */
  122|  1.38M|	mret = SCTP_ZONE_GET(zone_mbuf, struct mbuf);
  ------------------
  |  |  697|  1.38M|        (type *)malloc(zone);
  ------------------
  123|  1.38M|#if defined(SCTP_SIMPLE_ALLOCATOR)
  124|  1.38M|	mb_ctor_mbuf(mret, &mbuf_mb_args, 0);
  125|  1.38M|#endif
  126|       |	/*mret =  ((struct mbuf *)umem_cache_alloc(zone_mbuf, UMEM_DEFAULT));*/
  127|       |
  128|       |	/* There are cases when an object available in the current CPU's
  129|       |	 * loaded magazine and in those cases the object's constructor is not applied.
  130|       |	 * If that is the case, then we are duplicating constructor initialization here,
  131|       |	 * so that the mbuf is properly constructed before returning it.
  132|       |	 */
  133|  1.38M|	if (mret) {
  ------------------
  |  Branch (133:6): [True: 1.38M, False: 0]
  ------------------
  134|       |#if USING_MBUF_CONSTRUCTOR
  135|       |		if (! (mret->m_type == type) ) {
  136|       |			mbuf_constructor_dup(mret, 0, type);
  137|       |		}
  138|       |#else
  139|  1.38M|		mbuf_constructor_dup(mret, 0, type);
  140|  1.38M|#endif
  141|       |
  142|  1.38M|	}
  143|  1.38M|	return mret;
  144|  1.38M|}
m_gethdr:
  150|   157k|{
  151|   157k|	struct mbuf *mret;
  152|   157k|#if defined(SCTP_SIMPLE_ALLOCATOR)
  153|   157k|	struct mb_args mbuf_mb_args;
  154|       |
  155|       |	/* The following setter function is not yet being enclosed within
  156|       |	 * #if USING_MBUF_CONSTRUCTOR - #endif, until I have thoroughly tested
  157|       |	 * mb_dtor_mbuf. See comment there
  158|       |	 */
  159|   157k|	mbuf_mb_args.flags = M_PKTHDR;
  ------------------
  |  |  234|   157k|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  160|   157k|	mbuf_mb_args.type = type;
  161|   157k|#endif
  162|   157k|	mret = SCTP_ZONE_GET(zone_mbuf, struct mbuf);
  ------------------
  |  |  697|   157k|        (type *)malloc(zone);
  ------------------
  163|   157k|#if defined(SCTP_SIMPLE_ALLOCATOR)
  164|   157k|	mb_ctor_mbuf(mret, &mbuf_mb_args, 0);
  165|   157k|#endif
  166|       |	/*mret = ((struct mbuf *)umem_cache_alloc(zone_mbuf, UMEM_DEFAULT));*/
  167|       |	/* There are cases when an object available in the current CPU's
  168|       |	 * loaded magazine and in those cases the object's constructor is not applied.
  169|       |	 * If that is the case, then we are duplicating constructor initialization here,
  170|       |	 * so that the mbuf is properly constructed before returning it.
  171|       |	 */
  172|   157k|	if (mret) {
  ------------------
  |  Branch (172:6): [True: 157k, False: 18.4E]
  ------------------
  173|       |#if USING_MBUF_CONSTRUCTOR
  174|       |		if (! ((mret->m_flags & M_PKTHDR) && (mret->m_type == type)) ) {
  175|       |			mbuf_constructor_dup(mret, M_PKTHDR, type);
  176|       |		}
  177|       |#else
  178|   157k|		mbuf_constructor_dup(mret, M_PKTHDR, type);
  ------------------
  |  |  234|   157k|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  179|   157k|#endif
  180|   157k|	}
  181|   157k|	return mret;
  182|   157k|}
m_free:
  187|  1.53M|{
  188|       |
  189|  1.53M|	struct mbuf *n = m->m_next;
  ------------------
  |  |  217|  1.53M|#define	m_next		m_hdr.mh_next
  ------------------
  190|       |
  191|  1.53M|	if (m->m_flags & M_EXT)
  ------------------
  |  |  221|  1.53M|#define	m_flags		m_hdr.mh_flags
  ------------------
              	if (m->m_flags & M_EXT)
  ------------------
  |  |  233|  1.53M|#define	M_EXT		0x0001	/* has associated external storage */
  ------------------
  |  Branch (191:6): [True: 296k, False: 1.24M]
  ------------------
  192|   296k|		mb_free_ext(m);
  193|  1.24M|	else if ((m->m_flags & M_NOFREE) == 0) {
  ------------------
  |  |  221|  1.24M|#define	m_flags		m_hdr.mh_flags
  ------------------
              	else if ((m->m_flags & M_NOFREE) == 0) {
  ------------------
  |  |  264|  1.24M|#define	M_NOFREE	0x40000	/* do not free mbuf - it is embedded in the cluster */
  ------------------
  |  Branch (193:11): [True: 1.24M, False: 18.4E]
  ------------------
  194|  1.24M|#if defined(SCTP_SIMPLE_ALLOCATOR)
  195|  1.24M|		mb_dtor_mbuf(m, NULL);
  196|  1.24M|#endif
  197|  1.24M|		SCTP_ZONE_FREE(zone_mbuf, m);
  ------------------
  |  |  701|  1.24M|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  1.24M|	free(element);  \
  |  |  703|  1.24M|}
  ------------------
  198|  1.24M|	}
  199|       |		/*umem_cache_free(zone_mbuf, m);*/
  200|  1.53M|	return (n);
  201|  1.53M|}
m_clget:
  242|  72.1k|{
  243|  72.1k|	caddr_t mclust_ret;
  244|  72.1k|#if defined(SCTP_SIMPLE_ALLOCATOR)
  245|  72.1k|	struct clust_args clust_mb_args_l;
  246|  72.1k|#endif
  247|  72.1k|	if (m->m_flags & M_EXT) {
  ------------------
  |  |  221|  72.1k|#define	m_flags		m_hdr.mh_flags
  ------------------
              	if (m->m_flags & M_EXT) {
  ------------------
  |  |  233|  72.1k|#define	M_EXT		0x0001	/* has associated external storage */
  ------------------
  |  Branch (247:6): [True: 0, False: 72.1k]
  ------------------
  248|      0|		SCTPDBG(SCTP_DEBUG_USR, "%s: %p mbuf already has cluster\n", __func__, (void *)m);
  249|      0|	}
  250|  72.1k|	m->m_ext.ext_buf = (char *)NULL;
  ------------------
  |  |  225|  72.1k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  251|  72.1k|#if defined(SCTP_SIMPLE_ALLOCATOR)
  252|  72.1k|	clust_mb_args_l.parent_mbuf = m;
  253|  72.1k|#endif
  254|  72.1k|	mclust_ret = SCTP_ZONE_GET(zone_clust, char);
  ------------------
  |  |  697|  72.1k|        (type *)malloc(zone);
  ------------------
  255|  72.1k|#if defined(SCTP_SIMPLE_ALLOCATOR)
  256|  72.1k|	mb_ctor_clust(mclust_ret, &clust_mb_args_l, 0);
  257|  72.1k|#endif
  258|       |	/*mclust_ret = umem_cache_alloc(zone_clust, UMEM_DEFAULT);*/
  259|       |	/*
  260|       |	 On a cluster allocation failure, call umem_reap() and retry.
  261|       |	 */
  262|       |
  263|  72.1k|	if (mclust_ret == NULL) {
  ------------------
  |  Branch (263:6): [True: 0, False: 72.1k]
  ------------------
  264|       |#if !defined(SCTP_SIMPLE_ALLOCATOR)
  265|       |	/*	mclust_ret = SCTP_ZONE_GET(zone_clust, char);
  266|       |		mb_ctor_clust(mclust_ret, &clust_mb_args, 0);
  267|       |#else*/
  268|       |		umem_reap();
  269|       |		mclust_ret = SCTP_ZONE_GET(zone_clust, char);
  270|       |#endif
  271|       |		/*mclust_ret = umem_cache_alloc(zone_clust, UMEM_DEFAULT);*/
  272|       |		/* if (NULL == mclust_ret) { */
  273|      0|		SCTPDBG(SCTP_DEBUG_USR, "Memory allocation failure in %s\n", __func__);
  274|       |		/* } */
  275|      0|	}
  276|       |
  277|       |#if USING_MBUF_CONSTRUCTOR
  278|       |	if ((m->m_ext.ext_buf == NULL)) {
  279|       |		clust_constructor_dup(mclust_ret, m);
  280|       |	}
  281|       |#else
  282|  72.1k|	clust_constructor_dup(mclust_ret, m);
  283|  72.1k|#endif
  284|  72.1k|}
m_getm2:
  288|  1.01M|{
  289|  1.01M|	struct mbuf *mb, *nm = NULL, *mtail = NULL;
  290|  1.01M|	int size, mbuf_threshold, space_needed = len;
  291|       |
  292|  1.01M|	KASSERT(len >= 0, ("%s: len is < 0", __func__));
  ------------------
  |  |  112|  1.01M|	do {                         \
  |  |  113|  1.01M|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 1.01M]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  1.01M|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  293|       |
  294|       |	/* Validate flags. */
  295|  1.01M|	flags &= (M_PKTHDR | M_EOR);
  ------------------
  |  |  234|  1.01M|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
              	flags &= (M_PKTHDR | M_EOR);
  ------------------
  |  |  235|  1.01M|#define	M_EOR		0x0004	/* end of record */
  ------------------
  296|       |
  297|       |	/* Packet header mbuf must be first in chain. */
  298|  1.01M|	if ((flags & M_PKTHDR) && m != NULL) {
  ------------------
  |  |  234|  1.01M|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (298:6): [True: 106k, False: 904k]
  |  Branch (298:28): [True: 0, False: 106k]
  ------------------
  299|      0|		flags &= ~M_PKTHDR;
  ------------------
  |  |  234|      0|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  300|      0|	}
  301|       |
  302|  1.01M|	if (allonebuf == 0)
  ------------------
  |  Branch (302:6): [True: 34.3k, False: 976k]
  ------------------
  303|  34.3k|		mbuf_threshold = SCTP_BASE_SYSCTL(sctp_mbuf_threshold_count);
  ------------------
  |  |  584|  34.3k|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  304|   976k|	else
  305|   976k|		mbuf_threshold = 1;
  306|       |
  307|       |	/* Loop and append maximum sized mbufs to the chain tail. */
  308|  2.05M|	while (len > 0) {
  ------------------
  |  Branch (308:9): [True: 1.04M, False: 1.01M]
  ------------------
  309|  1.04M|		if ((!allonebuf && len >= MCLBYTES) || (len > (int)(((mbuf_threshold - 1) * MLEN) + MHLEN))) {
  ------------------
  |  |   51|  64.1k|#define MCLBYTES 2048
  ------------------
              		if ((!allonebuf && len >= MCLBYTES) || (len > (int)(((mbuf_threshold - 1) * MLEN) + MHLEN))) {
  ------------------
  |  |  138|  1.03M|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  ------------------
  |  |  |  |   47|  1.03M|#define MSIZE 256
  |  |  ------------------
  ------------------
              		if ((!allonebuf && len >= MCLBYTES) || (len > (int)(((mbuf_threshold - 1) * MLEN) + MHLEN))) {
  ------------------
  |  |  139|  1.03M|#define	MHLEN		((int)(MLEN - sizeof(struct pkthdr)))	/* data len w/pkthdr */
  |  |  ------------------
  |  |  |  |  138|  1.03M|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.03M|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (309:8): [True: 64.1k, False: 976k]
  |  Branch (309:22): [True: 6.44k, False: 57.7k]
  |  Branch (309:42): [True: 65.7k, False: 968k]
  ------------------
  310|  72.1k|			mb = m_gethdr(how, type);
  311|  72.1k|			MCLGET(mb, how);
  ------------------
  |  |   69|  72.1k|#define	MCLGET(m, how)		m_clget((m), (how))
  ------------------
  312|  72.1k|			size = MCLBYTES;
  ------------------
  |  |   51|  72.1k|#define MCLBYTES 2048
  ------------------
  313|       |			/* SCTP_BUF_LEN(mb) = MCLBYTES; */
  314|   968k|		} else if (flags & M_PKTHDR) {
  ------------------
  |  |  234|   968k|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (314:14): [True: 84.9k, False: 883k]
  ------------------
  315|  84.9k|			mb = m_gethdr(how, type);
  316|  84.9k|			if (len < MHLEN) {
  ------------------
  |  |  139|  84.9k|#define	MHLEN		((int)(MLEN - sizeof(struct pkthdr)))	/* data len w/pkthdr */
  |  |  ------------------
  |  |  |  |  138|  84.9k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  84.9k|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (316:8): [True: 72.3k, False: 12.5k]
  ------------------
  317|  72.3k|				size = len;
  318|  72.3k|			} else {
  319|  12.5k|				size = MHLEN;
  ------------------
  |  |  139|  12.5k|#define	MHLEN		((int)(MLEN - sizeof(struct pkthdr)))	/* data len w/pkthdr */
  |  |  ------------------
  |  |  |  |  138|  12.5k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  12.5k|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|  12.5k|			}
  321|   883k|		} else {
  322|   883k|			mb = m_get(how, type);
  323|   883k|			if (len < MLEN) {
  ------------------
  |  |  138|   883k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  ------------------
  |  |  |  |   47|   883k|#define MSIZE 256
  |  |  ------------------
  ------------------
  |  Branch (323:8): [True: 873k, False: 10.8k]
  ------------------
  324|   873k|				size = len;
  325|   873k|			} else {
  326|  10.8k|				size = MLEN;
  ------------------
  |  |  138|  10.8k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  ------------------
  |  |  |  |   47|  10.8k|#define MSIZE 256
  |  |  ------------------
  ------------------
  327|  10.8k|			}
  328|   883k|		}
  329|       |
  330|       |		/* Fail the whole operation if one mbuf can't be allocated. */
  331|  1.04M|		if (mb == NULL) {
  ------------------
  |  Branch (331:7): [True: 0, False: 1.04M]
  ------------------
  332|      0|			if (nm != NULL)
  ------------------
  |  Branch (332:8): [True: 0, False: 0]
  ------------------
  333|      0|				m_freem(nm);
  334|      0|			return (NULL);
  335|      0|		}
  336|       |
  337|  1.04M|		if (allonebuf != 0 && size < space_needed) {
  ------------------
  |  Branch (337:7): [True: 976k, False: 64.1k]
  |  Branch (337:25): [True: 0, False: 976k]
  ------------------
  338|      0|			m_freem(mb);
  339|      0|			return (NULL);
  340|      0|		}
  341|       |
  342|       |		/* Book keeping. */
  343|  1.04M|		len -= size;
  344|  1.04M|		if (mtail != NULL)
  ------------------
  |  Branch (344:7): [True: 29.8k, False: 1.01M]
  ------------------
  345|  29.8k|			mtail->m_next = mb;
  ------------------
  |  |  217|  29.8k|#define	m_next		m_hdr.mh_next
  ------------------
  346|  1.01M|		else
  347|  1.01M|			nm = mb;
  348|  1.04M|		mtail = mb;
  349|  1.04M|		flags &= ~M_PKTHDR;     /* Only valid on the first mbuf. */
  ------------------
  |  |  234|  1.04M|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  350|  1.04M|	}
  351|  1.01M|	if (flags & M_EOR) {
  ------------------
  |  |  235|  1.01M|#define	M_EOR		0x0004	/* end of record */
  ------------------
  |  Branch (351:6): [True: 0, False: 1.01M]
  ------------------
  352|      0|		mtail->m_flags |= M_EOR;  /* Only valid on the last mbuf. */
  ------------------
  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  ------------------
              		mtail->m_flags |= M_EOR;  /* Only valid on the last mbuf. */
  ------------------
  |  |  235|      0|#define	M_EOR		0x0004	/* end of record */
  ------------------
  353|      0|	}
  354|       |
  355|       |	/* If mbuf was supplied, append new chain to the end of it. */
  356|  1.01M|	if (m != NULL) {
  ------------------
  |  Branch (356:6): [True: 0, False: 1.01M]
  ------------------
  357|      0|		for (mtail = m; mtail->m_next != NULL; mtail = mtail->m_next);
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
              		for (mtail = m; mtail->m_next != NULL; mtail = mtail->m_next);
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
  |  Branch (357:19): [True: 0, False: 0]
  ------------------
  358|      0|		mtail->m_next = nm;
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
  359|      0|		mtail->m_flags &= ~M_EOR;
  ------------------
  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  ------------------
              		mtail->m_flags &= ~M_EOR;
  ------------------
  |  |  235|      0|#define	M_EOR		0x0004	/* end of record */
  ------------------
  360|  1.01M|	} else {
  361|  1.01M|		m = nm;
  362|  1.01M|	}
  363|       |
  364|  1.01M|	return (m);
  365|  1.01M|}
m_uiotombuf:
  372|  6.20k|{
  373|  6.20k|	struct mbuf *m, *mb;
  374|  6.20k|	int error, length;
  375|  6.20k|	ssize_t total;
  376|  6.20k|	int progress = 0;
  377|       |
  378|       |	/*
  379|       |	 * len can be zero or an arbitrary large value bound by
  380|       |	 * the total data supplied by the uio.
  381|       |	 */
  382|  6.20k|	if (len > 0)
  ------------------
  |  Branch (382:6): [True: 6.20k, False: 0]
  ------------------
  383|  6.20k|		total = min(uio->uio_resid, len);
  ------------------
  |  |   66|  6.20k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 6.20k]
  |  |  ------------------
  ------------------
  384|      0|	else
  385|      0|		total = uio->uio_resid;
  386|       |	/*
  387|       |	 * The smallest unit returned by m_getm2() is a single mbuf
  388|       |	 * with pkthdr.  We can't align past it.
  389|       |	 */
  390|  6.20k|	if (align >= MHLEN)
  ------------------
  |  |  139|  6.20k|#define	MHLEN		((int)(MLEN - sizeof(struct pkthdr)))	/* data len w/pkthdr */
  |  |  ------------------
  |  |  |  |  138|  6.20k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  6.20k|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (390:6): [True: 0, False: 6.20k]
  ------------------
  391|      0|		return (NULL);
  392|       |	/*
  393|       |	 * Give us the full allocation or nothing.
  394|       |	 * If len is zero return the smallest empty mbuf.
  395|       |	 */
  396|  6.20k|	m = m_getm2(NULL, (int)max(total + align, 1), how, MT_DATA, flags, 0);
  ------------------
  |  |   67|  6.20k|#define max(a,b) (((a)>(b))?(a):(b))
  |  |  ------------------
  |  |  |  Branch (67:19): [True: 6.20k, False: 0]
  |  |  ------------------
  ------------------
              	m = m_getm2(NULL, (int)max(total + align, 1), how, MT_DATA, flags, 0);
  ------------------
  |  |  287|  6.20k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
  397|  6.20k|	if (m == NULL)
  ------------------
  |  Branch (397:6): [True: 0, False: 6.20k]
  ------------------
  398|      0|		return (NULL);
  399|  6.20k|	m->m_data += align;
  ------------------
  |  |  219|  6.20k|#define	m_data		m_hdr.mh_data
  ------------------
  400|       |
  401|       |	/* Fill all mbufs with uio data and update header information. */
  402|  12.4k|	for (mb = m; mb != NULL; mb = mb->m_next) {
  ------------------
  |  |  217|  6.20k|#define	m_next		m_hdr.mh_next
  ------------------
  |  Branch (402:15): [True: 6.20k, False: 6.20k]
  ------------------
  403|  6.20k|		length = (int)min(M_TRAILINGSPACE(mb), total - progress);
  ------------------
  |  |   66|  12.4k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 6.20k, False: 0]
  |  |  |  Branch (66:21): [True: 0, False: 0]
  |  |  |  Branch (66:21): [True: 0, False: 0]
  |  |  |  Branch (66:21): [True: 0, False: 0]
  |  |  |  Branch (66:21): [True: 0, False: 6.20k]
  |  |  |  Branch (66:34): [True: 0, False: 0]
  |  |  |  Branch (66:34): [True: 0, False: 0]
  |  |  |  Branch (66:34): [True: 0, False: 0]
  |  |  |  Branch (66:34): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  404|  6.20k|		error = uiomove(mtod(mb, void *), length, uio);
  ------------------
  |  |   96|  6.20k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  6.20k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
  405|  6.20k|		if (error) {
  ------------------
  |  Branch (405:7): [True: 0, False: 6.20k]
  ------------------
  406|      0|			m_freem(m);
  407|      0|			return (NULL);
  408|      0|		}
  409|       |
  410|  6.20k|		mb->m_len = length;
  ------------------
  |  |  218|  6.20k|#define	m_len		m_hdr.mh_len
  ------------------
  411|  6.20k|		progress += length;
  412|  6.20k|		if (flags & M_PKTHDR)
  ------------------
  |  |  234|  6.20k|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (412:7): [True: 0, False: 6.20k]
  ------------------
  413|      0|			m->m_pkthdr.len += length;
  ------------------
  |  |  224|      0|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
  414|  6.20k|	}
  415|  6.20k|	KASSERT(progress == total, ("%s: progress != total", __func__));
  ------------------
  |  |  112|  6.20k|	do {                         \
  |  |  113|  6.20k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 6.20k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  6.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  416|       |
  417|  6.20k|	return (m);
  418|  6.20k|}
m_last:
  439|  6.20k|{
  440|  6.20k|	while (m->m_next) {
  ------------------
  |  |  217|  6.20k|#define	m_next		m_hdr.mh_next
  ------------------
  |  Branch (440:9): [True: 0, False: 6.20k]
  ------------------
  441|      0|		m = m->m_next;
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
  442|      0|	}
  443|  6.20k|	return (m);
  444|  6.20k|}
mbuf_initialize:
  489|      1|{
  490|       |
  491|       |	/*
  492|       |	 * __Userspace__Configure UMA zones for Mbufs and Clusters.
  493|       |	 * (TODO: m_getcl() - using packet secondary zone).
  494|       |	 * There is no provision for trash_init and trash_fini in umem.
  495|       |	 *
  496|       |	 */
  497|       | /* zone_mbuf = umem_cache_create(MBUF_MEM_NAME, MSIZE, 0,
  498|       |				mb_ctor_mbuf, mb_dtor_mbuf, NULL,
  499|       |				&mbuf_mb_args,
  500|       |				NULL, 0);
  501|       |	zone_mbuf = umem_cache_create(MBUF_MEM_NAME, MSIZE, 0, NULL, NULL, NULL, NULL, NULL, 0);*/
  502|      1|#if defined(SCTP_SIMPLE_ALLOCATOR)
  503|      1|	SCTP_ZONE_INIT(zone_mbuf, MBUF_MEM_NAME, MSIZE, 0);
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
  504|       |#else
  505|       |	zone_mbuf = umem_cache_create(MBUF_MEM_NAME, MSIZE, 0,
  506|       |	                              mb_ctor_mbuf, mb_dtor_mbuf, NULL,
  507|       |	                              NULL,
  508|       |	                              NULL, 0);
  509|       |#endif
  510|       |	/*zone_ext_refcnt = umem_cache_create(MBUF_EXTREFCNT_MEM_NAME, sizeof(u_int), 0,
  511|       |				NULL, NULL, NULL,
  512|       |				NULL,
  513|       |				NULL, 0);*/
  514|      1|	SCTP_ZONE_INIT(zone_ext_refcnt, MBUF_EXTREFCNT_MEM_NAME, sizeof(u_int), 0);
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
  515|       |
  516|       |  /*zone_clust = umem_cache_create(MBUF_CLUSTER_MEM_NAME, MCLBYTES, 0,
  517|       |				 mb_ctor_clust, mb_dtor_clust, NULL,
  518|       |				 &clust_mb_args,
  519|       |				 NULL, 0);
  520|       |	zone_clust = umem_cache_create(MBUF_CLUSTER_MEM_NAME, MCLBYTES, 0, NULL, NULL, NULL, NULL, NULL,0);*/
  521|      1|#if defined(SCTP_SIMPLE_ALLOCATOR)
  522|      1|	SCTP_ZONE_INIT(zone_clust, MBUF_CLUSTER_MEM_NAME, MCLBYTES, 0);
  ------------------
  |  |  691|      1|#define SCTP_ZONE_INIT(zone, name, size, number) { \
  |  |  692|      1|	zone = size; \
  |  |  693|      1|}
  ------------------
  523|       |#else
  524|       |	zone_clust = umem_cache_create(MBUF_CLUSTER_MEM_NAME, MCLBYTES, 0,
  525|       |								   mb_ctor_clust, mb_dtor_clust, NULL,
  526|       |								   &clust_mb_args,
  527|       |								   NULL, 0);
  528|       |#endif
  529|       |
  530|       |	/* uma_prealloc() goes here... */
  531|       |
  532|       |	/* __Userspace__ Add umem_reap here for low memory situation?
  533|       |	 *
  534|       |	 */
  535|       |
  536|      1|}
m_tag_delete_chain:
  699|   156k|{
  700|       |
  701|   156k|	struct m_tag *p, *q;
  702|       |
  703|   156k|	KASSERT(m, ("m_tag_delete_chain: null mbuf"));
  ------------------
  |  |  112|   156k|	do {                         \
  |  |  113|   156k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 156k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   156k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  704|   156k|	if (t != NULL)
  ------------------
  |  Branch (704:6): [True: 0, False: 156k]
  ------------------
  705|      0|		p = t;
  706|   156k|	else
  707|   156k|		p = SLIST_FIRST(&m->m_pkthdr.tags);
  708|   156k|	if (p == NULL)
  ------------------
  |  Branch (708:6): [True: 156k, False: 0]
  ------------------
  709|   156k|		return;
  710|      0|	while ((q = SLIST_NEXT(p, m_tag_link)) != NULL)
  ------------------
  |  Branch (710:9): [True: 0, False: 0]
  ------------------
  711|      0|		m_tag_delete(m, q);
  712|      0|	m_tag_delete(m, p);
  713|      0|}
m_freem:
  734|   354k|{
  735|  1.41M|	while (mb != NULL)
  ------------------
  |  Branch (735:9): [True: 1.06M, False: 354k]
  ------------------
  736|  1.06M|		mb = m_free(mb);
  737|   354k|}
mb_free_ext:
  746|   296k|{
  747|       |
  748|   296k|	int skipmbuf;
  749|       |
  750|   296k|	KASSERT((m->m_flags & M_EXT) == M_EXT, ("%s: M_EXT not set", __func__));
  ------------------
  |  |  112|   296k|	do {                         \
  |  |  113|   296k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 296k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   296k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  751|   296k|	KASSERT(m->m_ext.ref_cnt != NULL, ("%s: ref_cnt not set", __func__));
  ------------------
  |  |  112|   296k|	do {                         \
  |  |  113|   296k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 296k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   296k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  752|       |
  753|       |	/*
  754|       |	 * check if the header is embedded in the cluster
  755|       |	 */
  756|   296k|	skipmbuf = (m->m_flags & M_NOFREE);
  ------------------
  |  |  221|   296k|#define	m_flags		m_hdr.mh_flags
  ------------------
              	skipmbuf = (m->m_flags & M_NOFREE);
  ------------------
  |  |  264|   296k|#define	M_NOFREE	0x40000	/* do not free mbuf - it is embedded in the cluster */
  ------------------
  757|       |
  758|       |	/* Free the external attached storage if this
  759|       |	 * mbuf is the only reference to it.
  760|       |	 *__Userspace__ TODO: jumbo frames
  761|       |	 *
  762|       |	*/
  763|       |	/* NOTE: We had the same code that SCTP_DECREMENT_AND_CHECK_REFCOUNT
  764|       |	         reduces to here before but the IPHONE malloc commit had changed
  765|       |	         this to compare to 0 instead of 1 (see next line).  Why?
  766|       |	        . .. this caused a huge memory leak in Linux.
  767|       |	*/
  768|       |#ifdef IPHONE
  769|       |	if (atomic_fetchadd_int(m->m_ext.ref_cnt, -1) == 0)
  770|       |#else
  771|   296k|	if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(m->m_ext.ref_cnt))
  ------------------
  |  |  115|   296k|#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr) (atomic_fetchadd_int(addr, -1) == 1)
  |  |  ------------------
  |  |  |  |  103|   296k|#define atomic_fetchadd_int(p, v) __sync_fetch_and_add(p, v)
  |  |  ------------------
  |  |  |  Branch (115:49): [True: 71.9k, False: 224k]
  |  |  ------------------
  ------------------
  772|  71.9k|#endif
  773|  71.9k|	{
  774|  71.9k|		if (m->m_ext.ext_type == EXT_CLUSTER){
  ------------------
  |  |  225|  71.9k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
              		if (m->m_ext.ext_type == EXT_CLUSTER){
  ------------------
  |  |  270|  71.9k|#define	EXT_CLUSTER	1	/* mbuf cluster */
  ------------------
  |  Branch (774:7): [True: 71.9k, False: 0]
  ------------------
  775|  71.9k|#if defined(SCTP_SIMPLE_ALLOCATOR)
  776|  71.9k|			mb_dtor_clust(m->m_ext.ext_buf, &clust_mb_args);
  ------------------
  |  |  225|  71.9k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  777|  71.9k|#endif
  778|  71.9k|			SCTP_ZONE_FREE(zone_clust, m->m_ext.ext_buf);
  ------------------
  |  |  701|  71.9k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  71.9k|	free(element);  \
  |  |  703|  71.9k|}
  ------------------
  779|  71.9k|			SCTP_ZONE_FREE(zone_ext_refcnt, (u_int*)m->m_ext.ref_cnt);
  ------------------
  |  |  701|  71.9k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|  71.9k|	free(element);  \
  |  |  703|  71.9k|}
  ------------------
  780|  71.9k|			m->m_ext.ref_cnt = NULL;
  ------------------
  |  |  225|  71.9k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  781|  71.9k|		}
  782|  71.9k|	}
  783|       |
  784|   296k|	if (skipmbuf)
  ------------------
  |  Branch (784:6): [True: 0, False: 296k]
  ------------------
  785|      0|		return;
  786|       |
  787|       |
  788|       |	/* __Userspace__ Also freeing the storage for ref_cnt
  789|       |	 * Free this mbuf back to the mbuf zone with all m_ext
  790|       |	 * information purged.
  791|       |	 */
  792|   296k|	m->m_ext.ext_buf = NULL;
  ------------------
  |  |  225|   296k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  793|   296k|	m->m_ext.ext_free = NULL;
  ------------------
  |  |  225|   296k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  794|   296k|	m->m_ext.ext_args = NULL;
  ------------------
  |  |  225|   296k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  795|   296k|	m->m_ext.ref_cnt = NULL;
  ------------------
  |  |  225|   296k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  796|   296k|	m->m_ext.ext_size = 0;
  ------------------
  |  |  225|   296k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  797|   296k|	m->m_ext.ext_type = 0;
  ------------------
  |  |  225|   296k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  798|   296k|	m->m_flags &= ~M_EXT;
  ------------------
  |  |  221|   296k|#define	m_flags		m_hdr.mh_flags
  ------------------
              	m->m_flags &= ~M_EXT;
  ------------------
  |  |  233|   296k|#define	M_EXT		0x0001	/* has associated external storage */
  ------------------
  799|   296k|#if defined(SCTP_SIMPLE_ALLOCATOR)
  800|   296k|	mb_dtor_mbuf(m, NULL);
  801|   296k|#endif
  802|   296k|	SCTP_ZONE_FREE(zone_mbuf, m);
  ------------------
  |  |  701|   296k|#define SCTP_ZONE_FREE(zone, element) { \
  |  |  702|   296k|	free(element);  \
  |  |  703|   296k|}
  ------------------
  803|       |
  804|       |	/*umem_cache_free(zone_mbuf, m);*/
  805|   296k|}
m_copym:
 1109|   258k|{
 1110|   258k|	struct mbuf *n, **np;
 1111|   258k|	int off = off0;
 1112|   258k|	struct mbuf *top;
 1113|   258k|	int copyhdr = 0;
 1114|       |
 1115|   258k|	KASSERT(off >= 0, ("m_copym, negative off %d", off));
  ------------------
  |  |  112|   258k|	do {                         \
  |  |  113|   258k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 258k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   258k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1116|   258k|	KASSERT(len >= 0, ("m_copym, negative len %d", len));
  ------------------
  |  |  112|   258k|	do {                         \
  |  |  113|   258k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 258k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   258k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1117|   258k|	KASSERT(m != NULL, ("m_copym, m is NULL"));
  ------------------
  |  |  112|   258k|	do {                         \
  |  |  113|   258k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 258k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   258k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1118|       |
 1119|       |#if !defined(INVARIANTS)
 1120|       |	if (m == NULL) {
 1121|       |		return (NULL);
 1122|       |	}
 1123|       |#endif
 1124|   258k|	if (off == 0 && m->m_flags & M_PKTHDR)
  ------------------
  |  |  221|  1.30k|#define	m_flags		m_hdr.mh_flags
  ------------------
              	if (off == 0 && m->m_flags & M_PKTHDR)
  ------------------
  |  |  234|  1.30k|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (1124:6): [True: 1.30k, False: 257k]
  |  Branch (1124:18): [True: 0, False: 1.30k]
  ------------------
 1125|      0|		copyhdr = 1;
 1126|  2.05M|	while (off > 0) {
  ------------------
  |  Branch (1126:9): [True: 2.05M, False: 2.07k]
  ------------------
 1127|  2.05M|		KASSERT(m != NULL, ("m_copym, offset > size of mbuf chain"));
  ------------------
  |  |  112|  2.05M|	do {                         \
  |  |  113|  2.05M|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 2.05M]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  2.05M|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1128|  2.05M|		if (off < m->m_len)
  ------------------
  |  |  218|  2.05M|#define	m_len		m_hdr.mh_len
  ------------------
  |  Branch (1128:7): [True: 256k, False: 1.79M]
  ------------------
 1129|   256k|			break;
 1130|  1.79M|		off -= m->m_len;
  ------------------
  |  |  218|  1.79M|#define	m_len		m_hdr.mh_len
  ------------------
 1131|  1.79M|		m = m->m_next;
  ------------------
  |  |  217|  1.79M|#define	m_next		m_hdr.mh_next
  ------------------
 1132|  1.79M|	}
 1133|   258k|	np = &top;
 1134|   258k|	top = 0;
 1135|   557k|	while (len > 0) {
  ------------------
  |  Branch (1135:9): [True: 300k, False: 257k]
  ------------------
 1136|   300k|		if (m == NULL) {
  ------------------
  |  Branch (1136:7): [True: 1.30k, False: 299k]
  ------------------
 1137|  1.30k|			KASSERT(len == M_COPYALL, ("m_copym, length > size of mbuf chain"));
  ------------------
  |  |  112|  1.30k|	do {                         \
  |  |  113|  1.30k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 1.30k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  1.30k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1138|  1.30k|			break;
 1139|  1.30k|		}
 1140|   299k|		if (copyhdr)
  ------------------
  |  Branch (1140:7): [True: 0, False: 299k]
  ------------------
 1141|      0|			MGETHDR(n, wait, m->m_type);
  ------------------
  |  |   68|      0|#define	MGETHDR(m, how, type)	((m) = m_gethdr((how), (type)))
  ------------------
 1142|   299k|		else
 1143|   299k|			MGET(n, wait, m->m_type);
  ------------------
  |  |   67|   299k|#define	MGET(m, how, type)	((m) = m_get((how), (type)))
  ------------------
 1144|   299k|		*np = n;
 1145|   299k|		if (n == NULL)
  ------------------
  |  Branch (1145:7): [True: 0, False: 299k]
  ------------------
 1146|      0|			goto nospace;
 1147|   299k|		if (copyhdr) {
  ------------------
  |  Branch (1147:7): [True: 0, False: 299k]
  ------------------
 1148|      0|			if (!m_dup_pkthdr(n, m, wait))
  ------------------
  |  Branch (1148:8): [True: 0, False: 0]
  ------------------
 1149|      0|				goto nospace;
 1150|      0|			if (len == M_COPYALL)
  ------------------
  |  |   75|      0|#define	M_COPYALL	1000000000
  ------------------
  |  Branch (1150:8): [True: 0, False: 0]
  ------------------
 1151|      0|				n->m_pkthdr.len -= off0;
  ------------------
  |  |  224|      0|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
 1152|      0|			else
 1153|      0|				n->m_pkthdr.len = len;
  ------------------
  |  |  224|      0|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
 1154|      0|			copyhdr = 0;
 1155|      0|		}
 1156|   299k|		n->m_len = min(len, m->m_len - off);
  ------------------
  |  |  218|   299k|#define	m_len		m_hdr.mh_len
  ------------------
              		n->m_len = min(len, m->m_len - off);
  ------------------
  |  |   66|   299k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 41.9k, False: 257k]
  |  |  ------------------
  ------------------
 1157|   299k|		if (m->m_flags & M_EXT) {
  ------------------
  |  |  221|   299k|#define	m_flags		m_hdr.mh_flags
  ------------------
              		if (m->m_flags & M_EXT) {
  ------------------
  |  |  233|   299k|#define	M_EXT		0x0001	/* has associated external storage */
  ------------------
  |  Branch (1157:7): [True: 224k, False: 74.5k]
  ------------------
 1158|   224k|			n->m_data = m->m_data + off;
  ------------------
  |  |  219|   224k|#define	m_data		m_hdr.mh_data
  ------------------
              			n->m_data = m->m_data + off;
  ------------------
  |  |  219|   224k|#define	m_data		m_hdr.mh_data
  ------------------
 1159|   224k|			mb_dupcl(n, m);
 1160|   224k|		} else
 1161|  74.5k|			memcpy(mtod(n, caddr_t), mtod(m, caddr_t) + off, (u_int)n->m_len);
  ------------------
  |  |   96|  74.5k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  74.5k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
              			memcpy(mtod(n, caddr_t), mtod(m, caddr_t) + off, (u_int)n->m_len);
  ------------------
  |  |   96|  74.5k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  74.5k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
              			memcpy(mtod(n, caddr_t), mtod(m, caddr_t) + off, (u_int)n->m_len);
  ------------------
  |  |  218|  74.5k|#define	m_len		m_hdr.mh_len
  ------------------
 1162|   299k|		if (len != M_COPYALL)
  ------------------
  |  |   75|   299k|#define	M_COPYALL	1000000000
  ------------------
  |  Branch (1162:7): [True: 275k, False: 23.6k]
  ------------------
 1163|   275k|			len -= n->m_len;
  ------------------
  |  |  218|   275k|#define	m_len		m_hdr.mh_len
  ------------------
 1164|   299k|		off = 0;
 1165|   299k|		m = m->m_next;
  ------------------
  |  |  217|   299k|#define	m_next		m_hdr.mh_next
  ------------------
 1166|   299k|		np = &n->m_next;
  ------------------
  |  |  217|   299k|#define	m_next		m_hdr.mh_next
  ------------------
 1167|   299k|	}
 1168|       |
 1169|   258k|	return (top);
 1170|      0|nospace:
 1171|      0|	m_freem(top);
 1172|      0|	return (NULL);
 1173|   258k|}
m_copyback:
 1261|  28.1k|{
 1262|  28.1k|	int mlen;
 1263|  28.1k|	struct mbuf *m = m0, *n;
 1264|  28.1k|	int totlen = 0;
 1265|       |
 1266|  28.1k|	if (m0 == NULL)
  ------------------
  |  Branch (1266:6): [True: 0, False: 28.1k]
  ------------------
 1267|      0|		return;
 1268|  28.1k|	while (off > (mlen = m->m_len)) {
  ------------------
  |  |  218|  28.1k|#define	m_len		m_hdr.mh_len
  ------------------
  |  Branch (1268:9): [True: 0, False: 28.1k]
  ------------------
 1269|      0|		off -= mlen;
 1270|      0|		totlen += mlen;
 1271|      0|		if (m->m_next == NULL) {
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
  |  Branch (1271:7): [True: 0, False: 0]
  ------------------
 1272|      0|			n = m_get(M_NOWAIT, m->m_type);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              			n = m_get(M_NOWAIT, m->m_type);
  ------------------
  |  |  220|      0|#define	m_type		m_hdr.mh_type
  ------------------
 1273|      0|			if (n == NULL)
  ------------------
  |  Branch (1273:8): [True: 0, False: 0]
  ------------------
 1274|      0|				goto out;
 1275|      0|			memset(mtod(n, caddr_t), 0, MLEN);
  ------------------
  |  |   96|      0|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
              			memset(mtod(n, caddr_t), 0, MLEN);
  ------------------
  |  |  138|      0|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  ------------------
  |  |  |  |   47|      0|#define MSIZE 256
  |  |  ------------------
  ------------------
 1276|      0|			n->m_len = min(MLEN, len + off);
  ------------------
  |  |  218|      0|#define	m_len		m_hdr.mh_len
  ------------------
              			n->m_len = min(MLEN, len + off);
  ------------------
  |  |   66|      0|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1277|      0|			m->m_next = n;
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
 1278|      0|		}
 1279|      0|		m = m->m_next;
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
 1280|      0|	}
 1281|  57.9k|	while (len > 0) {
  ------------------
  |  Branch (1281:9): [True: 57.9k, False: 0]
  ------------------
 1282|  57.9k|		mlen = min (m->m_len - off, len);
  ------------------
  |  |   66|  57.9k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 57.9k]
  |  |  ------------------
  ------------------
 1283|  57.9k|		memcpy(off + mtod(m, caddr_t), cp, (u_int)mlen);
  ------------------
  |  |   96|  57.9k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  57.9k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 1284|  57.9k|		cp += mlen;
 1285|  57.9k|		len -= mlen;
 1286|  57.9k|		mlen += off;
 1287|  57.9k|		off = 0;
 1288|  57.9k|		totlen += mlen;
 1289|  57.9k|		if (len == 0)
  ------------------
  |  Branch (1289:7): [True: 28.1k, False: 29.8k]
  ------------------
 1290|  28.1k|			break;
 1291|  29.8k|		if (m->m_next == NULL) {
  ------------------
  |  |  217|  29.8k|#define	m_next		m_hdr.mh_next
  ------------------
  |  Branch (1291:7): [True: 0, False: 29.8k]
  ------------------
 1292|      0|			n = m_get(M_NOWAIT, m->m_type);
  ------------------
  |  |   60|      0|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              			n = m_get(M_NOWAIT, m->m_type);
  ------------------
  |  |  220|      0|#define	m_type		m_hdr.mh_type
  ------------------
 1293|      0|			if (n == NULL)
  ------------------
  |  Branch (1293:8): [True: 0, False: 0]
  ------------------
 1294|      0|				break;
 1295|      0|			n->m_len = min(MLEN, len);
  ------------------
  |  |  218|      0|#define	m_len		m_hdr.mh_len
  ------------------
              			n->m_len = min(MLEN, len);
  ------------------
  |  |   66|      0|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1296|      0|			m->m_next = n;
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
 1297|      0|		}
 1298|  29.8k|		m = m->m_next;
  ------------------
  |  |  217|  29.8k|#define	m_next		m_hdr.mh_next
  ------------------
 1299|  29.8k|	}
 1300|  28.1k|out:	if (((m = m0)->m_flags & M_PKTHDR) && (m->m_pkthdr.len < totlen))
  ------------------
  |  |  221|  28.1k|#define	m_flags		m_hdr.mh_flags
  ------------------
              out:	if (((m = m0)->m_flags & M_PKTHDR) && (m->m_pkthdr.len < totlen))
  ------------------
  |  |  234|  28.1k|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
              out:	if (((m = m0)->m_flags & M_PKTHDR) && (m->m_pkthdr.len < totlen))
  ------------------
  |  |  224|  28.1k|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
  |  Branch (1300:10): [True: 28.1k, False: 0]
  |  Branch (1300:44): [True: 0, False: 28.1k]
  ------------------
 1301|      0|		m->m_pkthdr.len = totlen;
  ------------------
  |  |  224|      0|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
 1302|  28.1k|}
m_prepend:
 1344|   197k|{
 1345|   197k|	struct mbuf *mn;
 1346|       |
 1347|   197k|	if (m->m_flags & M_PKTHDR)
  ------------------
  |  |  221|   197k|#define	m_flags		m_hdr.mh_flags
  ------------------
              	if (m->m_flags & M_PKTHDR)
  ------------------
  |  |  234|   197k|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (1347:6): [True: 0, False: 197k]
  ------------------
 1348|      0|		MGETHDR(mn, how, m->m_type);
  ------------------
  |  |   68|      0|#define	MGETHDR(m, how, type)	((m) = m_gethdr((how), (type)))
  ------------------
 1349|   197k|	else
 1350|   197k|		MGET(mn, how, m->m_type);
  ------------------
  |  |   67|   197k|#define	MGET(m, how, type)	((m) = m_get((how), (type)))
  ------------------
 1351|   197k|	if (mn == NULL) {
  ------------------
  |  Branch (1351:6): [True: 0, False: 197k]
  ------------------
 1352|      0|		m_freem(m);
 1353|      0|		return (NULL);
 1354|      0|	}
 1355|   197k|	if (m->m_flags & M_PKTHDR)
  ------------------
  |  |  221|   197k|#define	m_flags		m_hdr.mh_flags
  ------------------
              	if (m->m_flags & M_PKTHDR)
  ------------------
  |  |  234|   197k|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (1355:6): [True: 0, False: 197k]
  ------------------
 1356|      0|		M_MOVE_PKTHDR(mn, m);
  ------------------
  |  |   66|      0|#define	M_MOVE_PKTHDR(to, from)	m_move_pkthdr((to), (from))
  ------------------
 1357|   197k|	mn->m_next = m;
  ------------------
  |  |  217|   197k|#define	m_next		m_hdr.mh_next
  ------------------
 1358|   197k|	m = mn;
 1359|   197k|	if (m->m_flags & M_PKTHDR) {
  ------------------
  |  |  221|   197k|#define	m_flags		m_hdr.mh_flags
  ------------------
              	if (m->m_flags & M_PKTHDR) {
  ------------------
  |  |  234|   197k|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (1359:6): [True: 0, False: 197k]
  ------------------
 1360|      0|		if (len < MHLEN)
  ------------------
  |  |  139|      0|#define	MHLEN		((int)(MLEN - sizeof(struct pkthdr)))	/* data len w/pkthdr */
  |  |  ------------------
  |  |  |  |  138|      0|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|      0|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (1360:7): [True: 0, False: 0]
  ------------------
 1361|      0|			MH_ALIGN(m, len);
  ------------------
  |  |  399|      0|#define	MH_ALIGN(m, len) do {						\
  |  |  400|      0|        KASSERT((m)->m_flags & M_PKTHDR && !((m)->m_flags & M_EXT),     \
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  401|      0|                ("%s: MH_ALIGN not PKTHDR mbuf", __func__));            \
  |  |  402|      0|        KASSERT((m)->m_data == (m)->m_pktdat,                           \
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  403|      0|                ("%s: MH_ALIGN not a virgin mbuf", __func__));          \
  |  |  404|      0|	(m)->m_data += (MHLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  ------------------
  |  |  |  |  219|      0|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	(m)->m_data += (MHLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  ------------------
  |  |  |  |  139|      0|#define	MHLEN		((int)(MLEN - sizeof(struct pkthdr)))	/* data len w/pkthdr */
  |  |  |  |  ------------------
  |  |  |  |  |  |  138|      0|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   47|      0|#define MSIZE 256
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  405|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (405:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1362|   197k|	} else {
 1363|   197k|		if (len < MLEN)
  ------------------
  |  |  138|   197k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  ------------------
  |  |  |  |   47|   197k|#define MSIZE 256
  |  |  ------------------
  ------------------
  |  Branch (1363:7): [True: 197k, False: 0]
  ------------------
 1364|   197k|			M_ALIGN(m, len);
  ------------------
  |  |  387|   197k|#define	M_ALIGN(m, len) do {						\
  |  |  388|   197k|        KASSERT(!((m)->m_flags & (M_PKTHDR|M_EXT)),                     \
  |  |  ------------------
  |  |  |  |  112|   197k|	do {                         \
  |  |  |  |  113|   197k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 197k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   197k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  389|   197k|                ("%s: M_ALIGN not normal mbuf", __func__));             \
  |  |  390|   197k|        KASSERT((m)->m_data == (m)->m_dat,                              \
  |  |  ------------------
  |  |  |  |  112|   197k|	do {                         \
  |  |  |  |  113|   197k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 197k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   197k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  391|   197k|                ("%s: M_ALIGN not a virgin mbuf", __func__));           \
  |  |  392|   197k|	(m)->m_data += (MLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  ------------------
  |  |  |  |  219|   197k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  |  |               	(m)->m_data += (MLEN - (len)) & ~(sizeof(long) - 1);		\
  |  |  ------------------
  |  |  |  |  138|   197k|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|   197k|#define MSIZE 256
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  393|   197k|} while (0)
  |  |  ------------------
  |  |  |  Branch (393:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1365|   197k|	}
 1366|   197k|	m->m_len = len;
  ------------------
  |  |  218|   197k|#define	m_len		m_hdr.mh_len
  ------------------
 1367|   197k|	return (m);
 1368|   197k|}
m_copydata:
 1376|   218k|{
 1377|   218k|	u_int count;
 1378|       |
 1379|   218k|	KASSERT(off >= 0, ("m_copydata, negative off %d", off));
  ------------------
  |  |  112|   218k|	do {                         \
  |  |  113|   218k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 218k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   218k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1380|   218k|	KASSERT(len >= 0, ("m_copydata, negative len %d", len));
  ------------------
  |  |  112|   218k|	do {                         \
  |  |  113|   218k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 218k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   218k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1381|   219k|	while (off > 0) {
  ------------------
  |  Branch (1381:9): [True: 1.40k, False: 218k]
  ------------------
 1382|  1.40k|		KASSERT(m != NULL, ("m_copydata, offset > size of mbuf chain"));
  ------------------
  |  |  112|  1.40k|	do {                         \
  |  |  113|  1.40k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 1.40k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  1.40k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1383|  1.40k|		if (off < m->m_len)
  ------------------
  |  |  218|  1.40k|#define	m_len		m_hdr.mh_len
  ------------------
  |  Branch (1383:7): [True: 440, False: 969]
  ------------------
 1384|    440|			break;
 1385|    969|		off -= m->m_len;
  ------------------
  |  |  218|    969|#define	m_len		m_hdr.mh_len
  ------------------
 1386|    969|		m = m->m_next;
  ------------------
  |  |  217|    969|#define	m_next		m_hdr.mh_next
  ------------------
 1387|    969|	}
 1388|   882k|	while (len > 0) {
  ------------------
  |  Branch (1388:9): [True: 664k, False: 218k]
  ------------------
 1389|   664k|		KASSERT(m != NULL, ("m_copydata, length > size of mbuf chain"));
  ------------------
  |  |  112|   664k|	do {                         \
  |  |  113|   664k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 664k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   664k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1390|   664k|		count = min(m->m_len - off, len);
  ------------------
  |  |   66|   664k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 601, False: 663k]
  |  |  ------------------
  ------------------
 1391|   664k|		memcpy(cp, mtod(m, caddr_t) + off, count);
  ------------------
  |  |   96|   664k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|   664k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 1392|   664k|		len -= count;
 1393|   664k|		cp += count;
 1394|   664k|		off = 0;
 1395|   664k|		m = m->m_next;
  ------------------
  |  |  217|   664k|#define	m_next		m_hdr.mh_next
  ------------------
 1396|   664k|	}
 1397|   218k|}
m_adj:
 1427|  1.44k|{
 1428|  1.44k|	int len = req_len;
 1429|  1.44k|	struct mbuf *m;
 1430|  1.44k|	int count;
 1431|       |
 1432|  1.44k|	if ((m = mp) == NULL)
  ------------------
  |  Branch (1432:6): [True: 0, False: 1.44k]
  ------------------
 1433|      0|		return;
 1434|  1.44k|	if (len >= 0) {
  ------------------
  |  Branch (1434:6): [True: 732, False: 709]
  ------------------
 1435|       |		/*
 1436|       |		 * Trim from head.
 1437|       |		 */
 1438|  2.21k|		while (m != NULL && len > 0) {
  ------------------
  |  Branch (1438:10): [True: 2.21k, False: 0]
  |  Branch (1438:23): [True: 1.48k, False: 732]
  ------------------
 1439|  1.48k|			if (m->m_len <= len) {
  ------------------
  |  |  218|  1.48k|#define	m_len		m_hdr.mh_len
  ------------------
  |  Branch (1439:8): [True: 789, False: 695]
  ------------------
 1440|    789|				len -= m->m_len;
  ------------------
  |  |  218|    789|#define	m_len		m_hdr.mh_len
  ------------------
 1441|    789|				m->m_len = 0;
  ------------------
  |  |  218|    789|#define	m_len		m_hdr.mh_len
  ------------------
 1442|    789|				m = m->m_next;
  ------------------
  |  |  217|    789|#define	m_next		m_hdr.mh_next
  ------------------
 1443|    789|			} else {
 1444|    695|				m->m_len -= len;
  ------------------
  |  |  218|    695|#define	m_len		m_hdr.mh_len
  ------------------
 1445|    695|				m->m_data += len;
  ------------------
  |  |  219|    695|#define	m_data		m_hdr.mh_data
  ------------------
 1446|    695|				len = 0;
 1447|    695|			}
 1448|  1.48k|		}
 1449|    732|		m = mp;
 1450|    732|		if (mp->m_flags & M_PKTHDR)
  ------------------
  |  |  221|    732|#define	m_flags		m_hdr.mh_flags
  ------------------
              		if (mp->m_flags & M_PKTHDR)
  ------------------
  |  |  234|    732|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (1450:7): [True: 103, False: 629]
  ------------------
 1451|    103|			m->m_pkthdr.len -= (req_len - len);
  ------------------
  |  |  224|    103|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
 1452|    732|	} else {
 1453|       |		/*
 1454|       |		 * Trim from tail.  Scan the mbuf chain,
 1455|       |		 * calculating its length and finding the last mbuf.
 1456|       |		 * If the adjustment only affects this mbuf, then just
 1457|       |		 * adjust and return.  Otherwise, rescan and truncate
 1458|       |		 * after the remaining size.
 1459|       |		 */
 1460|    709|		len = -len;
 1461|    709|		count = 0;
 1462|  1.48k|		for (;;) {
 1463|  1.48k|			count += m->m_len;
  ------------------
  |  |  218|  1.48k|#define	m_len		m_hdr.mh_len
  ------------------
 1464|  1.48k|			if (m->m_next == (struct mbuf *)0)
  ------------------
  |  |  217|  1.48k|#define	m_next		m_hdr.mh_next
  ------------------
  |  Branch (1464:8): [True: 709, False: 775]
  ------------------
 1465|    709|				break;
 1466|    775|			m = m->m_next;
  ------------------
  |  |  217|    775|#define	m_next		m_hdr.mh_next
  ------------------
 1467|    775|		}
 1468|    709|		if (m->m_len >= len) {
  ------------------
  |  |  218|    709|#define	m_len		m_hdr.mh_len
  ------------------
  |  Branch (1468:7): [True: 709, False: 0]
  ------------------
 1469|    709|			m->m_len -= len;
  ------------------
  |  |  218|    709|#define	m_len		m_hdr.mh_len
  ------------------
 1470|    709|			if (mp->m_flags & M_PKTHDR)
  ------------------
  |  |  221|    709|#define	m_flags		m_hdr.mh_flags
  ------------------
              			if (mp->m_flags & M_PKTHDR)
  ------------------
  |  |  234|    709|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (1470:8): [True: 87, False: 622]
  ------------------
 1471|     87|				mp->m_pkthdr.len -= len;
  ------------------
  |  |  224|     87|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
 1472|    709|			return;
 1473|    709|		}
 1474|      0|		count -= len;
 1475|      0|		if (count < 0)
  ------------------
  |  Branch (1475:7): [True: 0, False: 0]
  ------------------
 1476|      0|			count = 0;
 1477|       |		/*
 1478|       |		 * Correct length for chain is "count".
 1479|       |		 * Find the mbuf with last data, adjust its length,
 1480|       |		 * and toss data from remaining mbufs on chain.
 1481|       |		 */
 1482|      0|		m = mp;
 1483|      0|		if (m->m_flags & M_PKTHDR)
  ------------------
  |  |  221|      0|#define	m_flags		m_hdr.mh_flags
  ------------------
              		if (m->m_flags & M_PKTHDR)
  ------------------
  |  |  234|      0|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (1483:7): [True: 0, False: 0]
  ------------------
 1484|      0|			m->m_pkthdr.len = count;
  ------------------
  |  |  224|      0|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
 1485|      0|		for (; m; m = m->m_next) {
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
  |  Branch (1485:10): [True: 0, False: 0]
  ------------------
 1486|      0|			if (m->m_len >= count) {
  ------------------
  |  |  218|      0|#define	m_len		m_hdr.mh_len
  ------------------
  |  Branch (1486:8): [True: 0, False: 0]
  ------------------
 1487|      0|				m->m_len = count;
  ------------------
  |  |  218|      0|#define	m_len		m_hdr.mh_len
  ------------------
 1488|      0|				if (m->m_next != NULL) {
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
  |  Branch (1488:9): [True: 0, False: 0]
  ------------------
 1489|      0|					m_freem(m->m_next);
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
 1490|      0|					m->m_next = NULL;
  ------------------
  |  |  217|      0|#define	m_next		m_hdr.mh_next
  ------------------
 1491|      0|				}
 1492|      0|				break;
 1493|      0|			}
 1494|      0|			count -= m->m_len;
  ------------------
  |  |  218|      0|#define	m_len		m_hdr.mh_len
  ------------------
 1495|      0|		}
 1496|      0|	}
 1497|  1.44k|}
user_mbuf.c:mbuf_constructor_dup:
   81|  1.53M|{
   82|  1.53M|	int flags = pkthdr;
   83|       |
   84|  1.53M|	m->m_next = NULL;
  ------------------
  |  |  217|  1.53M|#define	m_next		m_hdr.mh_next
  ------------------
   85|  1.53M|	m->m_nextpkt = NULL;
  ------------------
  |  |  222|  1.53M|#define	m_nextpkt	m_hdr.mh_nextpkt
  ------------------
   86|  1.53M|	m->m_len = 0;
  ------------------
  |  |  218|  1.53M|#define	m_len		m_hdr.mh_len
  ------------------
   87|  1.53M|	m->m_flags = flags;
  ------------------
  |  |  221|  1.53M|#define	m_flags		m_hdr.mh_flags
  ------------------
   88|  1.53M|	m->m_type = type;
  ------------------
  |  |  220|  1.53M|#define	m_type		m_hdr.mh_type
  ------------------
   89|  1.53M|	if (flags & M_PKTHDR) {
  ------------------
  |  |  234|  1.53M|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (89:6): [True: 157k, False: 1.38M]
  ------------------
   90|   157k|		m->m_data = m->m_pktdat;
  ------------------
  |  |  219|   157k|#define	m_data		m_hdr.mh_data
  ------------------
              		m->m_data = m->m_pktdat;
  ------------------
  |  |  226|   157k|#define	m_pktdat	M_dat.MH.MH_dat.MH_databuf
  ------------------
   91|   157k|		m->m_pkthdr.rcvif = NULL;
  ------------------
  |  |  224|   157k|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
   92|   157k|		m->m_pkthdr.len = 0;
  ------------------
  |  |  224|   157k|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
   93|   157k|		m->m_pkthdr.header = NULL;
  ------------------
  |  |  224|   157k|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
   94|   157k|		m->m_pkthdr.csum_flags = 0;
  ------------------
  |  |  224|   157k|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
   95|   157k|		m->m_pkthdr.csum_data = 0;
  ------------------
  |  |  224|   157k|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
   96|   157k|		m->m_pkthdr.tso_segsz = 0;
  ------------------
  |  |  224|   157k|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
   97|   157k|		m->m_pkthdr.ether_vtag = 0;
  ------------------
  |  |  224|   157k|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
   98|   157k|		SLIST_INIT(&m->m_pkthdr.tags);
   99|   157k|	} else
  100|  1.38M|		m->m_data = m->m_dat;
  ------------------
  |  |  219|  1.38M|#define	m_data		m_hdr.mh_data
  ------------------
              		m->m_data = m->m_dat;
  ------------------
  |  |  227|  1.38M|#define	m_dat		M_dat.M_databuf
  ------------------
  101|       |
  102|  1.53M|	return (0);
  103|  1.53M|}
user_mbuf.c:clust_constructor_dup:
  206|  72.1k|{
  207|  72.1k|	u_int *refcnt;
  208|  72.1k|	int type, size;
  209|       |
  210|  72.1k|	if (m == NULL) {
  ------------------
  |  Branch (210:6): [True: 0, False: 72.1k]
  ------------------
  211|      0|		return;
  212|      0|	}
  213|       |	/* Assigning cluster of MCLBYTES. TODO: Add jumbo frame functionality */
  214|  72.1k|	type = EXT_CLUSTER;
  ------------------
  |  |  270|  72.1k|#define	EXT_CLUSTER	1	/* mbuf cluster */
  ------------------
  215|  72.1k|	size = MCLBYTES;
  ------------------
  |  |   51|  72.1k|#define MCLBYTES 2048
  ------------------
  216|       |
  217|  72.1k|	refcnt = SCTP_ZONE_GET(zone_ext_refcnt, u_int);
  ------------------
  |  |  697|  72.1k|        (type *)malloc(zone);
  ------------------
  218|       |	/*refcnt = (u_int *)umem_cache_alloc(zone_ext_refcnt, UMEM_DEFAULT);*/
  219|       |#if !defined(SCTP_SIMPLE_ALLOCATOR)
  220|       |	if (refcnt == NULL) {
  221|       |		umem_reap();
  222|       |		refcnt = SCTP_ZONE_GET(zone_ext_refcnt, u_int);
  223|       |		/*refcnt = (u_int *)umem_cache_alloc(zone_ext_refcnt, UMEM_DEFAULT);*/
  224|       |	}
  225|       |#endif
  226|  72.1k|	*refcnt = 1;
  227|  72.1k|	m->m_ext.ext_buf = (caddr_t)m_clust;
  ------------------
  |  |  225|  72.1k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  228|  72.1k|	m->m_data = m->m_ext.ext_buf;
  ------------------
  |  |  219|  72.1k|#define	m_data		m_hdr.mh_data
  ------------------
              	m->m_data = m->m_ext.ext_buf;
  ------------------
  |  |  225|  72.1k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  229|  72.1k|	m->m_flags |= M_EXT;
  ------------------
  |  |  221|  72.1k|#define	m_flags		m_hdr.mh_flags
  ------------------
              	m->m_flags |= M_EXT;
  ------------------
  |  |  233|  72.1k|#define	M_EXT		0x0001	/* has associated external storage */
  ------------------
  230|  72.1k|	m->m_ext.ext_free = NULL;
  ------------------
  |  |  225|  72.1k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  231|  72.1k|	m->m_ext.ext_args = NULL;
  ------------------
  |  |  225|  72.1k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  232|  72.1k|	m->m_ext.ext_size = size;
  ------------------
  |  |  225|  72.1k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  233|  72.1k|	m->m_ext.ext_type = type;
  ------------------
  |  |  225|  72.1k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  234|  72.1k|	m->m_ext.ref_cnt = refcnt;
  ------------------
  |  |  225|  72.1k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  235|  72.1k|	return;
  236|  72.1k|}
user_mbuf.c:mb_ctor_mbuf:
  565|  1.53M|{
  566|       |#if USING_MBUF_CONSTRUCTOR
  567|       |	struct mbuf *m;
  568|       |	struct mb_args *args;
  569|       |
  570|       |	int flags;
  571|       |	short type;
  572|       |
  573|       |	m = (struct mbuf *)mem;
  574|       |	args = (struct mb_args *)arg;
  575|       |	flags = args->flags;
  576|       |	type = args->type;
  577|       |
  578|       |	m->m_next = NULL;
  579|       |	m->m_nextpkt = NULL;
  580|       |	m->m_len = 0;
  581|       |	m->m_flags = flags;
  582|       |	m->m_type = type;
  583|       |	if (flags & M_PKTHDR) {
  584|       |		m->m_data = m->m_pktdat;
  585|       |		m->m_pkthdr.rcvif = NULL;
  586|       |		m->m_pkthdr.len = 0;
  587|       |		m->m_pkthdr.header = NULL;
  588|       |		m->m_pkthdr.csum_flags = 0;
  589|       |		m->m_pkthdr.csum_data = 0;
  590|       |		m->m_pkthdr.tso_segsz = 0;
  591|       |		m->m_pkthdr.ether_vtag = 0;
  592|       |		SLIST_INIT(&m->m_pkthdr.tags);
  593|       |	} else
  594|       |		m->m_data = m->m_dat;
  595|       |#endif
  596|  1.53M|	return (0);
  597|  1.53M|}
user_mbuf.c:mb_dtor_mbuf:
  610|  1.53M|{
  611|  1.53M|	struct mbuf *m;
  612|       |
  613|  1.53M|	m = (struct mbuf *)mem;
  614|  1.53M|	if ((m->m_flags & M_PKTHDR) != 0) {
  ------------------
  |  |  221|  1.53M|#define	m_flags		m_hdr.mh_flags
  ------------------
              	if ((m->m_flags & M_PKTHDR) != 0) {
  ------------------
  |  |  234|  1.53M|#define	M_PKTHDR	0x0002	/* start of record */
  ------------------
  |  Branch (614:6): [True: 156k, False: 1.38M]
  ------------------
  615|   156k|		m_tag_delete_chain(m, NULL);
  616|   156k|	}
  617|  1.53M|}
user_mbuf.c:mb_ctor_clust:
  630|  72.1k|{
  631|       |
  632|       |#if USING_MBUF_CONSTRUCTOR
  633|       |	struct mbuf *m;
  634|       |	struct clust_args * cla;
  635|       |	u_int *refcnt;
  636|       |	int type, size;
  637|       |	sctp_zone_t zone;
  638|       |
  639|       |	/* Assigning cluster of MCLBYTES. TODO: Add jumbo frame functionality */
  640|       |	type = EXT_CLUSTER;
  641|       |	zone = zone_clust;
  642|       |	size = MCLBYTES;
  643|       |
  644|       |	cla = (struct clust_args *)arg;
  645|       |	m = cla->parent_mbuf;
  646|       |
  647|       |	refcnt = SCTP_ZONE_GET(zone_ext_refcnt, u_int);
  648|       |	/*refcnt = (u_int *)umem_cache_alloc(zone_ext_refcnt, UMEM_DEFAULT);*/
  649|       |	*refcnt = 1;
  650|       |
  651|       |	if (m != NULL) {
  652|       |		m->m_ext.ext_buf = (caddr_t)mem;
  653|       |		m->m_data = m->m_ext.ext_buf;
  654|       |		m->m_flags |= M_EXT;
  655|       |		m->m_ext.ext_free = NULL;
  656|       |		m->m_ext.ext_args = NULL;
  657|       |		m->m_ext.ext_size = size;
  658|       |		m->m_ext.ext_type = type;
  659|       |		m->m_ext.ref_cnt = refcnt;
  660|       |	}
  661|       |#endif
  662|  72.1k|	return (0);
  663|  72.1k|}
user_mbuf.c:mb_dtor_clust:
  668|  71.9k|{
  669|       |
  670|       |  /* mem is of type caddr_t.  In sys/types.h we have typedef char * caddr_t;  */
  671|       |  /* mb_dtor_clust is called at time of umem_cache_destroy() (the number of times
  672|       |   * mb_dtor_clust is called is equal to the number of individual mbufs allocated
  673|       |   * from zone_clust. Similarly for mb_dtor_mbuf).
  674|       |   * At this point the following:
  675|       |   *  struct mbuf *m;
  676|       |   *   m = (struct mbuf *)arg;
  677|       |   *  assert (*(m->m_ext.ref_cnt) == 0); is not meaningful since  m->m_ext.ref_cnt = NULL;
  678|       |   *  has been done in mb_free_ext().
  679|       |   */
  680|       |
  681|  71.9k|}
user_mbuf.c:mb_dupcl:
 1080|   224k|{
 1081|   224k|	KASSERT((m->m_flags & M_EXT) == M_EXT, ("%s: M_EXT not set", __func__));
  ------------------
  |  |  112|   224k|	do {                         \
  |  |  113|   224k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 224k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   224k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1082|   224k|	KASSERT(m->m_ext.ref_cnt != NULL, ("%s: ref_cnt not set", __func__));
  ------------------
  |  |  112|   224k|	do {                         \
  |  |  113|   224k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 224k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   224k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1083|   224k|	KASSERT((n->m_flags & M_EXT) == 0, ("%s: M_EXT set", __func__));
  ------------------
  |  |  112|   224k|	do {                         \
  |  |  113|   224k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 224k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|   224k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1084|       |
 1085|   224k|	if (*(m->m_ext.ref_cnt) == 1)
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
  |  Branch (1085:6): [True: 2.79k, False: 221k]
  ------------------
 1086|  2.79k|		*(m->m_ext.ref_cnt) += 1;
  ------------------
  |  |  225|  2.79k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
 1087|   221k|	else
 1088|   221k|		atomic_add_int(m->m_ext.ref_cnt, 1);
  ------------------
  |  |   94|   221k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  ------------------
 1089|   224k|	n->m_ext.ext_buf = m->m_ext.ext_buf;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
              	n->m_ext.ext_buf = m->m_ext.ext_buf;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
 1090|   224k|	n->m_ext.ext_free = m->m_ext.ext_free;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
              	n->m_ext.ext_free = m->m_ext.ext_free;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
 1091|   224k|	n->m_ext.ext_args = m->m_ext.ext_args;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
              	n->m_ext.ext_args = m->m_ext.ext_args;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
 1092|   224k|	n->m_ext.ext_size = m->m_ext.ext_size;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
              	n->m_ext.ext_size = m->m_ext.ext_size;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
 1093|   224k|	n->m_ext.ref_cnt = m->m_ext.ref_cnt;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
              	n->m_ext.ref_cnt = m->m_ext.ref_cnt;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
 1094|   224k|	n->m_ext.ext_type = m->m_ext.ext_type;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
              	n->m_ext.ext_type = m->m_ext.ext_type;
  ------------------
  |  |  225|   224k|#define	m_ext		M_dat.MH.MH_dat.MH_ext
  ------------------
 1095|   224k|	n->m_flags |= M_EXT;
  ------------------
  |  |  221|   224k|#define	m_flags		m_hdr.mh_flags
  ------------------
              	n->m_flags |= M_EXT;
  ------------------
  |  |  233|   224k|#define	M_EXT		0x0001	/* has associated external storage */
  ------------------
 1096|   224k|}

recv_thread_init:
 1109|      1|{
 1110|      1|#if defined(INET)
 1111|      1|	struct sockaddr_in addr_ipv4;
 1112|      1|	const int hdrincl = 1;
 1113|      1|#endif
 1114|      1|#if defined(INET6)
 1115|      1|	struct sockaddr_in6 addr_ipv6;
 1116|      1|#endif
 1117|      1|#if defined(INET) || defined(INET6)
 1118|      1|	const int on = 1;
 1119|      1|#endif
 1120|      1|#if !defined(_WIN32)
 1121|      1|	struct timeval timeout;
 1122|       |
 1123|      1|	memset(&timeout, 0, sizeof(struct timeval));
 1124|      1|	timeout.tv_sec  = (SOCKET_TIMEOUT / 1000);
  ------------------
  |  | 1106|      1|#define SOCKET_TIMEOUT 100 /* in ms */
  ------------------
 1125|      1|	timeout.tv_usec = (SOCKET_TIMEOUT % 1000) * 1000;
  ------------------
  |  | 1106|      1|#define SOCKET_TIMEOUT 100 /* in ms */
  ------------------
 1126|       |#else
 1127|       |	unsigned int timeout = SOCKET_TIMEOUT; /* Timeout in milliseconds */
 1128|       |#endif
 1129|       |#if defined(__APPLE__) || defined(__DragonFly__) || defined(__FreeBSD__)
 1130|       |	if (SCTP_BASE_VAR(userspace_route) == -1) {
 1131|       |		if ((SCTP_BASE_VAR(userspace_route) = socket(AF_ROUTE, SOCK_RAW, 0)) == -1) {
 1132|       |			SCTPDBG(SCTP_DEBUG_USR, "Can't create routing socket (errno = %d).\n", errno);
 1133|       |		}
 1134|       |#if 0
 1135|       |		struct sockaddr_nl sanl;
 1136|       |
 1137|       |		if ((SCTP_BASE_VAR(userspace_route) = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) < 0) {
 1138|       |			SCTPDBG(SCTP_DEBUG_USR, "Can't create routing socket (errno = %d.\n", errno);
 1139|       |		}
 1140|       |		memset(&sanl, 0, sizeof(sanl));
 1141|       |		sanl.nl_family = AF_NETLINK;
 1142|       |		sanl.nl_groups = 0;
 1143|       |#ifdef INET
 1144|       |		sanl.nl_groups |= RTMGRP_IPV4_IFADDR;
 1145|       |#endif
 1146|       |#ifdef INET6
 1147|       |		sanl.nl_groups |= RTMGRP_IPV6_IFADDR;
 1148|       |#endif
 1149|       |		if (bind(SCTP_BASE_VAR(userspace_route), (struct sockaddr *) &sanl, sizeof(sanl)) < 0) {
 1150|       |			SCTPDBG(SCTP_DEBUG_USR, "Can't bind routing socket (errno = %d).\n", errno);
 1151|       |			close(SCTP_BASE_VAR(userspace_route));
 1152|       |			SCTP_BASE_VAR(userspace_route) = -1;
 1153|       |		}
 1154|       |#endif
 1155|       |		if (SCTP_BASE_VAR(userspace_route) != -1) {
 1156|       |			if (setsockopt(SCTP_BASE_VAR(userspace_route), SOL_SOCKET, SO_RCVTIMEO,(const void*)&timeout, sizeof(struct timeval)) < 0) {
 1157|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set timeout on routing socket (errno = %d).\n", errno);
 1158|       |#if defined(_WIN32)
 1159|       |				closesocket(SCTP_BASE_VAR(userspace_route));
 1160|       |#else
 1161|       |				close(SCTP_BASE_VAR(userspace_route));
 1162|       |#endif
 1163|       |				SCTP_BASE_VAR(userspace_route) = -1;
 1164|       |			}
 1165|       |		}
 1166|       |	}
 1167|       |#endif
 1168|      1|#if defined(INET)
 1169|      1|	if (SCTP_BASE_VAR(userspace_rawsctp) == -1) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1169:6): [True: 1, False: 0]
  ------------------
 1170|      1|		if ((SCTP_BASE_VAR(userspace_rawsctp) = socket(AF_INET, SOCK_RAW, IPPROTO_SCTP)) == -1) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1170:7): [True: 0, False: 1]
  ------------------
 1171|       |#if defined(_WIN32)
 1172|       |			SCTPDBG(SCTP_DEBUG_USR, "Can't create raw socket for IPv4 (errno = %d).\n", WSAGetLastError());
 1173|       |#else
 1174|      0|			SCTPDBG(SCTP_DEBUG_USR, "Can't create raw socket for IPv4 (errno = %d).\n", errno);
 1175|      0|#endif
 1176|      1|		} else {
 1177|       |			/* complete setting up the raw SCTP socket */
 1178|      1|			if (setsockopt(SCTP_BASE_VAR(userspace_rawsctp), IPPROTO_IP, IP_HDRINCL,(const void*)&hdrincl, sizeof(int)) < 0) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1178:8): [True: 0, False: 1]
  ------------------
 1179|       |#if defined(_WIN32)
 1180|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set IP_HDRINCL (errno = %d).\n", WSAGetLastError());
 1181|       |				closesocket(SCTP_BASE_VAR(userspace_rawsctp));
 1182|       |#else
 1183|      0|				SCTPDBG(SCTP_DEBUG_USR, "Can't set IP_HDRINCL (errno = %d).\n", errno);
 1184|      0|				close(SCTP_BASE_VAR(userspace_rawsctp));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1185|      0|#endif
 1186|      0|				SCTP_BASE_VAR(userspace_rawsctp) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1187|      1|			} else if (setsockopt(SCTP_BASE_VAR(userspace_rawsctp), SOL_SOCKET, SO_RCVTIMEO, (const void *)&timeout, sizeof(timeout)) < 0) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1187:15): [True: 0, False: 1]
  ------------------
 1188|       |#if defined(_WIN32)
 1189|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set timeout on socket for SCTP/IPv4 (errno = %d).\n", WSAGetLastError());
 1190|       |				closesocket(SCTP_BASE_VAR(userspace_rawsctp));
 1191|       |#else
 1192|      0|				SCTPDBG(SCTP_DEBUG_USR, "Can't set timeout on socket for SCTP/IPv4 (errno = %d).\n", errno);
 1193|      0|				close(SCTP_BASE_VAR(userspace_rawsctp));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1194|      0|#endif
 1195|      0|				SCTP_BASE_VAR(userspace_rawsctp) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1196|      1|			} else {
 1197|      1|				memset((void *)&addr_ipv4, 0, sizeof(struct sockaddr_in));
 1198|       |#ifdef HAVE_SIN_LEN
 1199|       |				addr_ipv4.sin_len         = sizeof(struct sockaddr_in);
 1200|       |#endif
 1201|      1|				addr_ipv4.sin_family      = AF_INET;
 1202|      1|				addr_ipv4.sin_port        = htons(0);
 1203|      1|				addr_ipv4.sin_addr.s_addr = htonl(INADDR_ANY);
 1204|      1|				if (bind(SCTP_BASE_VAR(userspace_rawsctp), (const struct sockaddr *)&addr_ipv4, sizeof(struct sockaddr_in)) < 0) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1204:9): [True: 0, False: 1]
  ------------------
 1205|       |#if defined(_WIN32)
 1206|       |					SCTPDBG(SCTP_DEBUG_USR, "Can't bind socket for SCTP/IPv4 (errno = %d).\n", WSAGetLastError());
 1207|       |					closesocket(SCTP_BASE_VAR(userspace_rawsctp));
 1208|       |#else
 1209|      0|					SCTPDBG(SCTP_DEBUG_USR, "Can't bind socket for SCTP/IPv4 (errno = %d).\n", errno);
 1210|      0|					close(SCTP_BASE_VAR(userspace_rawsctp));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1211|      0|#endif
 1212|      0|					SCTP_BASE_VAR(userspace_rawsctp) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1213|      1|				} else {
 1214|      1|					setReceiveBufferSize(SCTP_BASE_VAR(userspace_rawsctp), SB_RAW); /* 128K */
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
              					setReceiveBufferSize(SCTP_BASE_VAR(userspace_rawsctp), SB_RAW); /* 128K */
  ------------------
  |  |  199|      1|#define SB_RAW          (64*1024*2)    /*Aligning so->so_rcv.sb_hiwat with the receive buffer size of raw socket*/
  ------------------
 1215|      1|					setSendBufferSize(SCTP_BASE_VAR(userspace_rawsctp), SB_RAW); /* 128K Is this setting net.inet.raw.maxdgram value? Should it be set to 64K? */
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
              					setSendBufferSize(SCTP_BASE_VAR(userspace_rawsctp), SB_RAW); /* 128K Is this setting net.inet.raw.maxdgram value? Should it be set to 64K? */
  ------------------
  |  |  199|      1|#define SB_RAW          (64*1024*2)    /*Aligning so->so_rcv.sb_hiwat with the receive buffer size of raw socket*/
  ------------------
 1216|      1|				}
 1217|      1|			}
 1218|      1|		}
 1219|      1|	}
 1220|      1|	if ((SCTP_BASE_VAR(userspace_udpsctp) == -1) && (SCTP_BASE_SYSCTL(sctp_udp_tunneling_port) != 0)) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
              	if ((SCTP_BASE_VAR(userspace_udpsctp) == -1) && (SCTP_BASE_SYSCTL(sctp_udp_tunneling_port) != 0)) {
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (1220:6): [True: 1, False: 0]
  |  Branch (1220:50): [True: 0, False: 1]
  ------------------
 1221|      0|		if ((SCTP_BASE_VAR(userspace_udpsctp) = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1221:7): [True: 0, False: 0]
  ------------------
 1222|       |#if defined(_WIN32)
 1223|       |			SCTPDBG(SCTP_DEBUG_USR, "Can't create socket for SCTP/UDP/IPv4 (errno = %d).\n", WSAGetLastError());
 1224|       |#else
 1225|      0|			SCTPDBG(SCTP_DEBUG_USR, "Can't create socket for SCTP/UDP/IPv4 (errno = %d).\n", errno);
 1226|      0|#endif
 1227|      0|		} else {
 1228|      0|#if defined(IP_PKTINFO)
 1229|      0|			if (setsockopt(SCTP_BASE_VAR(userspace_udpsctp), IPPROTO_IP, IP_PKTINFO, (const void *)&on, (int)sizeof(int)) < 0) {
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1229:8): [True: 0, False: 0]
  ------------------
 1230|       |#else
 1231|       |			if (setsockopt(SCTP_BASE_VAR(userspace_udpsctp), IPPROTO_IP, IP_RECVDSTADDR, (const void *)&on, (int)sizeof(int)) < 0) {
 1232|       |#endif
 1233|       |#if defined(_WIN32)
 1234|       |#if defined(IP_PKTINFO)
 1235|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set IP_PKTINFO on socket for SCTP/UDP/IPv4 (errno = %d).\n", WSAGetLastError());
 1236|       |#else
 1237|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set IP_RECVDSTADDR on socket for SCTP/UDP/IPv4 (errno = %d).\n", WSAGetLastError());
 1238|       |#endif
 1239|       |				closesocket(SCTP_BASE_VAR(userspace_udpsctp));
 1240|       |#else
 1241|      0|#if defined(IP_PKTINFO)
 1242|      0|				SCTPDBG(SCTP_DEBUG_USR, "Can't set IP_PKTINFO on socket for SCTP/UDP/IPv4 (errno = %d).\n", errno);
 1243|       |#else
 1244|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set IP_RECVDSTADDR on socket for SCTP/UDP/IPv4 (errno = %d).\n", errno);
 1245|       |#endif
 1246|      0|				close(SCTP_BASE_VAR(userspace_udpsctp));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1247|      0|#endif
 1248|      0|				SCTP_BASE_VAR(userspace_udpsctp) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1249|      0|			} else if (setsockopt(SCTP_BASE_VAR(userspace_udpsctp), SOL_SOCKET, SO_RCVTIMEO, (const void *)&timeout, sizeof(timeout)) < 0) {
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1249:15): [True: 0, False: 0]
  ------------------
 1250|       |#if defined(_WIN32)
 1251|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set timeout on socket for SCTP/UDP/IPv4 (errno = %d).\n", WSAGetLastError());
 1252|       |				closesocket(SCTP_BASE_VAR(userspace_udpsctp));
 1253|       |#else
 1254|      0|				SCTPDBG(SCTP_DEBUG_USR, "Can't set timeout on socket for SCTP/UDP/IPv4 (errno = %d).\n", errno);
 1255|      0|				close(SCTP_BASE_VAR(userspace_udpsctp));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1256|      0|#endif
 1257|      0|				SCTP_BASE_VAR(userspace_udpsctp) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1258|      0|			} else {
 1259|      0|				memset((void *)&addr_ipv4, 0, sizeof(struct sockaddr_in));
 1260|       |#ifdef HAVE_SIN_LEN
 1261|       |				addr_ipv4.sin_len         = sizeof(struct sockaddr_in);
 1262|       |#endif
 1263|      0|				addr_ipv4.sin_family      = AF_INET;
 1264|      0|				addr_ipv4.sin_port        = htons(SCTP_BASE_SYSCTL(sctp_udp_tunneling_port));
 1265|      0|				addr_ipv4.sin_addr.s_addr = htonl(INADDR_ANY);
 1266|      0|				if (bind(SCTP_BASE_VAR(userspace_udpsctp), (const struct sockaddr *)&addr_ipv4, sizeof(struct sockaddr_in)) < 0) {
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1266:9): [True: 0, False: 0]
  ------------------
 1267|       |#if defined(_WIN32)
 1268|       |					SCTPDBG(SCTP_DEBUG_USR, "Can't bind socket for SCTP/UDP/IPv4 (errno = %d).\n", WSAGetLastError());
 1269|       |					closesocket(SCTP_BASE_VAR(userspace_udpsctp));
 1270|       |#else
 1271|      0|					SCTPDBG(SCTP_DEBUG_USR, "Can't bind socket for SCTP/UDP/IPv4 (errno = %d).\n", errno);
 1272|      0|					close(SCTP_BASE_VAR(userspace_udpsctp));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1273|      0|#endif
 1274|      0|					SCTP_BASE_VAR(userspace_udpsctp) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1275|      0|				} else {
 1276|      0|					setReceiveBufferSize(SCTP_BASE_VAR(userspace_udpsctp), SB_RAW); /* 128K */
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
              					setReceiveBufferSize(SCTP_BASE_VAR(userspace_udpsctp), SB_RAW); /* 128K */
  ------------------
  |  |  199|      0|#define SB_RAW          (64*1024*2)    /*Aligning so->so_rcv.sb_hiwat with the receive buffer size of raw socket*/
  ------------------
 1277|      0|					setSendBufferSize(SCTP_BASE_VAR(userspace_udpsctp), SB_RAW); /* 128K Is this setting net.inet.raw.maxdgram value? Should it be set to 64K? */
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
              					setSendBufferSize(SCTP_BASE_VAR(userspace_udpsctp), SB_RAW); /* 128K Is this setting net.inet.raw.maxdgram value? Should it be set to 64K? */
  ------------------
  |  |  199|      0|#define SB_RAW          (64*1024*2)    /*Aligning so->so_rcv.sb_hiwat with the receive buffer size of raw socket*/
  ------------------
 1278|      0|				}
 1279|      0|			}
 1280|      0|		}
 1281|      0|	}
 1282|      1|#endif
 1283|      1|#if defined(INET6)
 1284|      1|	if (SCTP_BASE_VAR(userspace_rawsctp6) == -1) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1284:6): [True: 1, False: 0]
  ------------------
 1285|      1|		if ((SCTP_BASE_VAR(userspace_rawsctp6) = socket(AF_INET6, SOCK_RAW, IPPROTO_SCTP)) == -1) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1285:7): [True: 0, False: 1]
  ------------------
 1286|       |#if defined(_WIN32)
 1287|       |			SCTPDBG(SCTP_DEBUG_USR, "Can't create socket for SCTP/IPv6 (errno = %d).\n", WSAGetLastError());
 1288|       |#else
 1289|      0|			SCTPDBG(SCTP_DEBUG_USR, "Can't create socket for SCTP/IPv6 (errno = %d).\n", errno);
 1290|      0|#endif
 1291|      1|		} else {
 1292|       |			/* complete setting up the raw SCTP socket */
 1293|      1|#if defined(IPV6_RECVPKTINFO)
 1294|      1|			if (setsockopt(SCTP_BASE_VAR(userspace_rawsctp6), IPPROTO_IPV6, IPV6_RECVPKTINFO, (const void *)&on, sizeof(on)) < 0) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1294:8): [True: 0, False: 1]
  ------------------
 1295|       |#if defined(_WIN32)
 1296|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_RECVPKTINFO on socket for SCTP/IPv6 (errno = %d).\n", WSAGetLastError());
 1297|       |				closesocket(SCTP_BASE_VAR(userspace_rawsctp6));
 1298|       |#else
 1299|      0|				SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_RECVPKTINFO on socket for SCTP/IPv6 (errno = %d).\n", errno);
 1300|      0|				close(SCTP_BASE_VAR(userspace_rawsctp6));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1301|      0|#endif
 1302|      0|				SCTP_BASE_VAR(userspace_rawsctp6) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1303|      1|			} else {
 1304|       |#else
 1305|       |			if (setsockopt(SCTP_BASE_VAR(userspace_rawsctp6), IPPROTO_IPV6, IPV6_PKTINFO,(const void*)&on, sizeof(on)) < 0) {
 1306|       |#if defined(_WIN32)
 1307|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_PKTINFO on socket for SCTP/IPv6 (errno = %d).\n", WSAGetLastError());
 1308|       |				closesocket(SCTP_BASE_VAR(userspace_rawsctp6));
 1309|       |#else
 1310|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_PKTINFO on socket for SCTP/IPv6 (errno = %d).\n", errno);
 1311|       |				close(SCTP_BASE_VAR(userspace_rawsctp6));
 1312|       |#endif
 1313|       |				SCTP_BASE_VAR(userspace_rawsctp6) = -1;
 1314|       |			} else {
 1315|       |#endif
 1316|      1|				if (setsockopt(SCTP_BASE_VAR(userspace_rawsctp6), IPPROTO_IPV6, IPV6_V6ONLY, (const void*)&on, (socklen_t)sizeof(on)) < 0) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1316:9): [True: 1, False: 0]
  ------------------
 1317|       |#if defined(_WIN32)
 1318|       |					SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_V6ONLY on socket for SCTP/IPv6 (errno = %d).\n", WSAGetLastError());
 1319|       |#else
 1320|      1|					SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_V6ONLY on socket for SCTP/IPv6 (errno = %d).\n", errno);
 1321|      1|#endif
 1322|      1|				}
 1323|      1|				if (setsockopt(SCTP_BASE_VAR(userspace_rawsctp6), SOL_SOCKET, SO_RCVTIMEO, (const void *)&timeout, sizeof(timeout)) < 0) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1323:9): [True: 0, False: 1]
  ------------------
 1324|       |#if defined(_WIN32)
 1325|       |					SCTPDBG(SCTP_DEBUG_USR, "Can't set timeout on socket for SCTP/IPv6 (errno = %d).\n", WSAGetLastError());
 1326|       |					closesocket(SCTP_BASE_VAR(userspace_rawsctp6));
 1327|       |#else
 1328|      0|					SCTPDBG(SCTP_DEBUG_USR, "Can't set timeout on socket for SCTP/IPv6 (errno = %d).\n", errno);
 1329|      0|					close(SCTP_BASE_VAR(userspace_rawsctp6));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1330|      0|#endif
 1331|      0|					SCTP_BASE_VAR(userspace_rawsctp6) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1332|      1|				} else {
 1333|      1|					memset((void *)&addr_ipv6, 0, sizeof(struct sockaddr_in6));
 1334|       |#ifdef HAVE_SIN6_LEN
 1335|       |					addr_ipv6.sin6_len         = sizeof(struct sockaddr_in6);
 1336|       |#endif
 1337|      1|					addr_ipv6.sin6_family      = AF_INET6;
 1338|      1|					addr_ipv6.sin6_port        = htons(0);
 1339|      1|					addr_ipv6.sin6_addr        = in6addr_any;
 1340|      1|					if (bind(SCTP_BASE_VAR(userspace_rawsctp6), (const struct sockaddr *)&addr_ipv6, sizeof(struct sockaddr_in6)) < 0) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1340:10): [True: 0, False: 1]
  ------------------
 1341|       |#if defined(_WIN32)
 1342|       |						SCTPDBG(SCTP_DEBUG_USR, "Can't bind socket for SCTP/IPv6 (errno = %d).\n", WSAGetLastError());
 1343|       |						closesocket(SCTP_BASE_VAR(userspace_rawsctp6));
 1344|       |#else
 1345|      0|						SCTPDBG(SCTP_DEBUG_USR, "Can't bind socket for SCTP/IPv6 (errno = %d).\n", errno);
 1346|      0|						close(SCTP_BASE_VAR(userspace_rawsctp6));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1347|      0|#endif
 1348|      0|						SCTP_BASE_VAR(userspace_rawsctp6) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1349|      1|					} else {
 1350|      1|						setReceiveBufferSize(SCTP_BASE_VAR(userspace_rawsctp6), SB_RAW); /* 128K */
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
              						setReceiveBufferSize(SCTP_BASE_VAR(userspace_rawsctp6), SB_RAW); /* 128K */
  ------------------
  |  |  199|      1|#define SB_RAW          (64*1024*2)    /*Aligning so->so_rcv.sb_hiwat with the receive buffer size of raw socket*/
  ------------------
 1351|      1|						setSendBufferSize(SCTP_BASE_VAR(userspace_rawsctp6), SB_RAW); /* 128K Is this setting net.inet.raw.maxdgram value? Should it be set to 64K? */
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
              						setSendBufferSize(SCTP_BASE_VAR(userspace_rawsctp6), SB_RAW); /* 128K Is this setting net.inet.raw.maxdgram value? Should it be set to 64K? */
  ------------------
  |  |  199|      1|#define SB_RAW          (64*1024*2)    /*Aligning so->so_rcv.sb_hiwat with the receive buffer size of raw socket*/
  ------------------
 1352|      1|					}
 1353|      1|				}
 1354|      1|			}
 1355|      1|		}
 1356|      1|	}
 1357|      1|	if ((SCTP_BASE_VAR(userspace_udpsctp6) == -1) && (SCTP_BASE_SYSCTL(sctp_udp_tunneling_port) != 0)) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
              	if ((SCTP_BASE_VAR(userspace_udpsctp6) == -1) && (SCTP_BASE_SYSCTL(sctp_udp_tunneling_port) != 0)) {
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
  |  Branch (1357:6): [True: 1, False: 0]
  |  Branch (1357:51): [True: 0, False: 1]
  ------------------
 1358|      0|		if ((SCTP_BASE_VAR(userspace_udpsctp6) = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1358:7): [True: 0, False: 0]
  ------------------
 1359|       |#if defined(_WIN32)
 1360|       |			SCTPDBG(SCTP_DEBUG_USR, "Can't create socket for SCTP/UDP/IPv6 (errno = %d).\n", WSAGetLastError());
 1361|       |#else
 1362|      0|			SCTPDBG(SCTP_DEBUG_USR, "Can't create socket for SCTP/UDP/IPv6 (errno = %d).\n", errno);
 1363|      0|#endif
 1364|      0|		}
 1365|      0|#if defined(IPV6_RECVPKTINFO)
 1366|      0|		if (setsockopt(SCTP_BASE_VAR(userspace_udpsctp6), IPPROTO_IPV6, IPV6_RECVPKTINFO, (const void *)&on, (int)sizeof(int)) < 0) {
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1366:7): [True: 0, False: 0]
  ------------------
 1367|       |#if defined(_WIN32)
 1368|       |			SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_RECVPKTINFO on socket for SCTP/UDP/IPv6 (errno = %d).\n", WSAGetLastError());
 1369|       |			closesocket(SCTP_BASE_VAR(userspace_udpsctp6));
 1370|       |#else
 1371|      0|			SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_RECVPKTINFO on socket for SCTP/UDP/IPv6 (errno = %d).\n", errno);
 1372|      0|			close(SCTP_BASE_VAR(userspace_udpsctp6));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1373|      0|#endif
 1374|      0|			SCTP_BASE_VAR(userspace_udpsctp6) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1375|      0|		} else {
 1376|       |#else
 1377|       |		if (setsockopt(SCTP_BASE_VAR(userspace_udpsctp6), IPPROTO_IPV6, IPV6_PKTINFO, (const void *)&on, (int)sizeof(int)) < 0) {
 1378|       |#if defined(_WIN32)
 1379|       |			SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_PKTINFO on socket for SCTP/UDP/IPv6 (errno = %d).\n", WSAGetLastError());
 1380|       |			closesocket(SCTP_BASE_VAR(userspace_udpsctp6));
 1381|       |#else
 1382|       |			SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_PKTINFO on socket for SCTP/UDP/IPv6 (errno = %d).\n", errno);
 1383|       |			close(SCTP_BASE_VAR(userspace_udpsctp6));
 1384|       |#endif
 1385|       |			SCTP_BASE_VAR(userspace_udpsctp6) = -1;
 1386|       |		} else {
 1387|       |#endif
 1388|      0|			if (setsockopt(SCTP_BASE_VAR(userspace_udpsctp6), IPPROTO_IPV6, IPV6_V6ONLY, (const void *)&on, (socklen_t)sizeof(on)) < 0) {
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1388:8): [True: 0, False: 0]
  ------------------
 1389|       |#if defined(_WIN32)
 1390|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_V6ONLY on socket for SCTP/UDP/IPv6 (errno = %d).\n", WSAGetLastError());
 1391|       |#else
 1392|      0|				SCTPDBG(SCTP_DEBUG_USR, "Can't set IPV6_V6ONLY on socket for SCTP/UDP/IPv6 (errno = %d).\n", errno);
 1393|      0|#endif
 1394|      0|			}
 1395|      0|			if (setsockopt(SCTP_BASE_VAR(userspace_udpsctp6), SOL_SOCKET, SO_RCVTIMEO, (const void *)&timeout, sizeof(timeout)) < 0) {
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1395:8): [True: 0, False: 0]
  ------------------
 1396|       |#if defined(_WIN32)
 1397|       |				SCTPDBG(SCTP_DEBUG_USR, "Can't set timeout on socket for SCTP/UDP/IPv6 (errno = %d).\n", WSAGetLastError());
 1398|       |				closesocket(SCTP_BASE_VAR(userspace_udpsctp6));
 1399|       |#else
 1400|      0|				SCTPDBG(SCTP_DEBUG_USR, "Can't set timeout on socket for SCTP/UDP/IPv6 (errno = %d).\n", errno);
 1401|      0|				close(SCTP_BASE_VAR(userspace_udpsctp6));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1402|      0|#endif
 1403|      0|				SCTP_BASE_VAR(userspace_udpsctp6) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1404|      0|			} else {
 1405|      0|				memset((void *)&addr_ipv6, 0, sizeof(struct sockaddr_in6));
 1406|       |#ifdef HAVE_SIN6_LEN
 1407|       |				addr_ipv6.sin6_len         = sizeof(struct sockaddr_in6);
 1408|       |#endif
 1409|      0|				addr_ipv6.sin6_family      = AF_INET6;
 1410|      0|				addr_ipv6.sin6_port        = htons(SCTP_BASE_SYSCTL(sctp_udp_tunneling_port));
 1411|      0|				addr_ipv6.sin6_addr        = in6addr_any;
 1412|      0|				if (bind(SCTP_BASE_VAR(userspace_udpsctp6), (const struct sockaddr *)&addr_ipv6, sizeof(struct sockaddr_in6)) < 0) {
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1412:9): [True: 0, False: 0]
  ------------------
 1413|       |#if defined(_WIN32)
 1414|       |					SCTPDBG(SCTP_DEBUG_USR, "Can't bind socket for SCTP/UDP/IPv6 (errno = %d).\n", WSAGetLastError());
 1415|       |					closesocket(SCTP_BASE_VAR(userspace_udpsctp6));
 1416|       |#else
 1417|      0|					SCTPDBG(SCTP_DEBUG_USR, "Can't bind socket for SCTP/UDP/IPv6 (errno = %d).\n", errno);
 1418|      0|					close(SCTP_BASE_VAR(userspace_udpsctp6));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1419|      0|#endif
 1420|      0|					SCTP_BASE_VAR(userspace_udpsctp6) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1421|      0|				} else {
 1422|      0|					setReceiveBufferSize(SCTP_BASE_VAR(userspace_udpsctp6), SB_RAW); /* 128K */
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
              					setReceiveBufferSize(SCTP_BASE_VAR(userspace_udpsctp6), SB_RAW); /* 128K */
  ------------------
  |  |  199|      0|#define SB_RAW          (64*1024*2)    /*Aligning so->so_rcv.sb_hiwat with the receive buffer size of raw socket*/
  ------------------
 1423|      0|					setSendBufferSize(SCTP_BASE_VAR(userspace_udpsctp6), SB_RAW); /* 128K Is this setting net.inet.raw.maxdgram value? Should it be set to 64K? */
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
              					setSendBufferSize(SCTP_BASE_VAR(userspace_udpsctp6), SB_RAW); /* 128K Is this setting net.inet.raw.maxdgram value? Should it be set to 64K? */
  ------------------
  |  |  199|      0|#define SB_RAW          (64*1024*2)    /*Aligning so->so_rcv.sb_hiwat with the receive buffer size of raw socket*/
  ------------------
 1424|      0|				}
 1425|      0|			}
 1426|      0|		}
 1427|      0|	}
 1428|      1|#endif
 1429|       |#if defined(__APPLE__) || defined(__DragonFly__) || defined(__FreeBSD__)
 1430|       |#if defined(INET) || defined(INET6)
 1431|       |	if (SCTP_BASE_VAR(userspace_route) != -1) {
 1432|       |		int rc;
 1433|       |
 1434|       |		if ((rc = sctp_userspace_thread_create(&SCTP_BASE_VAR(recvthreadroute), &recv_function_route))) {
 1435|       |			SCTPDBG(SCTP_DEBUG_USR, "Can't start routing thread (%d).\n", rc);
 1436|       |			close(SCTP_BASE_VAR(userspace_route));
 1437|       |			SCTP_BASE_VAR(userspace_route) = -1;
 1438|       |		}
 1439|       |	}
 1440|       |#endif
 1441|       |#endif
 1442|      1|#if defined(INET)
 1443|      1|	if (SCTP_BASE_VAR(userspace_rawsctp) != -1) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1443:6): [True: 1, False: 0]
  ------------------
 1444|      1|		int rc;
 1445|       |
 1446|      1|		if ((rc = sctp_userspace_thread_create(&SCTP_BASE_VAR(recvthreadraw), &recv_function_raw))) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1446:7): [True: 0, False: 1]
  ------------------
 1447|      0|			SCTPDBG(SCTP_DEBUG_USR, "Can't start SCTP/IPv4 recv thread (%d).\n", rc);
 1448|       |#if defined(_WIN32)
 1449|       |			closesocket(SCTP_BASE_VAR(userspace_rawsctp));
 1450|       |#else
 1451|      0|			close(SCTP_BASE_VAR(userspace_rawsctp));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1452|      0|#endif
 1453|      0|			SCTP_BASE_VAR(userspace_rawsctp) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1454|      0|		}
 1455|      1|	}
 1456|      1|	if (SCTP_BASE_VAR(userspace_udpsctp) != -1) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1456:6): [True: 0, False: 1]
  ------------------
 1457|      0|		int rc;
 1458|       |
 1459|      0|		if ((rc = sctp_userspace_thread_create(&SCTP_BASE_VAR(recvthreadudp), &recv_function_udp))) {
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1459:7): [True: 0, False: 0]
  ------------------
 1460|      0|			SCTPDBG(SCTP_DEBUG_USR, "Can't start SCTP/UDP/IPv4 recv thread (%d).\n", rc);
 1461|       |#if defined(_WIN32)
 1462|       |			closesocket(SCTP_BASE_VAR(userspace_udpsctp));
 1463|       |#else
 1464|      0|			close(SCTP_BASE_VAR(userspace_udpsctp));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1465|      0|#endif
 1466|      0|			SCTP_BASE_VAR(userspace_udpsctp) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1467|      0|		}
 1468|      0|	}
 1469|      1|#endif
 1470|      1|#if defined(INET6)
 1471|      1|	if (SCTP_BASE_VAR(userspace_rawsctp6) != -1) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1471:6): [True: 1, False: 0]
  ------------------
 1472|      1|		int rc;
 1473|       |
 1474|      1|		if ((rc = sctp_userspace_thread_create(&SCTP_BASE_VAR(recvthreadraw6), &recv_function_raw6))) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1474:7): [True: 0, False: 1]
  ------------------
 1475|      0|			SCTPDBG(SCTP_DEBUG_USR, "Can't start SCTP/IPv6 recv thread (%d).\n", rc);
 1476|       |#if defined(_WIN32)
 1477|       |			closesocket(SCTP_BASE_VAR(userspace_rawsctp6));
 1478|       |#else
 1479|      0|			close(SCTP_BASE_VAR(userspace_rawsctp6));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1480|      0|#endif
 1481|      0|			SCTP_BASE_VAR(userspace_rawsctp6) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1482|      0|		}
 1483|      1|	}
 1484|      1|	if (SCTP_BASE_VAR(userspace_udpsctp6) != -1) {
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1484:6): [True: 0, False: 1]
  ------------------
 1485|      0|		int rc;
 1486|       |
 1487|      0|		if ((rc = sctp_userspace_thread_create(&SCTP_BASE_VAR(recvthreadudp6), &recv_function_udp6))) {
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1487:7): [True: 0, False: 0]
  ------------------
 1488|      0|			SCTPDBG(SCTP_DEBUG_USR, "Can't start SCTP/UDP/IPv6 recv thread (%d).\n", rc);
 1489|       |#if defined(_WIN32)
 1490|       |			closesocket(SCTP_BASE_VAR(userspace_udpsctp6));
 1491|       |#else
 1492|      0|			close(SCTP_BASE_VAR(userspace_udpsctp6));
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1493|      0|#endif
 1494|      0|			SCTP_BASE_VAR(userspace_udpsctp6) = -1;
  ------------------
  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 1495|      0|		}
 1496|      0|	}
 1497|      1|#endif
 1498|      1|}
user_recv_thread.c:setReceiveBufferSize:
 1073|      2|{
 1074|      2|	int ch = new_size;
 1075|       |
 1076|      2|	if (setsockopt (sfd, SOL_SOCKET, SO_RCVBUF, (void*)&ch, sizeof(ch)) < 0) {
  ------------------
  |  Branch (1076:6): [True: 0, False: 2]
  ------------------
 1077|       |#if defined(_WIN32)
 1078|       |		SCTPDBG(SCTP_DEBUG_USR, "Can't set recv-buffers size (errno = %d).\n", WSAGetLastError());
 1079|       |#else
 1080|      0|		SCTPDBG(SCTP_DEBUG_USR, "Can't set recv-buffers size (errno = %d).\n", errno);
 1081|      0|#endif
 1082|      0|	}
 1083|      2|	return;
 1084|      2|}
user_recv_thread.c:setSendBufferSize:
 1093|      2|{
 1094|      2|	int ch = new_size;
 1095|       |
 1096|      2|	if (setsockopt (sfd, SOL_SOCKET, SO_SNDBUF, (void*)&ch, sizeof(ch)) < 0) {
  ------------------
  |  Branch (1096:6): [True: 0, False: 2]
  ------------------
 1097|       |#if defined(_WIN32)
 1098|       |		SCTPDBG(SCTP_DEBUG_USR, "Can't set send-buffers size (errno = %d).\n", WSAGetLastError());
 1099|       |#else
 1100|      0|		SCTPDBG(SCTP_DEBUG_USR, "Can't set send-buffers size (errno = %d).\n", errno);
 1101|      0|#endif
 1102|      0|	}
 1103|      2|	return;
 1104|      2|}
user_recv_thread.c:recv_function_raw:
  273|      1|{
  274|      1|	struct mbuf **recvmbuf;
  275|      1|	struct ip *iphdr;
  276|      1|	struct sctphdr *sh;
  277|      1|	uint16_t port;
  278|      1|	int offset, ecn = 0;
  279|      1|	int compute_crc = 1;
  280|      1|	struct sctp_chunkhdr *ch;
  281|      1|	struct sockaddr_in src, dst;
  282|      1|#if !defined(_WIN32)
  283|      1|	ssize_t res;
  284|      1|	unsigned int ncounter;
  285|      1|	struct msghdr msg;
  286|      1|	struct iovec recv_iovec[MAXLEN_MBUF_CHAIN];
  287|       |#else
  288|       |	WSABUF recv_iovec[MAXLEN_MBUF_CHAIN];
  289|       |	int nResult, m_ErrorCode;
  290|       |	DWORD flags;
  291|       |	DWORD ncounter;
  292|       |	struct sockaddr_in from;
  293|       |	int fromlen;
  294|       |#endif
  295|       |	/*Initially the entire set of mbufs is to be allocated.
  296|       |	  to_fill indicates this amount. */
  297|      1|	int to_fill = MAXLEN_MBUF_CHAIN;
  ------------------
  |  |   75|      1|#define MAXLEN_MBUF_CHAIN 128
  ------------------
  298|       |	/* iovlen is the size of each mbuf in the chain */
  299|      1|	int i, n;
  300|      1|	unsigned int iovlen = MCLBYTES;
  ------------------
  |  |   51|      1|#define MCLBYTES 2048
  ------------------
  301|      1|	int want_ext = (iovlen > MLEN)? 1 : 0;
  ------------------
  |  |  138|      1|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  ------------------
  |  |  |  |   47|      1|#define MSIZE 256
  |  |  ------------------
  ------------------
  |  Branch (301:17): [True: 1, False: 0]
  ------------------
  302|      1|	int want_header = 0;
  303|       |
  304|      1|	sctp_userspace_set_threadname("SCTP/IP4 rcv");
  305|       |
  306|      1|	memset(&src, 0, sizeof(struct sockaddr_in));
  307|      1|	memset(&dst, 0, sizeof(struct sockaddr_in));
  308|       |
  309|      1|	recvmbuf = malloc(sizeof(struct mbuf *) * MAXLEN_MBUF_CHAIN);
  ------------------
  |  |   75|      1|#define MAXLEN_MBUF_CHAIN 128
  ------------------
  310|       |
  311|    107|	while (1) {
  ------------------
  |  Branch (311:9): [Folded - Ignored]
  ------------------
  312|    234|		for (i = 0; i < to_fill; i++) {
  ------------------
  |  Branch (312:15): [True: 128, False: 106]
  ------------------
  313|       |			/* Not getting the packet header. Tests with chain of one run
  314|       |			   as usual without having the packet header.
  315|       |			   Have tried both sending and receiving
  316|       |			 */
  317|    128|			recvmbuf[i] = sctp_get_mbuf_for_msg(iovlen, want_header, M_NOWAIT, want_ext, MT_DATA);
  ------------------
  |  |   60|    128|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              			recvmbuf[i] = sctp_get_mbuf_for_msg(iovlen, want_header, M_NOWAIT, want_ext, MT_DATA);
  ------------------
  |  |  287|    128|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
  318|    128|#if !defined(_WIN32)
  319|    128|			recv_iovec[i].iov_base = (caddr_t)recvmbuf[i]->m_data;
  ------------------
  |  |  219|    128|#define	m_data		m_hdr.mh_data
  ------------------
  320|    128|			recv_iovec[i].iov_len = iovlen;
  321|       |#else
  322|       |			recv_iovec[i].buf = (caddr_t)recvmbuf[i]->m_data;
  323|       |			recv_iovec[i].len = iovlen;
  324|       |#endif
  325|    128|		}
  326|    106|		to_fill = 0;
  327|       |#if defined(_WIN32)
  328|       |		flags = 0;
  329|       |		ncounter = 0;
  330|       |		fromlen = sizeof(struct sockaddr_in);
  331|       |		memset(&from, 0, sizeof(struct sockaddr_in));
  332|       |
  333|       |		nResult = WSARecvFrom(SCTP_BASE_VAR(userspace_rawsctp), recv_iovec, MAXLEN_MBUF_CHAIN, &ncounter, &flags, (struct sockaddr *)&from, &fromlen, NULL, NULL);
  334|       |		if (nResult != 0) {
  335|       |			m_ErrorCode = WSAGetLastError();
  336|       |			if ((m_ErrorCode == WSAENOTSOCK) || (m_ErrorCode == WSAEINTR)) {
  337|       |				break;
  338|       |			}
  339|       |			continue;
  340|       |		}
  341|       |		n = ncounter;
  342|       |#else
  343|    106|		memset(&msg, 0, sizeof(struct msghdr));
  344|    106|		msg.msg_name = NULL;
  345|    106|		msg.msg_namelen = 0;
  346|    106|		msg.msg_iov = recv_iovec;
  347|    106|		msg.msg_iovlen = MAXLEN_MBUF_CHAIN;
  ------------------
  |  |   75|    106|#define MAXLEN_MBUF_CHAIN 128
  ------------------
  348|    106|		msg.msg_control = NULL;
  349|    106|		msg.msg_controllen = 0;
  350|    106|		res = recvmsg(SCTP_BASE_VAR(userspace_rawsctp), &msg, 0);
  ------------------
  |  |  585|    106|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  351|    106|		if (res < 0) {
  ------------------
  |  Branch (351:7): [True: 105, False: 1]
  ------------------
  352|    105|			if (errno == EAGAIN || errno == EINTR) {
  ------------------
  |  Branch (352:8): [True: 105, False: 0]
  |  Branch (352:27): [True: 0, False: 0]
  ------------------
  353|    105|				continue;
  354|    105|			} else {
  355|      0|				break;
  356|      0|			}
  357|    105|		}
  358|      1|		ncounter = (unsigned int)res;
  359|      1|		n = (int)res;
  360|      1|#endif
  361|      1|		SCTP_HEADER_LEN(recvmbuf[0]) = n; /* length of total packet */
  ------------------
  |  |  915|      1|#define SCTP_HEADER_LEN(m) ((m)->m_pkthdr.len)
  |  |  ------------------
  |  |  |  |  224|      1|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  |  |  ------------------
  ------------------
  362|      1|		SCTP_STAT_INCR(sctps_recvpackets);
  ------------------
  |  | 1112|      1|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      1|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      1|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  363|      1|		SCTP_STAT_INCR_COUNTER64(sctps_inpackets);
  ------------------
  |  | 1128|      1|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      1|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      1|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      1|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  364|       |
  365|      1|		if ((unsigned int)n <= iovlen) {
  ------------------
  |  Branch (365:7): [True: 0, False: 1]
  ------------------
  366|      0|			SCTP_BUF_LEN(recvmbuf[0]) = n;
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  367|      0|			(to_fill)++;
  368|      1|		} else {
  369|      1|			i = 0;
  370|      1|			SCTP_BUF_LEN(recvmbuf[0]) = iovlen;
  ------------------
  |  |  795|      1|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      1|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  371|       |
  372|      1|			ncounter -= min(ncounter, iovlen);
  ------------------
  |  |   66|      1|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  373|      1|			(to_fill)++;
  374|      1|			do {
  375|      1|				recvmbuf[i]->m_next = recvmbuf[i+1];
  ------------------
  |  |  217|      1|#define	m_next		m_hdr.mh_next
  ------------------
  376|      1|				SCTP_BUF_LEN(recvmbuf[i]->m_next) = min(ncounter, iovlen);
  ------------------
  |  |  795|      1|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      1|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
              				SCTP_BUF_LEN(recvmbuf[i]->m_next) = min(ncounter, iovlen);
  ------------------
  |  |   66|      1|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  377|      1|				i++;
  378|      1|				ncounter -= min(ncounter, iovlen);
  ------------------
  |  |   66|      1|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  379|      1|				(to_fill)++;
  380|      1|			} while (ncounter > 0);
  ------------------
  |  Branch (380:13): [True: 0, False: 1]
  ------------------
  381|      1|		}
  382|       |
  383|      1|		offset = sizeof(struct ip) + sizeof(struct sctphdr) + sizeof(struct sctp_chunkhdr);
  384|      1|		if (SCTP_BUF_LEN(recvmbuf[0]) < offset) {
  ------------------
  |  |  795|      1|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      1|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (384:7): [True: 0, False: 1]
  ------------------
  385|      0|				if ((recvmbuf[0] = m_pullup(recvmbuf[0], offset)) == NULL) {
  ------------------
  |  Branch (385:9): [True: 0, False: 0]
  ------------------
  386|      0|				SCTP_STAT_INCR(sctps_hdrops);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  387|      0|				continue;
  388|      0|			}
  389|      0|		}
  390|      1|		iphdr = mtod(recvmbuf[0], struct ip *);
  ------------------
  |  |   96|      1|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      1|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
  391|      1|		sh = (struct sctphdr *)((caddr_t)iphdr + sizeof(struct ip));
  392|      1|		ch = (struct sctp_chunkhdr *)((caddr_t)sh + sizeof(struct sctphdr));
  393|      1|		offset -= sizeof(struct sctp_chunkhdr);
  394|       |
  395|      1|		if (iphdr->ip_tos != 0) {
  ------------------
  |  Branch (395:7): [True: 0, False: 1]
  ------------------
  396|      0|			ecn = iphdr->ip_tos & 0x03;
  397|      0|		}
  398|       |
  399|      1|		dst.sin_family = AF_INET;
  400|       |#ifdef HAVE_SIN_LEN
  401|       |		dst.sin_len = sizeof(struct sockaddr_in);
  402|       |#endif
  403|      1|		dst.sin_addr = iphdr->ip_dst;
  404|      1|		dst.sin_port = sh->dest_port;
  405|       |
  406|      1|		src.sin_family = AF_INET;
  407|       |#ifdef HAVE_SIN_LEN
  408|       |		src.sin_len = sizeof(struct sockaddr_in);
  409|       |#endif
  410|      1|		src.sin_addr = iphdr->ip_src;
  411|      1|		src.sin_port = sh->src_port;
  412|       |
  413|       |		/* SCTP does not allow broadcasts or multicasts */
  414|      1|		if (IN_MULTICAST(ntohl(dst.sin_addr.s_addr))) {
  415|      0|			m_freem(recvmbuf[0]);
  416|      0|			continue;
  417|      0|		}
  418|      1|		if (SCTP_IS_IT_BROADCAST(dst.sin_addr, recvmbuf[0])) {
  ------------------
  |  |  932|      1|#define SCTP_IS_IT_BROADCAST(dst, m) 0
  |  |  ------------------
  |  |  |  Branch (932:38): [Folded - Ignored]
  |  |  ------------------
  ------------------
  419|      0|			m_freem(recvmbuf[0]);
  420|      0|			continue;
  421|      0|		}
  422|       |
  423|      1|		port = 0;
  424|       |
  425|      1|		if (SCTP_BASE_SYSCTL(sctp_no_csum_on_loopback) &&
  ------------------
  |  |  584|      2|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  426|      1|		    ((IN4_ISLOOPBACK_ADDRESS(&src.sin_addr) &&
  ------------------
  |  |  977|      0|    (((uint8_t *)&(a)->s_addr)[0] == 127)
  |  |  ------------------
  |  |  |  Branch (977:5): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  427|      0|		      IN4_ISLOOPBACK_ADDRESS(&dst.sin_addr)) ||
  ------------------
  |  |  977|      0|    (((uint8_t *)&(a)->s_addr)[0] == 127)
  |  |  ------------------
  |  |  |  Branch (977:5): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|      0|		     (src.sin_addr.s_addr == dst.sin_addr.s_addr))) {
  ------------------
  |  Branch (428:8): [True: 0, False: 0]
  ------------------
  429|      0|			compute_crc = 0;
  430|      0|			SCTP_STAT_INCR(sctps_recvhwcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  431|      1|		} else {
  432|      1|			SCTP_STAT_INCR(sctps_recvswcrc);
  ------------------
  |  | 1112|      1|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      1|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      1|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  433|      1|		}
  434|      1|		SCTPDBG(SCTP_DEBUG_USR, "%s: Received %d bytes.", __func__, n);
  435|      1|		SCTPDBG(SCTP_DEBUG_USR, " - calling sctp_common_input_processing with off=%d\n", offset);
  436|      1|		sctp_common_input_processing(&recvmbuf[0], sizeof(struct ip), offset, n,
  437|      1|		                             (struct sockaddr *)&src,
  438|      1|		                             (struct sockaddr *)&dst,
  439|      1|		                             sh, ch,
  440|      1|		                             compute_crc,
  441|      1|		                             ecn,
  442|      1|		                             SCTP_DEFAULT_VRFID, port);
  ------------------
  |  |  644|      1|#define SCTP_DEFAULT_VRFID	0
  ------------------
  443|      1|		if (recvmbuf[0]) {
  ------------------
  |  Branch (443:7): [True: 0, False: 1]
  ------------------
  444|      0|			m_freem(recvmbuf[0]);
  445|      0|		}
  446|      1|	}
  447|      1|	for (i = 0; i < MAXLEN_MBUF_CHAIN; i++) {
  ------------------
  |  |   75|      1|#define MAXLEN_MBUF_CHAIN 128
  ------------------
  |  Branch (447:14): [True: 0, False: 1]
  ------------------
  448|      0|		m_free(recvmbuf[i]);
  449|      0|	}
  450|       |	/* free the array itself */
  451|      1|	free(recvmbuf);
  452|      1|	SCTPDBG(SCTP_DEBUG_USR, "%s: Exiting SCTP/IP4 rcv\n", __func__);
  453|      1|	return (NULL);
  454|      1|}
user_recv_thread.c:recv_function_raw6:
  460|      1|{
  461|      1|	struct mbuf **recvmbuf6;
  462|      1|#if !defined(_WIN32)
  463|      1|	ssize_t res;
  464|      1|	unsigned int ncounter;
  465|      1|	struct iovec recv_iovec[MAXLEN_MBUF_CHAIN];
  466|      1|	struct msghdr msg;
  467|      1|	struct cmsghdr *cmsgptr;
  468|      1|	char cmsgbuf[CMSG_SPACE(sizeof (struct in6_pktinfo))];
  469|       |#else
  470|       |	WSABUF recv_iovec[MAXLEN_MBUF_CHAIN];
  471|       |	int nResult, m_ErrorCode;
  472|       |	DWORD ncounter = 0;
  473|       |	struct sockaddr_in6 from;
  474|       |	GUID WSARecvMsg_GUID = WSAID_WSARECVMSG;
  475|       |	LPFN_WSARECVMSG WSARecvMsg;
  476|       |	WSACMSGHDR *cmsgptr;
  477|       |	WSAMSG msg;
  478|       |	char ControlBuffer[1024];
  479|       |#endif
  480|      1|	struct sockaddr_in6 src, dst;
  481|      1|	struct sctphdr *sh;
  482|      1|	int offset;
  483|      1|	struct sctp_chunkhdr *ch;
  484|       |	/*Initially the entire set of mbufs is to be allocated.
  485|       |	  to_fill indicates this amount. */
  486|      1|	int to_fill = MAXLEN_MBUF_CHAIN;
  ------------------
  |  |   75|      1|#define MAXLEN_MBUF_CHAIN 128
  ------------------
  487|       |	/* iovlen is the size of each mbuf in the chain */
  488|      1|	int i, n;
  489|      1|	int compute_crc = 1;
  490|      1|	unsigned int iovlen = MCLBYTES;
  ------------------
  |  |   51|      1|#define MCLBYTES 2048
  ------------------
  491|      1|	int want_ext = (iovlen > MLEN)? 1 : 0;
  ------------------
  |  |  138|      1|#define	MLEN		((int)(MSIZE - sizeof(struct m_hdr)))	/* normal data len */
  |  |  ------------------
  |  |  |  |   47|      1|#define MSIZE 256
  |  |  ------------------
  ------------------
  |  Branch (491:17): [True: 1, False: 0]
  ------------------
  492|      1|	int want_header = 0;
  493|       |
  494|      1|	sctp_userspace_set_threadname("SCTP/IP6 rcv");
  495|       |
  496|      1|	recvmbuf6 = malloc(sizeof(struct mbuf *) * MAXLEN_MBUF_CHAIN);
  ------------------
  |  |   75|      1|#define MAXLEN_MBUF_CHAIN 128
  ------------------
  497|       |
  498|    106|	for (;;) {
  499|    234|		for (i = 0; i < to_fill; i++) {
  ------------------
  |  Branch (499:15): [True: 128, False: 106]
  ------------------
  500|       |			/* Not getting the packet header. Tests with chain of one run
  501|       |			   as usual without having the packet header.
  502|       |			   Have tried both sending and receiving
  503|       |			 */
  504|    128|			recvmbuf6[i] = sctp_get_mbuf_for_msg(iovlen, want_header, M_NOWAIT, want_ext, MT_DATA);
  ------------------
  |  |   60|    128|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              			recvmbuf6[i] = sctp_get_mbuf_for_msg(iovlen, want_header, M_NOWAIT, want_ext, MT_DATA);
  ------------------
  |  |  287|    128|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
  505|    128|#if !defined(_WIN32)
  506|    128|			recv_iovec[i].iov_base = (caddr_t)recvmbuf6[i]->m_data;
  ------------------
  |  |  219|    128|#define	m_data		m_hdr.mh_data
  ------------------
  507|    128|			recv_iovec[i].iov_len = iovlen;
  508|       |#else
  509|       |			recv_iovec[i].buf = (caddr_t)recvmbuf6[i]->m_data;
  510|       |			recv_iovec[i].len = iovlen;
  511|       |#endif
  512|    128|		}
  513|    106|		to_fill = 0;
  514|       |#if defined(_WIN32)
  515|       |		ncounter = 0;
  516|       |		memset(&from, 0, sizeof(struct sockaddr_in6));
  517|       |		nResult = WSAIoctl(SCTP_BASE_VAR(userspace_rawsctp6), SIO_GET_EXTENSION_FUNCTION_POINTER,
  518|       |		                   &WSARecvMsg_GUID, sizeof WSARecvMsg_GUID,
  519|       |		                   &WSARecvMsg, sizeof WSARecvMsg,
  520|       |		                   &ncounter, NULL, NULL);
  521|       |		if (nResult == 0) {
  522|       |			msg.name = (void *)&src;
  523|       |			msg.namelen = sizeof(struct sockaddr_in6);
  524|       |			msg.lpBuffers = recv_iovec;
  525|       |			msg.dwBufferCount = MAXLEN_MBUF_CHAIN;
  526|       |			msg.Control.len = sizeof ControlBuffer;
  527|       |			msg.Control.buf = ControlBuffer;
  528|       |			msg.dwFlags = 0;
  529|       |			nResult = WSARecvMsg(SCTP_BASE_VAR(userspace_rawsctp6), &msg, &ncounter, NULL, NULL);
  530|       |		}
  531|       |		if (nResult != 0) {
  532|       |			m_ErrorCode = WSAGetLastError();
  533|       |			if ((m_ErrorCode == WSAENOTSOCK) || (m_ErrorCode == WSAEINTR)) {
  534|       |				break;
  535|       |			}
  536|       |			continue;
  537|       |		}
  538|       |		n = ncounter;
  539|       |#else
  540|    106|		memset(&msg, 0, sizeof(struct msghdr));
  541|    106|		memset(&src, 0, sizeof(struct sockaddr_in6));
  542|    106|		memset(&dst, 0, sizeof(struct sockaddr_in6));
  543|    106|		memset(cmsgbuf, 0, CMSG_SPACE(sizeof (struct in6_pktinfo)));
  544|    106|		msg.msg_name = (void *)&src;
  545|    106|		msg.msg_namelen = sizeof(struct sockaddr_in6);
  546|    106|		msg.msg_iov = recv_iovec;
  547|    106|		msg.msg_iovlen = MAXLEN_MBUF_CHAIN;
  ------------------
  |  |   75|    106|#define MAXLEN_MBUF_CHAIN 128
  ------------------
  548|    106|		msg.msg_control = (void *)cmsgbuf;
  549|    106|		msg.msg_controllen = (socklen_t)CMSG_SPACE(sizeof (struct in6_pktinfo));
  550|    106|		msg.msg_flags = 0;
  551|    106|		res = recvmsg(SCTP_BASE_VAR(userspace_rawsctp6), &msg, 0);
  ------------------
  |  |  585|    106|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  552|    106|		if (res < 0) {
  ------------------
  |  Branch (552:7): [True: 105, False: 1]
  ------------------
  553|    105|			if (errno == EAGAIN || errno == EINTR) {
  ------------------
  |  Branch (553:8): [True: 105, False: 0]
  |  Branch (553:27): [True: 0, False: 0]
  ------------------
  554|    105|				continue;
  555|    105|			} else {
  556|      0|				break;
  557|      0|			}
  558|    105|		}
  559|      1|		ncounter = (unsigned int)res;
  560|      1|		n = (int)res;
  561|      1|#endif
  562|      1|		SCTP_HEADER_LEN(recvmbuf6[0]) = n; /* length of total packet */
  ------------------
  |  |  915|      1|#define SCTP_HEADER_LEN(m) ((m)->m_pkthdr.len)
  |  |  ------------------
  |  |  |  |  224|      1|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  |  |  ------------------
  ------------------
  563|      1|		SCTP_STAT_INCR(sctps_recvpackets);
  ------------------
  |  | 1112|      1|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      1|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      1|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  564|      1|		SCTP_STAT_INCR_COUNTER64(sctps_inpackets);
  ------------------
  |  | 1128|      1|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|      1|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|      1|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      1|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  565|       |
  566|      1|		if ((unsigned int)n <= iovlen) {
  ------------------
  |  Branch (566:7): [True: 0, False: 1]
  ------------------
  567|      0|			SCTP_BUF_LEN(recvmbuf6[0]) = n;
  ------------------
  |  |  795|      0|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      0|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  568|      0|			(to_fill)++;
  569|      1|		} else {
  570|      1|			i = 0;
  571|      1|			SCTP_BUF_LEN(recvmbuf6[0]) = iovlen;
  ------------------
  |  |  795|      1|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      1|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  572|       |
  573|      1|			ncounter -= min(ncounter, iovlen);
  ------------------
  |  |   66|      1|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  574|      1|			(to_fill)++;
  575|      1|			do {
  576|      1|				recvmbuf6[i]->m_next = recvmbuf6[i+1];
  ------------------
  |  |  217|      1|#define	m_next		m_hdr.mh_next
  ------------------
  577|      1|				SCTP_BUF_LEN(recvmbuf6[i]->m_next) = min(ncounter, iovlen);
  ------------------
  |  |  795|      1|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      1|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
              				SCTP_BUF_LEN(recvmbuf6[i]->m_next) = min(ncounter, iovlen);
  ------------------
  |  |   66|      1|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  578|      1|				i++;
  579|      1|				ncounter -= min(ncounter, iovlen);
  ------------------
  |  |   66|      1|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  580|      1|				(to_fill)++;
  581|      1|			} while (ncounter > 0);
  ------------------
  |  Branch (581:13): [True: 0, False: 1]
  ------------------
  582|      1|		}
  583|       |
  584|      1|		for (cmsgptr = CMSG_FIRSTHDR(&msg); cmsgptr != NULL; cmsgptr = CMSG_NXTHDR(&msg, cmsgptr)) {
  ------------------
  |  Branch (584:39): [True: 0, False: 1]
  ------------------
  585|      0|			if ((cmsgptr->cmsg_level == IPPROTO_IPV6) && (cmsgptr->cmsg_type == IPV6_PKTINFO)) {
  ------------------
  |  Branch (585:8): [True: 0, False: 0]
  |  Branch (585:49): [True: 0, False: 0]
  ------------------
  586|      0|				struct in6_pktinfo * info;
  587|       |
  588|      0|				info = (struct in6_pktinfo *)CMSG_DATA(cmsgptr);
  589|      0|				memcpy((void *)&dst.sin6_addr, (const void *) &(info->ipi6_addr), sizeof(struct in6_addr));
  590|      0|				break;
  591|      0|			}
  592|      0|		}
  593|       |
  594|       |		/* SCTP does not allow broadcasts or multicasts */
  595|      1|		if (IN6_IS_ADDR_MULTICAST(&dst.sin6_addr)) {
  596|      0|			m_freem(recvmbuf6[0]);
  597|      0|			continue;
  598|      0|		}
  599|       |
  600|      1|		offset = sizeof(struct sctphdr) + sizeof(struct sctp_chunkhdr);
  601|      1|		if (SCTP_BUF_LEN(recvmbuf6[0]) < offset) {
  ------------------
  |  |  795|      1|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|      1|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (601:7): [True: 0, False: 1]
  ------------------
  602|      0|			if ((recvmbuf6[0] = m_pullup(recvmbuf6[0], offset)) == NULL) {
  ------------------
  |  Branch (602:8): [True: 0, False: 0]
  ------------------
  603|      0|				SCTP_STAT_INCR(sctps_hdrops);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  604|      0|				continue;
  605|      0|			}
  606|      0|		}
  607|      1|		sh = mtod(recvmbuf6[0], struct sctphdr *);
  ------------------
  |  |   96|      1|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|      1|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
  608|      1|		ch = (struct sctp_chunkhdr *)((caddr_t)sh + sizeof(struct sctphdr));
  609|      1|		offset -= sizeof(struct sctp_chunkhdr);
  610|       |
  611|      1|		dst.sin6_family = AF_INET6;
  612|       |#ifdef HAVE_SIN6_LEN
  613|       |		dst.sin6_len = sizeof(struct sockaddr_in6);
  614|       |#endif
  615|      1|		dst.sin6_port = sh->dest_port;
  616|       |
  617|      1|		src.sin6_family = AF_INET6;
  618|       |#ifdef HAVE_SIN6_LEN
  619|       |		src.sin6_len = sizeof(struct sockaddr_in6);
  620|       |#endif
  621|      1|		src.sin6_port = sh->src_port;
  622|      1|		if (SCTP_BASE_SYSCTL(sctp_no_csum_on_loopback) &&
  ------------------
  |  |  584|      2|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  |  |  ------------------
  |  |  |  Branch (584:31): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  623|      1|		    (memcmp(&src.sin6_addr, &dst.sin6_addr, sizeof(struct in6_addr)) == 0)) {
  ------------------
  |  Branch (623:7): [True: 0, False: 0]
  ------------------
  624|      0|			compute_crc = 0;
  625|      0|			SCTP_STAT_INCR(sctps_recvhwcrc);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  626|      1|		} else {
  627|      1|			SCTP_STAT_INCR(sctps_recvswcrc);
  ------------------
  |  | 1112|      1|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      1|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      1|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  628|      1|		}
  629|      1|		SCTPDBG(SCTP_DEBUG_USR, "%s: Received %d bytes.", __func__, n);
  630|      1|		SCTPDBG(SCTP_DEBUG_USR, " - calling sctp_common_input_processing with off=%d\n", offset);
  631|      1|		sctp_common_input_processing(&recvmbuf6[0], 0, offset, n,
  632|      1|		                             (struct sockaddr *)&src,
  633|      1|		                             (struct sockaddr *)&dst,
  634|      1|		                             sh, ch,
  635|      1|		                             compute_crc,
  636|      1|		                             0,
  637|      1|		                             SCTP_DEFAULT_VRFID, 0);
  ------------------
  |  |  644|      1|#define SCTP_DEFAULT_VRFID	0
  ------------------
  638|      1|		if (recvmbuf6[0]) {
  ------------------
  |  Branch (638:7): [True: 0, False: 1]
  ------------------
  639|      0|			m_freem(recvmbuf6[0]);
  640|      0|		}
  641|      1|	}
  642|      1|	for (i = 0; i < MAXLEN_MBUF_CHAIN; i++) {
  ------------------
  |  |   75|      1|#define MAXLEN_MBUF_CHAIN 128
  ------------------
  |  Branch (642:14): [True: 0, False: 1]
  ------------------
  643|      0|		m_free(recvmbuf6[i]);
  644|      0|	}
  645|       |	/* free the array itself */
  646|      1|	free(recvmbuf6);
  647|      1|	SCTPDBG(SCTP_DEBUG_USR, "%s: Exiting SCTP/IP6 rcv\n", __func__);
  648|      1|	return (NULL);
  649|      1|}

usrsctp_init:
  110|      1|{
  111|      1|	init_sync();
  112|      1|	sctp_init(port, conn_output, debug_printf, 1);
  113|      1|}
socantrcvmore_locked:
  138|  3.39k|{
  139|  3.39k|	SOCKBUF_LOCK_ASSERT(&so->so_rcv);
  ------------------
  |  |  514|  3.39k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  3.39k|	do {                         \
  |  |  |  |  113|  3.39k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 3.39k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  3.39k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  140|  3.39k|	so->so_rcv.sb_state |= SBS_CANTRCVMORE;
  ------------------
  |  |  360|  3.39k|#define	SBS_CANTRCVMORE		0x0020	/* can't receive more data from peer */
  ------------------
  141|  3.39k|	sorwakeup_locked(so);
  ------------------
  |  |  511|  3.39k|#define	sorwakeup_locked(so) do {					\
  |  |  512|  3.39k|	SOCKBUF_LOCK_ASSERT(&(so)->so_rcv);				\
  |  |  ------------------
  |  |  |  |  514|  3.39k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  3.39k|	do {                         \
  |  |  |  |  |  |  113|  3.39k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 3.39k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  3.39k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  513|  3.39k|	if (sb_notify(&(so)->so_rcv))					\
  |  |  ------------------
  |  |  |  |  499|  3.39k|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  ------------------
  |  |  |  |  |  |  203|  3.39k|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  ------------------
  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  ------------------
  |  |  |  |  |  |  204|  3.39k|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  ------------------
  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  ------------------
  |  |  |  |  |  |  205|  3.39k|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (499:23): [True: 3.39k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  500|  3.39k|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  ------------------
  |  |  |  |  |  |  206|  3.39k|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  ------------------
  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  ------------------
  |  |  |  |  |  |  208|  3.39k|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  ------------------
  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  ------------------
  |  |  |  |  |  |  209|  3.39k|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  514|  3.39k|		sowakeup((so), &(so)->so_rcv);	 			\
  |  |  515|  3.39k|	else								\
  |  |  516|  3.39k|		SOCKBUF_UNLOCK(&(so)->so_rcv);				\
  |  |  ------------------
  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  517|  3.39k|} while (0)
  |  |  ------------------
  |  |  |  Branch (517:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  142|  3.39k|}
socantrcvmore:
  145|  1.70k|{
  146|  1.70k|	SOCKBUF_LOCK(&so->so_rcv);
  ------------------
  |  |  517|  1.70k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.70k|	do {                         \
  |  |  |  |  113|  1.70k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.70k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.70k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  147|  1.70k|	socantrcvmore_locked(so);
  148|  1.70k|}
socantsendmore_locked:
  152|  1.79k|{
  153|  1.79k|	SOCKBUF_LOCK_ASSERT(&so->so_snd);
  ------------------
  |  |  514|  1.79k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.79k|	do {                         \
  |  |  |  |  113|  1.79k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.79k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.79k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  154|  1.79k|	so->so_snd.sb_state |= SBS_CANTSENDMORE;
  ------------------
  |  |  359|  1.79k|#define	SBS_CANTSENDMORE	0x0010	/* can't send more data to peer */
  ------------------
  155|  1.79k|	sowwakeup_locked(so);
  ------------------
  |  |  524|  1.79k|#define	sowwakeup_locked(so) do {					\
  |  |  525|  1.79k|	SOCKBUF_LOCK_ASSERT(&(so)->so_snd);				\
  |  |  ------------------
  |  |  |  |  514|  1.79k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  1.79k|	do {                         \
  |  |  |  |  |  |  113|  1.79k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.79k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  1.79k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  526|  1.79k|	if (sb_notify(&(so)->so_snd))					\
  |  |  ------------------
  |  |  |  |  499|  1.79k|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  ------------------
  |  |  |  |  |  |  203|  1.79k|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  ------------------
  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  ------------------
  |  |  |  |  |  |  204|  1.79k|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  ------------------
  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  ------------------
  |  |  |  |  |  |  205|  1.79k|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (499:23): [True: 1.79k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  500|  1.79k|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  ------------------
  |  |  |  |  |  |  206|  1.79k|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  ------------------
  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  ------------------
  |  |  |  |  |  |  208|  1.79k|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  ------------------
  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  ------------------
  |  |  |  |  |  |  209|  1.79k|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  527|  1.79k|		sowakeup((so), &(so)->so_snd); 				\
  |  |  528|  1.79k|	else								\
  |  |  529|  1.79k|		SOCKBUF_UNLOCK(&(so)->so_snd);				\
  |  |  ------------------
  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  530|  1.79k|} while (0)
  |  |  ------------------
  |  |  |  Branch (530:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  156|  1.79k|}
socantsendmore:
  160|  1.79k|{
  161|  1.79k|	SOCKBUF_LOCK(&so->so_snd);
  ------------------
  |  |  517|  1.79k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  1.79k|	do {                         \
  |  |  |  |  113|  1.79k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 1.79k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  1.79k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  162|  1.79k|	socantsendmore_locked(so);
  163|  1.79k|}
sofree:
  249|  11.5k|{
  250|  11.5k|	struct socket *head;
  251|       |
  252|  11.5k|	ACCEPT_LOCK_ASSERT();
  ------------------
  |  |  263|  11.5k|          KASSERT(pthread_mutex_trylock(&accept_mtx) == EBUSY, ("%s: accept_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  253|  11.5k|	SOCK_LOCK_ASSERT(so);
  ------------------
  |  |  325|  11.5k|#define	SOCK_LOCK_ASSERT(_so)		SOCKBUF_LOCK_ASSERT(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  514|  11.5k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  254|       |	/* SS_NOFDREF unset in accept call.  this condition seems irrelevant
  255|       |	 *  for __Userspace__...
  256|       |	 */
  257|  11.5k|	if (so->so_count != 0 ||
  ------------------
  |  Branch (257:6): [True: 0, False: 11.5k]
  ------------------
  258|  11.5k|	    (so->so_state & SS_PROTOREF) || (so->so_qstate & SQ_COMP)) {
  ------------------
  |  |  354|  11.5k|#define	SS_PROTOREF		0x4000	/* strong protocol reference */
  ------------------
              	    (so->so_state & SS_PROTOREF) || (so->so_qstate & SQ_COMP)) {
  ------------------
  |  |  367|  11.5k|#define	SQ_COMP			0x1000	/* unaccepted, complete connection */
  ------------------
  |  Branch (258:6): [True: 0, False: 11.5k]
  |  Branch (258:38): [True: 0, False: 11.5k]
  ------------------
  259|      0|		SOCK_UNLOCK(so);
  ------------------
  |  |  529|      0|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  260|      0|		ACCEPT_UNLOCK();
  ------------------
  |  |  257|      0|#define	ACCEPT_UNLOCK()	KASSERT(pthread_mutex_unlock(&accept_mtx) == 0, ("%s: accept_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  261|      0|		return;
  262|      0|	}
  263|  11.5k|	head = so->so_head;
  264|  11.5k|	if (head != NULL) {
  ------------------
  |  Branch (264:6): [True: 0, False: 11.5k]
  ------------------
  265|      0|		KASSERT((so->so_qstate & SQ_COMP) != 0 ||
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  266|      0|		    (so->so_qstate & SQ_INCOMP) != 0,
  267|      0|		    ("sofree: so_head != NULL, but neither SQ_COMP nor "
  268|      0|		    "SQ_INCOMP"));
  269|      0|		KASSERT((so->so_qstate & SQ_COMP) == 0 ||
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  |  Branch (113:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  270|      0|		    (so->so_qstate & SQ_INCOMP) == 0,
  271|      0|		    ("sofree: so->so_qstate is SQ_COMP and also SQ_INCOMP"));
  272|      0|		TAILQ_REMOVE(&head->so_incomp, so, so_list);
  273|      0|		head->so_incqlen--;
  274|      0|		so->so_qstate &= ~SQ_INCOMP;
  ------------------
  |  |  366|      0|#define	SQ_INCOMP		0x0800	/* unaccepted, incomplete connection */
  ------------------
  275|      0|		so->so_head = NULL;
  276|      0|	}
  277|  11.5k|	KASSERT((so->so_qstate & SQ_COMP) == 0 &&
  ------------------
  |  |  112|  11.5k|	do {                         \
  |  |  113|  23.1k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:9): [True: 11.5k, False: 0]
  |  |  |  Branch (113:9): [True: 11.5k, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  11.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  278|  11.5k|	    (so->so_qstate & SQ_INCOMP) == 0,
  279|  11.5k|	    ("sofree: so_head == NULL, but still SQ_COMP(%d) or SQ_INCOMP(%d)",
  280|  11.5k|	    so->so_qstate & SQ_COMP, so->so_qstate & SQ_INCOMP));
  281|  11.5k|	if (so->so_options & SCTP_SO_ACCEPTCONN) {
  ------------------
  |  |   53|  11.5k|#define SCTP_SO_ACCEPTCONN 0x0002
  ------------------
  |  Branch (281:6): [True: 0, False: 11.5k]
  ------------------
  282|      0|		KASSERT((TAILQ_EMPTY(&so->so_comp)), ("sofree: so_comp populated"));
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  283|      0|		KASSERT((TAILQ_EMPTY(&so->so_incomp)), ("sofree: so_comp populated"));
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  284|      0|	}
  285|  11.5k|	SOCK_UNLOCK(so);
  ------------------
  |  |  529|  11.5k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|  11.5k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  286|  11.5k|	ACCEPT_UNLOCK();
  ------------------
  |  |  257|  11.5k|#define	ACCEPT_UNLOCK()	KASSERT(pthread_mutex_unlock(&accept_mtx) == 0, ("%s: accept_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|  11.5k|	sctp_close(so); /* was...    sctp_detach(so); */
  288|       |	/*
  289|       |	 * From this point on, we assume that no other references to this
  290|       |	 * socket exist anywhere else in the stack.  Therefore, no locks need
  291|       |	 * to be acquired or held.
  292|       |	 *
  293|       |	 * We used to do a lot of socket buffer and socket locking here, as
  294|       |	 * well as invoke sorflush() and perform wakeups.  The direct call to
  295|       |	 * dom_dispose() and sbrelease_internal() are an inlining of what was
  296|       |	 * necessary from sorflush().
  297|       |	 *
  298|       |	 * Notice that the socket buffer and kqueue state are torn down
  299|       |	 * before calling pru_detach.  This means that protocols should not
  300|       |	 * assume they can perform socket wakeups, etc, in their detach code.
  301|       |	 */
  302|  11.5k|	sodealloc(so);
  303|  11.5k|}
soisconnecting:
  323|  11.5k|{
  324|       |
  325|  11.5k|	SOCK_LOCK(so);
  ------------------
  |  |  527|  11.5k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|  11.5k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  326|  11.5k|	so->so_state &= ~(SS_ISCONNECTED|SS_ISDISCONNECTING);
  ------------------
  |  |  340|  11.5k|#define	SS_ISCONNECTED		0x0002	/* socket connected to a peer */
  ------------------
              	so->so_state &= ~(SS_ISCONNECTED|SS_ISDISCONNECTING);
  ------------------
  |  |  342|  11.5k|#define	SS_ISDISCONNECTING	0x0008	/* in process of disconnecting */
  ------------------
  327|  11.5k|	so->so_state |= SS_ISCONNECTING;
  ------------------
  |  |  341|  11.5k|#define	SS_ISCONNECTING		0x0004	/* in process of connecting to peer */
  ------------------
  328|  11.5k|	SOCK_UNLOCK(so);
  ------------------
  |  |  529|  11.5k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|  11.5k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  329|  11.5k|}
wakeup:
  369|  7.76k|{
  370|  7.76k|	SOCK_LOCK(so);
  ------------------
  |  |  527|  7.76k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|  7.76k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  7.76k|	do {                         \
  |  |  |  |  |  |  113|  7.76k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.76k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  7.76k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  371|       |#if defined(_WIN32)
  372|       |	WakeAllConditionVariable(&(so)->timeo_cond);
  373|       |#else
  374|  7.76k|	pthread_cond_broadcast(&(so)->timeo_cond);
  375|  7.76k|#endif
  376|  7.76k|	SOCK_UNLOCK(so);
  ------------------
  |  |  529|  7.76k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|  7.76k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  7.76k|	do {                         \
  |  |  |  |  |  |  113|  7.76k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 7.76k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  7.76k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  377|  7.76k|}
soisconnected:
  409|  6.07k|{
  410|  6.07k|	struct socket *head;
  411|       |
  412|  6.07k|	ACCEPT_LOCK();
  ------------------
  |  |  256|  6.07k|#define	ACCEPT_LOCK()	KASSERT(pthread_mutex_lock(&accept_mtx) == 0, ("%s: accept_mtx already locked", __func__))
  |  |  ------------------
  |  |  |  |  112|  6.07k|	do {                         \
  |  |  |  |  113|  6.07k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.07k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.07k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  413|  6.07k|	SOCK_LOCK(so);
  ------------------
  |  |  527|  6.07k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|  6.07k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  6.07k|	do {                         \
  |  |  |  |  |  |  113|  6.07k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.07k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  6.07k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  414|  6.07k|	so->so_state &= ~(SS_ISCONNECTING|SS_ISDISCONNECTING|SS_ISCONFIRMING);
  ------------------
  |  |  341|  6.07k|#define	SS_ISCONNECTING		0x0004	/* in process of connecting to peer */
  ------------------
              	so->so_state &= ~(SS_ISCONNECTING|SS_ISDISCONNECTING|SS_ISCONFIRMING);
  ------------------
  |  |  342|  6.07k|#define	SS_ISDISCONNECTING	0x0008	/* in process of disconnecting */
  ------------------
              	so->so_state &= ~(SS_ISCONNECTING|SS_ISDISCONNECTING|SS_ISCONFIRMING);
  ------------------
  |  |  345|  6.07k|#define	SS_ISCONFIRMING		0x0400	/* deciding to accept connection req */
  ------------------
  415|  6.07k|	so->so_state |= SS_ISCONNECTED;
  ------------------
  |  |  340|  6.07k|#define	SS_ISCONNECTED		0x0002	/* socket connected to a peer */
  ------------------
  416|  6.07k|	head = so->so_head;
  417|  6.07k|	if (head != NULL && (so->so_qstate & SQ_INCOMP)) {
  ------------------
  |  |  366|      0|#define	SQ_INCOMP		0x0800	/* unaccepted, incomplete connection */
  ------------------
  |  Branch (417:6): [True: 0, False: 6.07k]
  |  Branch (417:22): [True: 0, False: 0]
  ------------------
  418|      0|		SOCK_UNLOCK(so);
  ------------------
  |  |  529|      0|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  419|      0|		TAILQ_REMOVE(&head->so_incomp, so, so_list);
  420|      0|		head->so_incqlen--;
  421|      0|		so->so_qstate &= ~SQ_INCOMP;
  ------------------
  |  |  366|      0|#define	SQ_INCOMP		0x0800	/* unaccepted, incomplete connection */
  ------------------
  422|      0|		TAILQ_INSERT_TAIL(&head->so_comp, so, so_list);
  423|      0|		head->so_qlen++;
  424|      0|		so->so_qstate |= SQ_COMP;
  ------------------
  |  |  367|      0|#define	SQ_COMP			0x1000	/* unaccepted, complete connection */
  ------------------
  425|      0|		ACCEPT_UNLOCK();
  ------------------
  |  |  257|      0|#define	ACCEPT_UNLOCK()	KASSERT(pthread_mutex_unlock(&accept_mtx) == 0, ("%s: accept_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  426|      0|		sorwakeup(head);
  ------------------
  |  |  519|      0|#define	sorwakeup(so) do {						\
  |  |  520|      0|	SOCKBUF_LOCK(&(so)->so_rcv);					\
  |  |  ------------------
  |  |  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  521|      0|	sorwakeup_locked(so);						\
  |  |  ------------------
  |  |  |  |  511|      0|#define	sorwakeup_locked(so) do {					\
  |  |  |  |  512|      0|	SOCKBUF_LOCK_ASSERT(&(so)->so_rcv);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|      0|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  513|      0|	if (sb_notify(&(so)->so_rcv))					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  499|      0|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  203|      0|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  204|      0|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  205|      0|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (499:23): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  500|      0|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  206|      0|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  208|      0|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  209|      0|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  514|      0|		sowakeup((so), &(so)->so_rcv);	 			\
  |  |  |  |  515|      0|	else								\
  |  |  |  |  516|      0|		SOCKBUF_UNLOCK(&(so)->so_rcv);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  517|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (517:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  522|      0|} while (0)
  |  |  ------------------
  |  |  |  Branch (522:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  427|      0|		wakeup_one(&head->so_timeo);
  428|      0|		return;
  429|      0|	}
  430|  6.07k|	SOCK_UNLOCK(so);
  ------------------
  |  |  529|  6.07k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|  6.07k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  6.07k|	do {                         \
  |  |  |  |  |  |  113|  6.07k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.07k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  6.07k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  431|  6.07k|	ACCEPT_UNLOCK();
  ------------------
  |  |  257|  6.07k|#define	ACCEPT_UNLOCK()	KASSERT(pthread_mutex_unlock(&accept_mtx) == 0, ("%s: accept_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|  6.07k|	do {                         \
  |  |  |  |  113|  6.07k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.07k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  6.07k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  432|  6.07k|	wakeup(&so->so_timeo, so);
  433|  6.07k|	sorwakeup(so);
  ------------------
  |  |  519|  6.07k|#define	sorwakeup(so) do {						\
  |  |  520|  6.07k|	SOCKBUF_LOCK(&(so)->so_rcv);					\
  |  |  ------------------
  |  |  |  |  517|  6.07k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  6.07k|	do {                         \
  |  |  |  |  |  |  113|  6.07k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.07k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  6.07k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  521|  6.07k|	sorwakeup_locked(so);						\
  |  |  ------------------
  |  |  |  |  511|  6.07k|#define	sorwakeup_locked(so) do {					\
  |  |  |  |  512|  6.07k|	SOCKBUF_LOCK_ASSERT(&(so)->so_rcv);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|  6.07k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|  6.07k|	do {                         \
  |  |  |  |  |  |  |  |  113|  6.07k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.07k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|  6.07k|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  513|  6.07k|	if (sb_notify(&(so)->so_rcv))					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  499|  6.07k|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  203|  6.07k|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  204|  6.07k|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  205|  6.07k|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (499:23): [True: 6.07k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  500|  6.07k|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  206|  6.07k|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  208|  6.07k|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  209|  6.07k|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  514|  6.07k|		sowakeup((so), &(so)->so_rcv);	 			\
  |  |  |  |  515|  6.07k|	else								\
  |  |  |  |  516|  6.07k|		SOCKBUF_UNLOCK(&(so)->so_rcv);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  517|  6.07k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (517:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  522|  6.07k|} while (0)
  |  |  ------------------
  |  |  |  Branch (522:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  434|  6.07k|	sowwakeup(so);
  ------------------
  |  |  532|  6.07k|#define	sowwakeup(so) do {						\
  |  |  533|  6.07k|	SOCKBUF_LOCK(&(so)->so_snd);					\
  |  |  ------------------
  |  |  |  |  517|  6.07k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  6.07k|	do {                         \
  |  |  |  |  |  |  113|  6.07k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.07k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  6.07k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  534|  6.07k|	sowwakeup_locked(so);						\
  |  |  ------------------
  |  |  |  |  524|  6.07k|#define	sowwakeup_locked(so) do {					\
  |  |  |  |  525|  6.07k|	SOCKBUF_LOCK_ASSERT(&(so)->so_snd);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|  6.07k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|  6.07k|	do {                         \
  |  |  |  |  |  |  |  |  113|  6.07k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 6.07k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|  6.07k|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  526|  6.07k|	if (sb_notify(&(so)->so_snd))					\
  |  |  |  |  ------------------
  |  |  |  |  |  |  499|  6.07k|#define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  203|  6.07k|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  204|  6.07k|#define	SB_SEL		0x08		/* someone is selecting */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define	sb_notify(sb)	(((sb)->sb_flags & (SB_WAIT | SB_SEL | SB_ASYNC | \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  205|  6.07k|#define	SB_ASYNC	0x10		/* ASYNC I/O, need signals */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (499:23): [True: 6.07k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  500|  6.07k|    SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  206|  6.07k|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  208|  6.07k|#define	SB_AIO		0x80		/* AIO operations queued */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   SB_UPCALL | SB_AIO | SB_KNOTE)) != 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  209|  6.07k|#define	SB_KNOTE	0x100		/* kernel note attached */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  527|  6.07k|		sowakeup((so), &(so)->so_snd); 				\
  |  |  |  |  528|  6.07k|	else								\
  |  |  |  |  529|  6.07k|		SOCKBUF_UNLOCK(&(so)->so_snd);				\
  |  |  |  |  ------------------
  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  530|  6.07k|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (530:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  535|  6.07k|} while (0)
  |  |  ------------------
  |  |  |  Branch (535:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  435|       |
  436|  6.07k|}
uiomove:
  597|   482k|{
  598|   482k|	struct iovec *iov;
  599|   482k|	size_t cnt;
  600|   482k|	int error = 0;
  601|       |
  602|   482k|	if ((uio->uio_rw != UIO_READ) &&
  ------------------
  |  Branch (602:6): [True: 6.20k, False: 476k]
  ------------------
  603|   482k|	    (uio->uio_rw != UIO_WRITE)) {
  ------------------
  |  Branch (603:6): [True: 0, False: 6.20k]
  ------------------
  604|      0|		return (EINVAL);
  605|      0|	}
  606|       |
  607|   965k|	while (n > 0 && uio->uio_resid) {
  ------------------
  |  Branch (607:9): [True: 482k, False: 482k]
  |  Branch (607:18): [True: 482k, False: 0]
  ------------------
  608|   482k|		iov = uio->uio_iov;
  609|   482k|		cnt = iov->iov_len;
  610|   482k|		if (cnt == 0) {
  ------------------
  |  Branch (610:7): [True: 0, False: 482k]
  ------------------
  611|      0|			uio->uio_iov++;
  612|      0|			uio->uio_iovcnt--;
  613|      0|			continue;
  614|      0|		}
  615|   482k|		if (cnt > (size_t)n)
  ------------------
  |  Branch (615:7): [True: 476k, False: 6.36k]
  ------------------
  616|   476k|			cnt = n;
  617|       |
  618|   482k|		switch (uio->uio_segflg) {
  ------------------
  |  Branch (618:11): [True: 0, False: 482k]
  ------------------
  619|       |
  620|   482k|		case UIO_USERSPACE:
  ------------------
  |  Branch (620:3): [True: 482k, False: 0]
  ------------------
  621|   482k|			if (uio->uio_rw == UIO_READ)
  ------------------
  |  Branch (621:8): [True: 476k, False: 6.20k]
  ------------------
  622|   476k|				error = copyout(cp, iov->iov_base, cnt);
  ------------------
  |  |  572|   476k|# define copyout(k, u, len)	copy_to_user(u, k, len)
  ------------------
  623|  6.20k|			else
  624|  6.20k|				error = copyin(iov->iov_base, cp, cnt);
  ------------------
  |  |  566|  6.20k|# define copyin(u, k, len)	copy_from_user(k, u, len)
  ------------------
  625|   482k|			if (error)
  ------------------
  |  Branch (625:8): [True: 0, False: 482k]
  ------------------
  626|      0|				goto out;
  627|   482k|			break;
  628|       |
  629|   482k|		case UIO_SYSSPACE:
  ------------------
  |  Branch (629:3): [True: 0, False: 482k]
  ------------------
  630|      0|			if (uio->uio_rw == UIO_READ)
  ------------------
  |  Branch (630:8): [True: 0, False: 0]
  ------------------
  631|      0|				memcpy(iov->iov_base, cp, cnt);
  632|      0|			else
  633|      0|				memcpy(cp, iov->iov_base, cnt);
  634|      0|			break;
  635|   482k|		}
  636|   482k|		iov->iov_base = (char *)iov->iov_base + cnt;
  637|   482k|		iov->iov_len -= cnt;
  638|   482k|		uio->uio_resid -= cnt;
  639|   482k|		uio->uio_offset += (off_t)cnt;
  640|   482k|		cp = (char *)cp + cnt;
  641|   482k|		n -= (int)cnt;
  642|   482k|	}
  643|   482k|out:
  644|   482k|	return (error);
  645|   482k|}
getsockaddr:
  651|  23.1k|{
  652|  23.1k|	struct sockaddr *sa;
  653|  23.1k|	int error;
  654|       |
  655|  23.1k|	if (len > SOCK_MAXADDRLEN)
  ------------------
  |  |   48|  23.1k|#define SOCK_MAXADDRLEN 255
  ------------------
  |  Branch (655:6): [True: 0, False: 23.1k]
  ------------------
  656|      0|		return (ENAMETOOLONG);
  657|  23.1k|	if (len < offsetof(struct sockaddr, sa_data))
  ------------------
  |  Branch (657:6): [True: 0, False: 23.1k]
  ------------------
  658|      0|		return (EINVAL);
  659|  23.1k|	MALLOC(sa, struct sockaddr *, len, M_SONAME, M_WAITOK);
  ------------------
  |  |  196|  23.1k|    ((space) = (cast)malloc((u_long)(size)));                           \
  |  |  197|  23.1k|    do {								\
  |  |  198|  23.1k|        if (flags & M_ZERO) {                                            \
  |  |  ------------------
  |  |  |  |   62|  46.2k|#define	M_ZERO		0x0100		/* bzero the allocation */
  |  |  ------------------
  |  |  |  Branch (198:13): [Folded - Ignored]
  |  |  ------------------
  |  |  199|      0|	  memset(space,0,size);                                         \
  |  |  200|      0|	}								\
  |  |  201|  23.1k|    } while (0);
  |  |  ------------------
  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  660|  23.1k|	error = copyin(uaddr, sa, len);
  ------------------
  |  |  566|  23.1k|# define copyin(u, k, len)	copy_from_user(k, u, len)
  ------------------
  661|  23.1k|	if (error) {
  ------------------
  |  Branch (661:6): [True: 0, False: 23.1k]
  ------------------
  662|      0|		FREE(sa, M_SONAME);
  ------------------
  |  |  191|      0|#define	FREE(addr, type) free((addr))
  ------------------
  663|  23.1k|	} else {
  664|       |#ifdef HAVE_SA_LEN
  665|       |		sa->sa_len = len;
  666|       |#endif
  667|  23.1k|		*namp = sa;
  668|  23.1k|	}
  669|  23.1k|	return (error);
  670|  23.1k|}
usrsctp_sendv:
  798|  7.09k|{
  799|  7.09k|	struct sctp_sndrcvinfo sinfo;
  800|  7.09k|	struct uio auio;
  801|  7.09k|	struct iovec iov[1];
  802|  7.09k|	int use_sinfo;
  803|  7.09k|	sctp_assoc_t *assoc_id;
  804|       |
  805|  7.09k|	if (so == NULL) {
  ------------------
  |  Branch (805:6): [True: 0, False: 7.09k]
  ------------------
  806|      0|		errno = EBADF;
  807|      0|		return (-1);
  808|      0|	}
  809|  7.09k|	if (data == NULL) {
  ------------------
  |  Branch (809:6): [True: 0, False: 7.09k]
  ------------------
  810|      0|		errno = EFAULT;
  811|      0|		return (-1);
  812|      0|	}
  813|  7.09k|	memset(&sinfo, 0, sizeof(struct sctp_sndrcvinfo));
  814|  7.09k|	assoc_id = NULL;
  815|  7.09k|	use_sinfo = 0;
  816|  7.09k|	switch (infotype) {
  817|  7.09k|	case SCTP_SENDV_NOINFO:
  ------------------
  |  |  228|  7.09k|#define SCTP_SENDV_NOINFO   0
  ------------------
  |  Branch (817:2): [True: 7.09k, False: 0]
  ------------------
  818|  7.09k|		if ((infolen != 0) || (info != NULL)) {
  ------------------
  |  Branch (818:7): [True: 0, False: 7.09k]
  |  Branch (818:25): [True: 0, False: 7.09k]
  ------------------
  819|      0|			errno = EINVAL;
  820|      0|			return (-1);
  821|      0|		}
  822|  7.09k|		break;
  823|  7.09k|	case SCTP_SENDV_SNDINFO:
  ------------------
  |  |  229|      0|#define SCTP_SENDV_SNDINFO  1
  ------------------
  |  Branch (823:2): [True: 0, False: 7.09k]
  ------------------
  824|      0|		if ((info == NULL) || (infolen != sizeof(struct sctp_sndinfo))) {
  ------------------
  |  Branch (824:7): [True: 0, False: 0]
  |  Branch (824:25): [True: 0, False: 0]
  ------------------
  825|      0|			errno = EINVAL;
  826|      0|			return (-1);
  827|      0|		}
  828|      0|		sinfo.sinfo_stream = ((struct sctp_sndinfo *)info)->snd_sid;
  829|      0|		sinfo.sinfo_flags = ((struct sctp_sndinfo *)info)->snd_flags;
  830|      0|		sinfo.sinfo_ppid = ((struct sctp_sndinfo *)info)->snd_ppid;
  831|      0|		sinfo.sinfo_context = ((struct sctp_sndinfo *)info)->snd_context;
  832|      0|		sinfo.sinfo_assoc_id = ((struct sctp_sndinfo *)info)->snd_assoc_id;
  833|      0|		assoc_id = &(((struct sctp_sndinfo *)info)->snd_assoc_id);
  834|      0|		use_sinfo = 1;
  835|      0|		break;
  836|      0|	case SCTP_SENDV_PRINFO:
  ------------------
  |  |  230|      0|#define SCTP_SENDV_PRINFO   2
  ------------------
  |  Branch (836:2): [True: 0, False: 7.09k]
  ------------------
  837|      0|		if ((info == NULL) || (infolen != sizeof(struct sctp_prinfo))) {
  ------------------
  |  Branch (837:7): [True: 0, False: 0]
  |  Branch (837:25): [True: 0, False: 0]
  ------------------
  838|      0|			errno = EINVAL;
  839|      0|			return (-1);
  840|      0|		}
  841|      0|		sinfo.sinfo_stream = 0;
  842|      0|		sinfo.sinfo_flags = PR_SCTP_POLICY(((struct sctp_prinfo *)info)->pr_policy);
  ------------------
  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  ------------------
  843|      0|		sinfo.sinfo_timetolive = ((struct sctp_prinfo *)info)->pr_value;
  844|      0|		use_sinfo = 1;
  845|      0|		break;
  846|      0|	case SCTP_SENDV_AUTHINFO:
  ------------------
  |  |  231|      0|#define SCTP_SENDV_AUTHINFO 3
  ------------------
  |  Branch (846:2): [True: 0, False: 7.09k]
  ------------------
  847|      0|		errno = EINVAL;
  848|      0|		return (-1);
  849|      0|	case SCTP_SENDV_SPA:
  ------------------
  |  |  232|      0|#define SCTP_SENDV_SPA      4
  ------------------
  |  Branch (849:2): [True: 0, False: 7.09k]
  ------------------
  850|      0|		if ((info == NULL) || (infolen != sizeof(struct sctp_sendv_spa))) {
  ------------------
  |  Branch (850:7): [True: 0, False: 0]
  |  Branch (850:25): [True: 0, False: 0]
  ------------------
  851|      0|			errno = EINVAL;
  852|      0|			return (-1);
  853|      0|		}
  854|      0|		if (((struct sctp_sendv_spa *)info)->sendv_flags & SCTP_SEND_SNDINFO_VALID) {
  ------------------
  |  |  241|      0|#define SCTP_SEND_SNDINFO_VALID  0x00000001
  ------------------
  |  Branch (854:7): [True: 0, False: 0]
  ------------------
  855|      0|			sinfo.sinfo_stream = ((struct sctp_sendv_spa *)info)->sendv_sndinfo.snd_sid;
  856|      0|			sinfo.sinfo_flags = ((struct sctp_sendv_spa *)info)->sendv_sndinfo.snd_flags;
  857|      0|			sinfo.sinfo_ppid = ((struct sctp_sendv_spa *)info)->sendv_sndinfo.snd_ppid;
  858|      0|			sinfo.sinfo_context = ((struct sctp_sendv_spa *)info)->sendv_sndinfo.snd_context;
  859|      0|			sinfo.sinfo_assoc_id = ((struct sctp_sendv_spa *)info)->sendv_sndinfo.snd_assoc_id;
  860|      0|			assoc_id = &(((struct sctp_sendv_spa *)info)->sendv_sndinfo.snd_assoc_id);
  861|      0|		} else {
  862|      0|			sinfo.sinfo_flags = 0;
  863|      0|			sinfo.sinfo_stream = 0;
  864|      0|		}
  865|      0|		if (((struct sctp_sendv_spa *)info)->sendv_flags & SCTP_SEND_PRINFO_VALID) {
  ------------------
  |  |  242|      0|#define SCTP_SEND_PRINFO_VALID   0x00000002
  ------------------
  |  Branch (865:7): [True: 0, False: 0]
  ------------------
  866|      0|			sinfo.sinfo_flags |= PR_SCTP_POLICY(((struct sctp_sendv_spa *)info)->sendv_prinfo.pr_policy);
  ------------------
  |  |  280|      0|#define PR_SCTP_POLICY(x)         ((x) & 0x0f)
  ------------------
  867|      0|			sinfo.sinfo_timetolive = ((struct sctp_sendv_spa *)info)->sendv_prinfo.pr_value;
  868|      0|		}
  869|      0|		if (((struct sctp_sendv_spa *)info)->sendv_flags & SCTP_SEND_AUTHINFO_VALID) {
  ------------------
  |  |  243|      0|#define SCTP_SEND_AUTHINFO_VALID 0x00000004
  ------------------
  |  Branch (869:7): [True: 0, False: 0]
  ------------------
  870|      0|			errno = EINVAL;
  871|      0|			return (-1);
  872|      0|		}
  873|      0|		use_sinfo = 1;
  874|      0|		break;
  875|      0|	default:
  ------------------
  |  Branch (875:2): [True: 0, False: 7.09k]
  ------------------
  876|      0|		errno = EINVAL;
  877|      0|		return (-1);
  878|  7.09k|	}
  879|       |
  880|       |	/* Perform error checks on destination (to) */
  881|  7.09k|	if (addrcnt > 1) {
  ------------------
  |  Branch (881:6): [True: 0, False: 7.09k]
  ------------------
  882|      0|		errno = EINVAL;
  883|      0|		return (-1);
  884|      0|	}
  885|       |
  886|  7.09k|	iov[0].iov_base = (caddr_t)data;
  887|  7.09k|	iov[0].iov_len = len;
  888|       |
  889|  7.09k|	auio.uio_iov =  iov;
  890|  7.09k|	auio.uio_iovcnt = 1;
  891|  7.09k|	auio.uio_segflg = UIO_USERSPACE;
  892|  7.09k|	auio.uio_rw = UIO_WRITE;
  893|  7.09k|	auio.uio_offset = 0;			/* XXX */
  894|  7.09k|	auio.uio_resid = len;
  895|  7.09k|	errno = sctp_lower_sosend(so, to, &auio, NULL, NULL, flags, use_sinfo ? &sinfo : NULL);
  ------------------
  |  Branch (895:62): [True: 0, False: 7.09k]
  ------------------
  896|  7.09k|	if (errno == 0) {
  ------------------
  |  Branch (896:6): [True: 6.20k, False: 889]
  ------------------
  897|  6.20k|		if ((to != NULL) && (assoc_id != NULL)) {
  ------------------
  |  Branch (897:7): [True: 0, False: 6.20k]
  |  Branch (897:23): [True: 0, False: 0]
  ------------------
  898|      0|			*assoc_id = usrsctp_getassocid(so, to);
  899|      0|		}
  900|  6.20k|		return (len - auio.uio_resid);
  901|  6.20k|	} else {
  902|    889|		return (-1);
  903|    889|	}
  904|  7.09k|}
usrsctp_recvv:
 1072|   476k|{
 1073|   476k|	struct uio auio;
 1074|   476k|	struct iovec iov[SCTP_SMALL_IOVEC_SIZE];
 1075|   476k|	struct iovec *tiov;
 1076|   476k|	int iovlen = 1;
 1077|   476k|	ssize_t ulen;
 1078|   476k|	int i;
 1079|   476k|	socklen_t fromlen;
 1080|   476k|	struct sctp_rcvinfo *rcv;
 1081|   476k|	struct sctp_recvv_rn *rn;
 1082|   476k|	struct sctp_extrcvinfo seinfo;
 1083|       |
 1084|   476k|	if (so == NULL) {
  ------------------
  |  Branch (1084:6): [True: 0, False: 476k]
  ------------------
 1085|      0|		errno = EBADF;
 1086|      0|		return (-1);
 1087|      0|	}
 1088|   476k|	iov[0].iov_base = dbuf;
 1089|   476k|	iov[0].iov_len = len;
 1090|       |
 1091|   476k|	auio.uio_iov = iov;
 1092|   476k|	auio.uio_iovcnt = iovlen;
 1093|   476k|	auio.uio_segflg = UIO_USERSPACE;
 1094|   476k|	auio.uio_rw = UIO_READ;
 1095|   476k|	auio.uio_offset = 0;			/* XXX */
 1096|   476k|	auio.uio_resid = 0;
 1097|   476k|	tiov = iov;
 1098|   952k|	for (i = 0; i <iovlen; i++, tiov++) {
  ------------------
  |  Branch (1098:14): [True: 476k, False: 476k]
  ------------------
 1099|   476k|		if ((auio.uio_resid += tiov->iov_len) < 0) {
  ------------------
  |  Branch (1099:7): [True: 0, False: 476k]
  ------------------
 1100|      0|			errno = EINVAL;
 1101|      0|			return (-1);
 1102|      0|		}
 1103|   476k|	}
 1104|   476k|	ulen = auio.uio_resid;
 1105|   476k|	if (fromlenp != NULL) {
  ------------------
  |  Branch (1105:6): [True: 476k, False: 0]
  ------------------
 1106|   476k|		fromlen = *fromlenp;
 1107|   476k|	} else {
 1108|      0|		fromlen = 0;
 1109|      0|	}
 1110|   476k|	errno = sctp_sorecvmsg(so, &auio, (struct mbuf **)NULL,
 1111|   476k|		    from, fromlen, msg_flags,
 1112|   476k|		    (struct sctp_sndrcvinfo *)&seinfo, 1);
 1113|   476k|	if (errno) {
 1114|  1.70k|		if ((auio.uio_resid != ulen) &&
  ------------------
  |  Branch (1114:7): [True: 0, False: 1.70k]
  ------------------
 1115|  1.70k|		    (errno == EINTR ||
  ------------------
  |  Branch (1115:8): [True: 0, False: 0]
  ------------------
 1116|      0|#if !defined(__NetBSD__)
 1117|      0|		     errno == ERESTART ||
  ------------------
  |  Branch (1117:8): [True: 0, False: 0]
  ------------------
 1118|      0|#endif
 1119|      0|		     errno == EWOULDBLOCK)) {
  ------------------
  |  Branch (1119:8): [True: 0, False: 0]
  ------------------
 1120|      0|			errno = 0;
 1121|      0|		}
 1122|  1.70k|	}
 1123|   476k|	if (errno != 0) {
  ------------------
  |  Branch (1123:6): [True: 1.70k, False: 474k]
  ------------------
 1124|  1.70k|		goto out;
 1125|  1.70k|	}
 1126|   474k|	if ((*msg_flags & MSG_NOTIFICATION) == 0) {
  ------------------
  |  |   50|   474k|#define MSG_NOTIFICATION 0x2000         /* SCTP notification */
  ------------------
  |  Branch (1126:6): [True: 1.17k, False: 473k]
  ------------------
 1127|  1.17k|		struct sctp_inpcb *inp;
 1128|       |
 1129|  1.17k|		inp = (struct sctp_inpcb *)so->so_pcb;
 1130|  1.17k|		if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_RECVNXTINFO) &&
  ------------------
  |  |   52|  2.34k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 1.17k, False: 0]
  |  |  ------------------
  ------------------
 1131|  1.17k|		    sctp_is_feature_on(inp, SCTP_PCB_FLAGS_RECVRCVINFO) &&
  ------------------
  |  |   52|  2.34k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 1.17k, False: 0]
  |  |  ------------------
  ------------------
 1132|  1.17k|		    *infolen >= (socklen_t)sizeof(struct sctp_recvv_rn) &&
  ------------------
  |  Branch (1132:7): [True: 1.17k, False: 0]
  ------------------
 1133|  1.17k|		    seinfo.sreinfo_next_flags & SCTP_NEXT_MSG_AVAIL) {
  ------------------
  |  |  164|  1.17k|#define sreinfo_next_flags serinfo_next_flags
  ------------------
              		    seinfo.sreinfo_next_flags & SCTP_NEXT_MSG_AVAIL) {
  ------------------
  |  |  213|  1.17k|#define SCTP_NEXT_MSG_AVAIL        0x0001
  ------------------
  |  Branch (1133:7): [True: 523, False: 651]
  ------------------
 1134|    523|			rn = (struct sctp_recvv_rn *)info;
 1135|    523|			rn->recvv_rcvinfo.rcv_sid = seinfo.sinfo_stream;
 1136|    523|			rn->recvv_rcvinfo.rcv_ssn = seinfo.sinfo_ssn;
 1137|    523|			rn->recvv_rcvinfo.rcv_flags = seinfo.sinfo_flags;
 1138|    523|			rn->recvv_rcvinfo.rcv_ppid = seinfo.sinfo_ppid;
 1139|    523|			rn->recvv_rcvinfo.rcv_context = seinfo.sinfo_context;
 1140|    523|			rn->recvv_rcvinfo.rcv_tsn = seinfo.sinfo_tsn;
 1141|    523|			rn->recvv_rcvinfo.rcv_cumtsn = seinfo.sinfo_cumtsn;
 1142|    523|			rn->recvv_rcvinfo.rcv_assoc_id = seinfo.sinfo_assoc_id;
 1143|    523|			rn->recvv_nxtinfo.nxt_sid = seinfo.sreinfo_next_stream;
  ------------------
  |  |  165|    523|#define sreinfo_next_stream serinfo_next_stream
  ------------------
 1144|    523|			rn->recvv_nxtinfo.nxt_flags = 0;
 1145|    523|			if (seinfo.sreinfo_next_flags & SCTP_NEXT_MSG_IS_UNORDERED) {
  ------------------
  |  |  164|    523|#define sreinfo_next_flags serinfo_next_flags
  ------------------
              			if (seinfo.sreinfo_next_flags & SCTP_NEXT_MSG_IS_UNORDERED) {
  ------------------
  |  |  215|    523|#define SCTP_NEXT_MSG_IS_UNORDERED 0x0004
  ------------------
  |  Branch (1145:8): [True: 317, False: 206]
  ------------------
 1146|    317|				rn->recvv_nxtinfo.nxt_flags |= SCTP_UNORDERED;
  ------------------
  |  |  259|    317|#define SCTP_UNORDERED        0x0400 /* Message is un-ordered */
  ------------------
 1147|    317|			}
 1148|    523|			if (seinfo.sreinfo_next_flags & SCTP_NEXT_MSG_IS_NOTIFICATION) {
  ------------------
  |  |  164|    523|#define sreinfo_next_flags serinfo_next_flags
  ------------------
              			if (seinfo.sreinfo_next_flags & SCTP_NEXT_MSG_IS_NOTIFICATION) {
  ------------------
  |  |  216|    523|#define SCTP_NEXT_MSG_IS_NOTIFICATION 0x0008
  ------------------
  |  Branch (1148:8): [True: 75, False: 448]
  ------------------
 1149|     75|				rn->recvv_nxtinfo.nxt_flags |= SCTP_NOTIFICATION;
  ------------------
  |  |  255|     75|#define SCTP_NOTIFICATION     0x0010 /* next message is a notification */
  ------------------
 1150|     75|			}
 1151|    523|			if (seinfo.sreinfo_next_flags & SCTP_NEXT_MSG_ISCOMPLETE) {
  ------------------
  |  |  164|    523|#define sreinfo_next_flags serinfo_next_flags
  ------------------
              			if (seinfo.sreinfo_next_flags & SCTP_NEXT_MSG_ISCOMPLETE) {
  ------------------
  |  |  214|    523|#define SCTP_NEXT_MSG_ISCOMPLETE   0x0002
  ------------------
  |  Branch (1151:8): [True: 523, False: 0]
  ------------------
 1152|    523|				rn->recvv_nxtinfo.nxt_flags |= SCTP_COMPLETE;
  ------------------
  |  |  256|    523|#define SCTP_COMPLETE         0x0020 /* next message is complete */
  ------------------
 1153|    523|			}
 1154|    523|			rn->recvv_nxtinfo.nxt_ppid = seinfo.sreinfo_next_ppid;
  ------------------
  |  |  168|    523|#define sreinfo_next_ppid serinfo_next_ppid
  ------------------
 1155|    523|			rn->recvv_nxtinfo.nxt_length = seinfo.sreinfo_next_length;
  ------------------
  |  |  167|    523|#define sreinfo_next_length serinfo_next_length
  ------------------
 1156|    523|			rn->recvv_nxtinfo.nxt_assoc_id = seinfo.sreinfo_next_aid;
  ------------------
  |  |  166|    523|#define sreinfo_next_aid serinfo_next_aid
  ------------------
 1157|    523|			*infolen = (socklen_t)sizeof(struct sctp_recvv_rn);
 1158|    523|			*infotype = SCTP_RECVV_RN;
  ------------------
  |  |  226|    523|#define SCTP_RECVV_RN      3
  ------------------
 1159|    651|		} else if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_RECVRCVINFO) &&
  ------------------
  |  |   52|  1.30k|#define sctp_is_feature_on(inp, feature) ((inp->sctp_features & feature) == feature)
  |  |  ------------------
  |  |  |  Branch (52:42): [True: 651, False: 0]
  |  |  ------------------
  ------------------
 1160|    651|		           *infolen >= (socklen_t)sizeof(struct sctp_rcvinfo)) {
  ------------------
  |  Branch (1160:14): [True: 651, False: 0]
  ------------------
 1161|    651|			rcv = (struct sctp_rcvinfo *)info;
 1162|    651|			rcv->rcv_sid = seinfo.sinfo_stream;
 1163|    651|			rcv->rcv_ssn = seinfo.sinfo_ssn;
 1164|    651|			rcv->rcv_flags = seinfo.sinfo_flags;
 1165|    651|			rcv->rcv_ppid = seinfo.sinfo_ppid;
 1166|    651|			rcv->rcv_context = seinfo.sinfo_context;
 1167|    651|			rcv->rcv_tsn = seinfo.sinfo_tsn;
 1168|    651|			rcv->rcv_cumtsn = seinfo.sinfo_cumtsn;
 1169|    651|			rcv->rcv_assoc_id = seinfo.sinfo_assoc_id;
 1170|    651|			*infolen = (socklen_t)sizeof(struct sctp_rcvinfo);
 1171|    651|			*infotype = SCTP_RECVV_RCVINFO;
  ------------------
  |  |  224|    651|#define SCTP_RECVV_RCVINFO 1
  ------------------
 1172|    651|		} else {
 1173|      0|			*infotype = SCTP_RECVV_NOINFO;
  ------------------
  |  |  223|      0|#define SCTP_RECVV_NOINFO  0
  ------------------
 1174|      0|			*infolen = 0;
 1175|      0|		}
 1176|  1.17k|	}
 1177|   474k|	if ((fromlenp != NULL) &&
  ------------------
  |  Branch (1177:6): [True: 474k, False: 0]
  ------------------
 1178|   474k|	    (fromlen > 0) &&
  ------------------
  |  Branch (1178:6): [True: 474k, False: 0]
  ------------------
 1179|   474k|	    (from != NULL) &&
  ------------------
  |  Branch (1179:6): [True: 474k, False: 0]
  ------------------
 1180|   474k|	    (ulen > auio.uio_resid)) {
  ------------------
  |  Branch (1180:6): [True: 474k, False: 0]
  ------------------
 1181|   474k|		switch (from->sa_family) {
 1182|      0|#if defined(INET)
 1183|    480|		case AF_INET:
  ------------------
  |  Branch (1183:3): [True: 480, False: 473k]
  ------------------
 1184|    480|			*fromlenp = sizeof(struct sockaddr_in);
 1185|    480|			break;
 1186|      0|#endif
 1187|      0|#if defined(INET6)
 1188|  7.78k|		case AF_INET6:
  ------------------
  |  Branch (1188:3): [True: 7.78k, False: 466k]
  ------------------
 1189|  7.78k|			*fromlenp = sizeof(struct sockaddr_in6);
 1190|  7.78k|			break;
 1191|      0|#endif
 1192|   466k|		case AF_CONN:
  ------------------
  |  | 1008|   466k|#define AF_CONN 123
  ------------------
  |  Branch (1192:3): [True: 466k, False: 8.26k]
  ------------------
 1193|   466k|			*fromlenp = sizeof(struct sockaddr_conn);
 1194|   466k|			break;
 1195|      0|		default:
  ------------------
  |  Branch (1195:3): [True: 0, False: 474k]
  ------------------
 1196|      0|			*fromlenp = 0;
 1197|      0|			break;
 1198|   474k|		}
 1199|   474k|		if (*fromlenp > fromlen) {
  ------------------
  |  Branch (1199:7): [True: 7.78k, False: 466k]
  ------------------
 1200|  7.78k|			*fromlenp = fromlen;
 1201|  7.78k|		}
 1202|   474k|	}
 1203|   476k|out:
 1204|   476k|	if (errno == 0) {
  ------------------
  |  Branch (1204:6): [True: 474k, False: 1.70k]
  ------------------
 1205|       |		/* ready return value */
 1206|   474k|		return (ulen - auio.uio_resid);
 1207|   474k|	} else {
 1208|  1.70k|		return (-1);
 1209|  1.70k|	}
 1210|   476k|}
socreate:
 1222|  11.5k|{
 1223|  11.5k|	struct socket *so;
 1224|  11.5k|	int error;
 1225|       |
 1226|  11.5k|	if ((dom != AF_CONN) && (dom != AF_INET) && (dom != AF_INET6)) {
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (1226:6): [True: 0, False: 11.5k]
  |  Branch (1226:26): [True: 0, False: 0]
  |  Branch (1226:46): [True: 0, False: 0]
  ------------------
 1227|      0|		return (EINVAL);
 1228|      0|	}
 1229|  11.5k|	if ((type != SOCK_STREAM) && (type != SOCK_SEQPACKET)) {
  ------------------
  |  Branch (1229:6): [True: 0, False: 11.5k]
  |  Branch (1229:31): [True: 0, False: 0]
  ------------------
 1230|      0|		return (EINVAL);
 1231|      0|	}
 1232|  11.5k|	if (proto != IPPROTO_SCTP) {
  ------------------
  |  Branch (1232:6): [True: 0, False: 11.5k]
  ------------------
 1233|      0|		return (EINVAL);
 1234|      0|	}
 1235|       |
 1236|  11.5k|	so = soalloc();
 1237|  11.5k|	if (so == NULL) {
  ------------------
  |  Branch (1237:6): [True: 0, False: 11.5k]
  ------------------
 1238|      0|		return (ENOBUFS);
 1239|      0|	}
 1240|       |
 1241|       |	/*
 1242|       |	 * so_incomp represents a queue of connections that
 1243|       |	 * must be completed at protocol level before being
 1244|       |	 * returned. so_comp field heads a list of sockets
 1245|       |	 * that are ready to be returned to the listening process
 1246|       |	 *__Userspace__ These queues are being used at a number of places like accept etc.
 1247|       |	 */
 1248|  11.5k|	TAILQ_INIT(&so->so_incomp);
 1249|  11.5k|	TAILQ_INIT(&so->so_comp);
 1250|  11.5k|	so->so_type = type;
 1251|  11.5k|	so->so_count = 1;
 1252|  11.5k|	so->so_dom = dom;
 1253|       |	/*
 1254|       |	 * Auto-sizing of socket buffers is managed by the protocols and
 1255|       |	 * the appropriate flags must be set in the pru_attach function.
 1256|       |	 * For __Userspace__ The pru_attach function in this case is sctp_attach.
 1257|       |	 */
 1258|  11.5k|	switch (dom) {
 1259|      0|#if defined(INET)
 1260|      0|	case AF_INET:
  ------------------
  |  Branch (1260:2): [True: 0, False: 11.5k]
  ------------------
 1261|      0|		error = sctp_attach(so, proto, SCTP_DEFAULT_VRFID);
  ------------------
  |  |  644|      0|#define SCTP_DEFAULT_VRFID	0
  ------------------
 1262|      0|		break;
 1263|      0|#endif
 1264|      0|#if defined(INET6)
 1265|      0|	case AF_INET6:
  ------------------
  |  Branch (1265:2): [True: 0, False: 11.5k]
  ------------------
 1266|      0|		error = sctp6_attach(so, proto, SCTP_DEFAULT_VRFID);
  ------------------
  |  |  644|      0|#define SCTP_DEFAULT_VRFID	0
  ------------------
 1267|      0|		break;
 1268|      0|#endif
 1269|  11.5k|	case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (1269:2): [True: 11.5k, False: 0]
  ------------------
 1270|  11.5k|		error = sctpconn_attach(so, proto, SCTP_DEFAULT_VRFID);
  ------------------
  |  |  644|  11.5k|#define SCTP_DEFAULT_VRFID	0
  ------------------
 1271|  11.5k|		break;
 1272|      0|	default:
  ------------------
  |  Branch (1272:2): [True: 0, False: 11.5k]
  ------------------
 1273|      0|		error = EAFNOSUPPORT;
 1274|      0|		break;
 1275|  11.5k|	}
 1276|  11.5k|	if (error) {
  ------------------
  |  Branch (1276:6): [True: 0, False: 11.5k]
  ------------------
 1277|      0|		KASSERT(so->so_count == 1, ("socreate: so_count %d", so->so_count));
  ------------------
  |  |  112|      0|	do {                         \
  |  |  113|      0|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1278|      0|		so->so_count = 0;
 1279|      0|		sodealloc(so);
 1280|      0|		return (error);
 1281|      0|	}
 1282|  11.5k|	*aso = so;
 1283|  11.5k|	return (0);
 1284|  11.5k|}
usrsctp_socket:
 1315|  11.5k|{
 1316|  11.5k|	struct socket *so = NULL;
 1317|       |
 1318|  11.5k|	if ((protocol == IPPROTO_SCTP) && (SCTP_BASE_VAR(sctp_pcb_initialized) == 0)) {
  ------------------
  |  |  585|  11.5k|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1318:6): [True: 11.5k, False: 0]
  |  Branch (1318:36): [True: 0, False: 11.5k]
  ------------------
 1319|      0|		errno = EPROTONOSUPPORT;
 1320|      0|		return (NULL);
 1321|      0|	}
 1322|  11.5k|	if ((receive_cb == NULL) &&
  ------------------
  |  Branch (1322:6): [True: 11.5k, False: 0]
  ------------------
 1323|  11.5k|	    ((send_cb != NULL) || (sb_threshold != 0) || (ulp_info != NULL))) {
  ------------------
  |  Branch (1323:7): [True: 0, False: 11.5k]
  |  Branch (1323:28): [True: 0, False: 11.5k]
  |  Branch (1323:51): [True: 0, False: 11.5k]
  ------------------
 1324|      0|		errno = EINVAL;
 1325|      0|		return (NULL);
 1326|      0|	}
 1327|  11.5k|	if ((domain == AF_CONN) && (SCTP_BASE_VAR(conn_output) == NULL)) {
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
              	if ((domain == AF_CONN) && (SCTP_BASE_VAR(conn_output) == NULL)) {
  ------------------
  |  |  585|  11.5k|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (1327:6): [True: 11.5k, False: 0]
  |  Branch (1327:29): [True: 0, False: 11.5k]
  ------------------
 1328|      0|		errno = EAFNOSUPPORT;
 1329|      0|		return (NULL);
 1330|      0|	}
 1331|  11.5k|	errno = socreate(domain, &so, type, protocol);
 1332|  11.5k|	if (errno) {
 1333|      0|		return (NULL);
 1334|      0|	}
 1335|       |	/*
 1336|       |	 * The original socket call returns the file descriptor fd.
 1337|       |	 * td->td_retval[0] = fd.
 1338|       |	 * We are returning struct socket *so.
 1339|       |	 */
 1340|  11.5k|	register_recv_cb(so, receive_cb);
 1341|  11.5k|	register_send_cb(so, sb_threshold, send_cb);
 1342|  11.5k|	register_ulp_info(so, ulp_info);
 1343|  11.5k|	return (so);
 1344|  11.5k|}
sbreserve_locked:
 1359|  23.1k|{
 1360|  23.1k|	SOCKBUF_LOCK_ASSERT(sb);
  ------------------
  |  |  514|  23.1k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  23.1k|	do {                         \
  |  |  |  |  113|  23.1k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 23.1k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  23.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1361|  23.1k|	sb->sb_mbmax = (u_int)min(cc * sb_efficiency, sb_max);
  ------------------
  |  |   66|  23.1k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 23.1k, False: 0]
  |  |  ------------------
  ------------------
 1362|  23.1k|	sb->sb_hiwat = (u_int)cc;
 1363|  23.1k|	if (sb->sb_lowat > (int)sb->sb_hiwat)
  ------------------
  |  Branch (1363:6): [True: 0, False: 23.1k]
  ------------------
 1364|      0|		sb->sb_lowat = (int)sb->sb_hiwat;
 1365|  23.1k|	return (1);
 1366|  23.1k|}
soreserve:
 1381|  11.5k|{
 1382|  11.5k|	SOCKBUF_LOCK(&so->so_snd);
  ------------------
  |  |  517|  11.5k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1383|  11.5k|	SOCKBUF_LOCK(&so->so_rcv);
  ------------------
  |  |  517|  11.5k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1384|  11.5k|	so->so_snd.sb_hiwat = (uint32_t)sndcc;
 1385|  11.5k|	so->so_rcv.sb_hiwat = (uint32_t)rcvcc;
 1386|       |
 1387|  11.5k|	if (sbreserve_locked(&so->so_snd, sndcc, so) == 0) {
  ------------------
  |  Branch (1387:6): [True: 0, False: 11.5k]
  ------------------
 1388|      0|		goto bad;
 1389|      0|	}
 1390|  11.5k|	if (sbreserve_locked(&so->so_rcv, rcvcc, so) == 0) {
  ------------------
  |  Branch (1390:6): [True: 0, False: 11.5k]
  ------------------
 1391|      0|		goto bad;
 1392|      0|	}
 1393|  11.5k|	if (so->so_rcv.sb_lowat == 0)
  ------------------
  |  Branch (1393:6): [True: 11.5k, False: 0]
  ------------------
 1394|  11.5k|		so->so_rcv.sb_lowat = 1;
 1395|  11.5k|	if (so->so_snd.sb_lowat == 0)
  ------------------
  |  Branch (1395:6): [True: 11.5k, False: 0]
  ------------------
 1396|  11.5k|		so->so_snd.sb_lowat = MCLBYTES;
  ------------------
  |  |   51|  11.5k|#define MCLBYTES 2048
  ------------------
 1397|  11.5k|	if (so->so_snd.sb_lowat > (int)so->so_snd.sb_hiwat)
  ------------------
  |  Branch (1397:6): [True: 0, False: 11.5k]
  ------------------
 1398|      0|		so->so_snd.sb_lowat = (int)so->so_snd.sb_hiwat;
 1399|  11.5k|	SOCKBUF_UNLOCK(&so->so_rcv);
  ------------------
  |  |  519|  11.5k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1400|  11.5k|	SOCKBUF_UNLOCK(&so->so_snd);
  ------------------
  |  |  519|  11.5k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1401|  11.5k|	return (0);
 1402|       |
 1403|      0| bad:
 1404|      0|	SOCKBUF_UNLOCK(&so->so_rcv);
  ------------------
  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1405|      0|	SOCKBUF_UNLOCK(&so->so_snd);
  ------------------
  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1406|      0|	return (ENOBUFS);
 1407|      0|}
sowakeup:
 1416|   510k|{
 1417|       |
 1418|   510k|	SOCKBUF_LOCK_ASSERT(sb);
  ------------------
  |  |  514|   510k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   510k|	do {                         \
  |  |  |  |  113|   510k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 510k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   510k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1419|       |
 1420|   510k|	sb->sb_flags &= ~SB_SEL;
  ------------------
  |  |  204|   510k|#define	SB_SEL		0x08		/* someone is selecting */
  ------------------
 1421|   510k|	if (sb->sb_flags & SB_WAIT) {
  ------------------
  |  |  203|   510k|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  ------------------
  |  Branch (1421:6): [True: 0, False: 510k]
  ------------------
 1422|      0|		sb->sb_flags &= ~SB_WAIT;
  ------------------
  |  |  203|      0|#define	SB_WAIT		0x04		/* someone is waiting for data/space */
  ------------------
 1423|       |#if defined(_WIN32)
 1424|       |		WakeAllConditionVariable(&(sb)->sb_cond);
 1425|       |#else
 1426|      0|		pthread_cond_broadcast(&(sb)->sb_cond);
 1427|      0|#endif
 1428|      0|	}
 1429|   510k|	SOCKBUF_UNLOCK(sb);
  ------------------
  |  |  519|   510k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  ------------------
  |  |  |  |  112|   510k|	do {                         \
  |  |  |  |  113|   510k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 510k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|   510k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1430|   510k|}
sobind:
 1439|  11.5k|{
 1440|  11.5k|	switch (nam->sa_family) {
 1441|      0|#if defined(INET)
 1442|      0|	case AF_INET:
  ------------------
  |  Branch (1442:2): [True: 0, False: 11.5k]
  ------------------
 1443|      0|		return (sctp_bind(so, nam));
 1444|      0|#endif
 1445|      0|#if defined(INET6)
 1446|      0|	case AF_INET6:
  ------------------
  |  Branch (1446:2): [True: 0, False: 11.5k]
  ------------------
 1447|      0|		return (sctp6_bind(so, nam, NULL));
 1448|      0|#endif
 1449|  11.5k|	case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (1449:2): [True: 11.5k, False: 0]
  ------------------
 1450|  11.5k|		return (sctpconn_bind(so, nam));
 1451|      0|	default:
  ------------------
  |  Branch (1451:2): [True: 0, False: 11.5k]
  ------------------
 1452|      0|		return EAFNOSUPPORT;
 1453|  11.5k|	}
 1454|  11.5k|}
usrsctp_bind:
 1462|  11.5k|{
 1463|  11.5k|	struct sockaddr *sa;
 1464|       |
 1465|  11.5k|	if (so == NULL) {
  ------------------
  |  Branch (1465:6): [True: 0, False: 11.5k]
  ------------------
 1466|      0|		errno = EBADF;
 1467|      0|		return (-1);
 1468|      0|	}
 1469|  11.5k|	if ((errno = getsockaddr(&sa, (caddr_t)name, namelen)) != 0)
  ------------------
  |  Branch (1469:6): [True: 0, False: 11.5k]
  ------------------
 1470|      0|		return (-1);
 1471|       |
 1472|  11.5k|	errno = sobind(so, sa);
 1473|  11.5k|	FREE(sa, M_SONAME);
  ------------------
  |  |  191|  11.5k|#define	FREE(addr, type) free((addr))
  ------------------
 1474|  11.5k|	if (errno) {
 1475|      0|		return (-1);
 1476|  11.5k|	} else {
 1477|  11.5k|		return (0);
 1478|  11.5k|	}
 1479|  11.5k|}
usrsctp_set_non_blocking:
 1820|  11.5k|{
 1821|  11.5k|	if (so == NULL) {
  ------------------
  |  Branch (1821:6): [True: 0, False: 11.5k]
  ------------------
 1822|      0|		errno = EBADF;
 1823|      0|		return (-1);
 1824|      0|	}
 1825|  11.5k|	SOCK_LOCK(so);
  ------------------
  |  |  527|  11.5k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|  11.5k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1826|  11.5k|	if (onoff != 0) {
  ------------------
  |  Branch (1826:6): [True: 11.5k, False: 0]
  ------------------
 1827|  11.5k|		so->so_state |= SS_NBIO;
  ------------------
  |  |  343|  11.5k|#define	SS_NBIO			0x0100	/* non-blocking ops */
  ------------------
 1828|  11.5k|	} else {
 1829|      0|		so->so_state &= ~SS_NBIO;
  ------------------
  |  |  343|      0|#define	SS_NBIO			0x0100	/* non-blocking ops */
  ------------------
 1830|      0|	}
 1831|  11.5k|	SOCK_UNLOCK(so);
  ------------------
  |  |  529|  11.5k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|  11.5k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1832|  11.5k|	return (0);
 1833|  11.5k|}
soconnect:
 1856|  11.5k|{
 1857|  11.5k|	int error;
 1858|       |
 1859|  11.5k|	if (so->so_options & SCTP_SO_ACCEPTCONN)
  ------------------
  |  |   53|  11.5k|#define SCTP_SO_ACCEPTCONN 0x0002
  ------------------
  |  Branch (1859:6): [True: 0, False: 11.5k]
  ------------------
 1860|      0|		return (EOPNOTSUPP);
 1861|       |	/*
 1862|       |	 * If protocol is connection-based, can only connect once.
 1863|       |	 * Otherwise, if connected, try to disconnect first.  This allows
 1864|       |	 * user to disconnect by connecting to, e.g., a null address.
 1865|       |	 */
 1866|  11.5k|	if (so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING) && (sodisconnect(so) != 0)) {
  ------------------
  |  |  340|  11.5k|#define	SS_ISCONNECTED		0x0002	/* socket connected to a peer */
  ------------------
              	if (so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING) && (sodisconnect(so) != 0)) {
  ------------------
  |  |  341|  11.5k|#define	SS_ISCONNECTING		0x0004	/* in process of connecting to peer */
  ------------------
  |  Branch (1866:6): [True: 0, False: 11.5k]
  |  Branch (1866:57): [True: 0, False: 0]
  ------------------
 1867|      0|		error = EISCONN;
 1868|  11.5k|	} else {
 1869|       |		/*
 1870|       |		 * Prevent accumulated error from previous connection from
 1871|       |		 * biting us.
 1872|       |		 */
 1873|  11.5k|		so->so_error = 0;
 1874|  11.5k|		switch (nam->sa_family) {
 1875|      0|#if defined(INET)
 1876|      0|		case AF_INET:
  ------------------
  |  Branch (1876:3): [True: 0, False: 11.5k]
  ------------------
 1877|      0|			error = sctp_connect(so, nam);
 1878|      0|			break;
 1879|      0|#endif
 1880|      0|#if defined(INET6)
 1881|      0|		case AF_INET6:
  ------------------
  |  Branch (1881:3): [True: 0, False: 11.5k]
  ------------------
 1882|      0|			error = sctp6_connect(so, nam);
 1883|      0|			break;
 1884|      0|#endif
 1885|  11.5k|		case AF_CONN:
  ------------------
  |  | 1008|  11.5k|#define AF_CONN 123
  ------------------
  |  Branch (1885:3): [True: 11.5k, False: 0]
  ------------------
 1886|  11.5k|			error = sctpconn_connect(so, nam);
 1887|  11.5k|			break;
 1888|      0|		default:
  ------------------
  |  Branch (1888:3): [True: 0, False: 11.5k]
  ------------------
 1889|      0|			error = EAFNOSUPPORT;
 1890|  11.5k|		}
 1891|  11.5k|	}
 1892|       |
 1893|  11.5k|	return (error);
 1894|  11.5k|}
user_connect:
 1899|  11.5k|{
 1900|  11.5k|	int error;
 1901|  11.5k|	int interrupted = 0;
 1902|       |
 1903|  11.5k|	if (so == NULL) {
  ------------------
  |  Branch (1903:6): [True: 0, False: 11.5k]
  ------------------
 1904|      0|		error = EBADF;
 1905|      0|		goto done1;
 1906|      0|	}
 1907|  11.5k|	if (so->so_state & SS_ISCONNECTING) {
  ------------------
  |  |  341|  11.5k|#define	SS_ISCONNECTING		0x0004	/* in process of connecting to peer */
  ------------------
  |  Branch (1907:6): [True: 0, False: 11.5k]
  ------------------
 1908|      0|		error = EALREADY;
 1909|      0|		goto done1;
 1910|      0|	}
 1911|       |
 1912|  11.5k|	error = soconnect(so, sa);
 1913|  11.5k|	if (error) {
  ------------------
  |  Branch (1913:6): [True: 0, False: 11.5k]
  ------------------
 1914|      0|		goto bad;
 1915|      0|	}
 1916|  11.5k|	if ((so->so_state & SS_NBIO) && (so->so_state & SS_ISCONNECTING)) {
  ------------------
  |  |  343|  11.5k|#define	SS_NBIO			0x0100	/* non-blocking ops */
  ------------------
              	if ((so->so_state & SS_NBIO) && (so->so_state & SS_ISCONNECTING)) {
  ------------------
  |  |  341|  11.5k|#define	SS_ISCONNECTING		0x0004	/* in process of connecting to peer */
  ------------------
  |  Branch (1916:6): [True: 11.5k, False: 0]
  |  Branch (1916:34): [True: 11.5k, False: 0]
  ------------------
 1917|  11.5k|		error = EINPROGRESS;
 1918|  11.5k|		goto done1;
 1919|  11.5k|	}
 1920|       |
 1921|      0|	SOCK_LOCK(so);
  ------------------
  |  |  527|      0|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|      0|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1922|      0|	while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) {
  ------------------
  |  |  341|      0|#define	SS_ISCONNECTING		0x0004	/* in process of connecting to peer */
  ------------------
  |  Branch (1922:9): [True: 0, False: 0]
  |  Branch (1922:45): [True: 0, False: 0]
  ------------------
 1923|       |#if defined(_WIN32)
 1924|       |		if (SleepConditionVariableCS(SOCK_COND(so), SOCK_MTX(so), INFINITE))
 1925|       |			error = 0;
 1926|       |		else
 1927|       |			error = -1;
 1928|       |#else
 1929|      0|		error = pthread_cond_wait(SOCK_COND(so), SOCK_MTX(so));
  ------------------
  |  |  303|      0|#define SOCK_COND(_so) (&(_so)->timeo_cond)
  ------------------
              		error = pthread_cond_wait(SOCK_COND(so), SOCK_MTX(so));
  ------------------
  |  |  319|      0|#define	SOCK_MTX(_so)			SOCKBUF_MTX(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  274|      0|#define	SOCKBUF_MTX(_sb) (&(_sb)->sb_mtx)
  |  |  ------------------
  ------------------
 1930|      0|#endif
 1931|      0|		if (error) {
  ------------------
  |  Branch (1931:7): [True: 0, False: 0]
  ------------------
 1932|       |#if defined(__NetBSD__)
 1933|       |			if (error == EINTR) {
 1934|       |#else
 1935|      0|			if (error == EINTR || error == ERESTART) {
  ------------------
  |  Branch (1935:8): [True: 0, False: 0]
  |  Branch (1935:26): [True: 0, False: 0]
  ------------------
 1936|      0|#endif
 1937|      0|				interrupted = 1;
 1938|      0|			}
 1939|      0|			break;
 1940|      0|		}
 1941|      0|	}
 1942|      0|	if (error == 0) {
  ------------------
  |  Branch (1942:6): [True: 0, False: 0]
  ------------------
 1943|      0|		error = so->so_error;
 1944|      0|		so->so_error = 0;
 1945|      0|	}
 1946|      0|	SOCK_UNLOCK(so);
  ------------------
  |  |  529|      0|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1947|       |
 1948|      0|bad:
 1949|      0|	if (!interrupted) {
  ------------------
  |  Branch (1949:6): [True: 0, False: 0]
  ------------------
 1950|      0|		so->so_state &= ~SS_ISCONNECTING;
  ------------------
  |  |  341|      0|#define	SS_ISCONNECTING		0x0004	/* in process of connecting to peer */
  ------------------
 1951|      0|	}
 1952|      0|#if !defined(__NetBSD__)
 1953|      0|	if (error == ERESTART) {
  ------------------
  |  Branch (1953:6): [True: 0, False: 0]
  ------------------
 1954|      0|		error = EINTR;
 1955|      0|	}
 1956|      0|#endif
 1957|  11.5k|done1:
 1958|  11.5k|	return (error);
 1959|      0|}
usrsctp_connect:
 1962|  11.5k|{
 1963|  11.5k|	struct sockaddr *sa = NULL;
 1964|       |
 1965|  11.5k|	errno = getsockaddr(&sa, (caddr_t)name, namelen);
 1966|  11.5k|	if (errno)
 1967|      0|		return (-1);
 1968|       |
 1969|  11.5k|	errno = user_connect(so, sa);
 1970|  11.5k|	FREE(sa, M_SONAME);
  ------------------
  |  |  191|  11.5k|#define	FREE(addr, type) free((addr))
  ------------------
 1971|  11.5k|	if (errno) {
 1972|  11.5k|		return (-1);
 1973|  11.5k|	} else {
 1974|      0|		return (0);
 1975|      0|	}
 1976|  11.5k|}
usrsctp_close:
 1986|  11.5k|usrsctp_close(struct socket *so) {
 1987|  11.5k|	if (so != NULL) {
  ------------------
  |  Branch (1987:6): [True: 11.5k, False: 0]
  ------------------
 1988|  11.5k|		if (so->so_options & SCTP_SO_ACCEPTCONN) {
  ------------------
  |  |   53|  11.5k|#define SCTP_SO_ACCEPTCONN 0x0002
  ------------------
  |  Branch (1988:7): [True: 0, False: 11.5k]
  ------------------
 1989|      0|			struct socket *sp;
 1990|       |
 1991|      0|			ACCEPT_LOCK();
  ------------------
  |  |  256|      0|#define	ACCEPT_LOCK()	KASSERT(pthread_mutex_lock(&accept_mtx) == 0, ("%s: accept_mtx already locked", __func__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1992|      0|			while ((sp = TAILQ_FIRST(&so->so_comp)) != NULL) {
  ------------------
  |  Branch (1992:11): [True: 0, False: 0]
  ------------------
 1993|      0|				TAILQ_REMOVE(&so->so_comp, sp, so_list);
 1994|      0|				so->so_qlen--;
 1995|      0|				sp->so_qstate &= ~SQ_COMP;
  ------------------
  |  |  367|      0|#define	SQ_COMP			0x1000	/* unaccepted, complete connection */
  ------------------
 1996|      0|				sp->so_head = NULL;
 1997|      0|				ACCEPT_UNLOCK();
  ------------------
  |  |  257|      0|#define	ACCEPT_UNLOCK()	KASSERT(pthread_mutex_unlock(&accept_mtx) == 0, ("%s: accept_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1998|      0|				soabort(sp);
 1999|      0|				ACCEPT_LOCK();
  ------------------
  |  |  256|      0|#define	ACCEPT_LOCK()	KASSERT(pthread_mutex_lock(&accept_mtx) == 0, ("%s: accept_mtx already locked", __func__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2000|      0|			}
 2001|      0|			ACCEPT_UNLOCK();
  ------------------
  |  |  257|      0|#define	ACCEPT_UNLOCK()	KASSERT(pthread_mutex_unlock(&accept_mtx) == 0, ("%s: accept_mtx not locked", __func__))
  |  |  ------------------
  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2002|      0|		}
 2003|  11.5k|		ACCEPT_LOCK();
  ------------------
  |  |  256|  11.5k|#define	ACCEPT_LOCK()	KASSERT(pthread_mutex_lock(&accept_mtx) == 0, ("%s: accept_mtx already locked", __func__))
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2004|  11.5k|		SOCK_LOCK(so);
  ------------------
  |  |  527|  11.5k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|  11.5k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2005|  11.5k|		sorele(so);
  ------------------
  |  |  412|  11.5k|#define	sorele(so) do {							\
  |  |  413|  11.5k|	ACCEPT_LOCK_ASSERT();						\
  |  |  ------------------
  |  |  |  |  263|  11.5k|          KASSERT(pthread_mutex_trylock(&accept_mtx) == EBUSY, ("%s: accept_mtx not locked", __func__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  414|  11.5k|	SOCK_LOCK_ASSERT(so);						\
  |  |  ------------------
  |  |  |  |  325|  11.5k|#define	SOCK_LOCK_ASSERT(_so)		SOCKBUF_LOCK_ASSERT(&(_so)->so_rcv)
  |  |  |  |  ------------------
  |  |  |  |  |  |  514|  11.5k|	KASSERT(pthread_mutex_trylock(SOCKBUF_MTX(_so_buf)) == EBUSY, ("%s:%d: socket buffer not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  415|  11.5k|	KASSERT((so)->so_count > 0, ("sorele"));			\
  |  |  ------------------
  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  ------------------
  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  115|      0|		}                    \
  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  416|  11.5k|	if (--(so)->so_count == 0) {					\
  |  |  ------------------
  |  |  |  Branch (416:6): [True: 11.5k, False: 0]
  |  |  ------------------
  |  |  417|  11.5k|		SCTPDBG(SCTP_DEBUG_USR, "sorele(%p) -> %d, %s:%s:%d\n",	\
  |  |  418|  11.5k|			(so), (so)->so_count,				\
  |  |  419|  11.5k|			__func__, __FILE__, __LINE__)			\
  |  |  420|  11.5k|		sofree(so);						\
  |  |  421|  11.5k|	}								\
  |  |  422|  11.5k|	else {								\
  |  |  423|      0|		SCTPDBG(SCTP_DEBUG_USR, "sorele(%p) -> %d, %s:%s:%d\n",	\
  |  |  424|      0|			(so), (so)->so_count,				\
  |  |  425|      0|			__func__, __FILE__, __LINE__)			\
  |  |  426|      0|		SOCK_UNLOCK(so);					\
  |  |  ------------------
  |  |  |  |  529|      0|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  |  |  ------------------
  |  |  |  |  |  |  519|      0|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  427|      0|		ACCEPT_UNLOCK();					\
  |  |  ------------------
  |  |  |  |  257|      0|#define	ACCEPT_UNLOCK()	KASSERT(pthread_mutex_unlock(&accept_mtx) == 0, ("%s: accept_mtx not locked", __func__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|	do {                         \
  |  |  |  |  |  |  113|      0|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|      0|	}								\
  |  |  429|  11.5k|} while (0)
  |  |  ------------------
  |  |  |  Branch (429:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2006|  11.5k|	}
 2007|  11.5k|}
usrsctp_setsockopt:
 2088|   246k|{
 2089|   246k|	if (so == NULL) {
  ------------------
  |  Branch (2089:6): [True: 0, False: 246k]
  ------------------
 2090|      0|		errno = EBADF;
 2091|      0|		return (-1);
 2092|      0|	}
 2093|   246k|	switch (level) {
 2094|  11.5k|	case SOL_SOCKET:
  ------------------
  |  Branch (2094:2): [True: 11.5k, False: 234k]
  ------------------
 2095|  11.5k|	{
 2096|  11.5k|		switch (option_name) {
 2097|      0|		case SO_RCVBUF:
  ------------------
  |  Branch (2097:3): [True: 0, False: 11.5k]
  ------------------
 2098|      0|			if (option_len < (socklen_t)sizeof(int)) {
  ------------------
  |  Branch (2098:8): [True: 0, False: 0]
  ------------------
 2099|      0|				errno = EINVAL;
 2100|      0|				return (-1);
 2101|      0|			} else {
 2102|      0|				int *buf_size;
 2103|       |
 2104|      0|				buf_size = (int *)option_value;
 2105|      0|				if (*buf_size < 1) {
  ------------------
  |  Branch (2105:9): [True: 0, False: 0]
  ------------------
 2106|      0|					errno = EINVAL;
 2107|      0|					return (-1);
 2108|      0|				}
 2109|      0|				sbreserve(&so->so_rcv, (u_long)*buf_size, so);
 2110|      0|				return (0);
 2111|      0|			}
 2112|      0|			break;
 2113|      0|		case SO_SNDBUF:
  ------------------
  |  Branch (2113:3): [True: 0, False: 11.5k]
  ------------------
 2114|      0|			if (option_len < (socklen_t)sizeof(int)) {
  ------------------
  |  Branch (2114:8): [True: 0, False: 0]
  ------------------
 2115|      0|				errno = EINVAL;
 2116|      0|				return (-1);
 2117|      0|			} else {
 2118|      0|				int *buf_size;
 2119|       |
 2120|      0|				buf_size = (int *)option_value;
 2121|      0|				if (*buf_size < 1) {
  ------------------
  |  Branch (2121:9): [True: 0, False: 0]
  ------------------
 2122|      0|					errno = EINVAL;
 2123|      0|					return (-1);
 2124|      0|				}
 2125|      0|				sbreserve(&so->so_snd, (u_long)*buf_size, so);
 2126|      0|				return (0);
 2127|      0|			}
 2128|      0|			break;
 2129|  11.5k|		case SO_LINGER:
  ------------------
  |  Branch (2129:3): [True: 11.5k, False: 0]
  ------------------
 2130|  11.5k|			if (option_len < (socklen_t)sizeof(struct linger)) {
  ------------------
  |  Branch (2130:8): [True: 0, False: 11.5k]
  ------------------
 2131|      0|				errno = EINVAL;
 2132|      0|				return (-1);
 2133|  11.5k|			} else {
 2134|  11.5k|				struct linger *l;
 2135|       |
 2136|  11.5k|				l = (struct linger *)option_value;
 2137|  11.5k|				so->so_linger = l->l_linger;
 2138|  11.5k|				if (l->l_onoff) {
  ------------------
  |  Branch (2138:9): [True: 11.5k, False: 0]
  ------------------
 2139|  11.5k|					so->so_options |= SCTP_SO_LINGER;
  ------------------
  |  |   52|  11.5k|#define SCTP_SO_LINGER     0x0001
  ------------------
 2140|  11.5k|				} else {
 2141|      0|					so->so_options &= ~SCTP_SO_LINGER;
  ------------------
  |  |   52|      0|#define SCTP_SO_LINGER     0x0001
  ------------------
 2142|      0|				}
 2143|  11.5k|				return (0);
 2144|  11.5k|			}
 2145|      0|		default:
  ------------------
  |  Branch (2145:3): [True: 0, False: 11.5k]
  ------------------
 2146|      0|			errno = EINVAL;
 2147|      0|			return (-1);
 2148|  11.5k|		}
 2149|  11.5k|	}
 2150|   234k|	case IPPROTO_SCTP:
  ------------------
  |  Branch (2150:2): [True: 234k, False: 11.5k]
  ------------------
 2151|   234k|		errno = sctp_setopt(so, option_name, (void *) option_value, (size_t)option_len, NULL);
 2152|   234k|		if (errno) {
 2153|      0|			return (-1);
 2154|   234k|		} else {
 2155|   234k|			return (0);
 2156|   234k|		}
 2157|      0|	default:
  ------------------
  |  Branch (2157:2): [True: 0, False: 246k]
  ------------------
 2158|      0|		errno = ENOPROTOOPT;
 2159|      0|		return (-1);
 2160|   246k|	}
 2161|   246k|}
usrsctp_register_address:
 3122|      1|{
 3123|      1|	struct sockaddr_conn sconn;
 3124|       |
 3125|      1|	memset(&sconn, 0, sizeof(struct sockaddr_conn));
 3126|      1|	sconn.sconn_family = AF_CONN;
  ------------------
  |  | 1008|      1|#define AF_CONN 123
  ------------------
 3127|       |#ifdef HAVE_SCONN_LEN
 3128|       |	sconn.sconn_len = sizeof(struct sockaddr_conn);
 3129|       |#endif
 3130|      1|	sconn.sconn_port = 0;
 3131|      1|	sconn.sconn_addr = addr;
 3132|      1|	sctp_add_addr_to_vrf(SCTP_DEFAULT_VRFID,
  ------------------
  |  |  644|      1|#define SCTP_DEFAULT_VRFID	0
  ------------------
 3133|      1|	                     NULL,
 3134|      1|	                     0xffffffff,
 3135|      1|	                     0,
 3136|      1|	                     "conn",
 3137|      1|	                     NULL,
 3138|      1|	                     (struct sockaddr *)&sconn,
 3139|      1|	                     0,
 3140|      1|	                     0);
 3141|      1|}
usrsctp_enable_crc32c_offload:
 3251|      1|{
 3252|      1|	SCTP_BASE_VAR(crc32c_offloaded) = 1;
  ------------------
  |  |  585|      1|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
 3253|      1|}
usrsctp_conninput:
 3274|  28.1k|{
 3275|  28.1k|	struct sockaddr_conn src, dst;
 3276|  28.1k|	struct mbuf *m, *mm;
 3277|  28.1k|	struct sctphdr *sh;
 3278|  28.1k|	struct sctp_chunkhdr *ch;
 3279|  28.1k|	int remaining, offset;
 3280|       |
 3281|  28.1k|	SCTP_STAT_INCR(sctps_recvpackets);
  ------------------
  |  | 1112|  28.1k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|  28.1k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|  28.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3282|  28.1k|	SCTP_STAT_INCR_COUNTER64(sctps_inpackets);
  ------------------
  |  | 1128|  28.1k|#define SCTP_STAT_INCR_COUNTER64(_x) SCTP_STAT_INCR(_x)
  |  |  ------------------
  |  |  |  | 1112|  28.1k|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1123|  28.1k|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  28.1k|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3283|  28.1k|	memset(&src, 0, sizeof(struct sockaddr_conn));
 3284|  28.1k|	src.sconn_family = AF_CONN;
  ------------------
  |  | 1008|  28.1k|#define AF_CONN 123
  ------------------
 3285|       |#ifdef HAVE_SCONN_LEN
 3286|       |	src.sconn_len = sizeof(struct sockaddr_conn);
 3287|       |#endif
 3288|  28.1k|	src.sconn_addr = addr;
 3289|  28.1k|	memset(&dst, 0, sizeof(struct sockaddr_conn));
 3290|  28.1k|	dst.sconn_family = AF_CONN;
  ------------------
  |  | 1008|  28.1k|#define AF_CONN 123
  ------------------
 3291|       |#ifdef HAVE_SCONN_LEN
 3292|       |	dst.sconn_len = sizeof(struct sockaddr_conn);
 3293|       |#endif
 3294|  28.1k|	dst.sconn_addr = addr;
 3295|  28.1k|	if ((m = sctp_get_mbuf_for_msg((unsigned int)length, 1, M_NOWAIT, 0, MT_DATA)) == NULL) {
  ------------------
  |  |   60|  28.1k|#define	M_NOWAIT	0x0001		/* do not block */
  ------------------
              	if ((m = sctp_get_mbuf_for_msg((unsigned int)length, 1, M_NOWAIT, 0, MT_DATA)) == NULL) {
  ------------------
  |  |  287|  28.1k|#define	MT_DATA		1	/* dynamic (data) allocation */
  ------------------
  |  Branch (3295:6): [True: 0, False: 28.1k]
  ------------------
 3296|      0|		return;
 3297|      0|	}
 3298|       |	/* Set the lengths fields of the mbuf chain.
 3299|       |	 * This is expected by m_copyback().
 3300|       |	 */
 3301|  28.1k|	remaining = (int)length;
 3302|  86.0k|	for (mm = m; mm != NULL; mm = mm->m_next) {
  ------------------
  |  |  217|  57.9k|#define	m_next		m_hdr.mh_next
  ------------------
  |  Branch (3302:15): [True: 57.9k, False: 28.1k]
  ------------------
 3303|  57.9k|		mm->m_len = min((int)M_SIZE(mm), remaining);
  ------------------
  |  |  218|  57.9k|#define	m_len		m_hdr.mh_len
  ------------------
              		mm->m_len = min((int)M_SIZE(mm), remaining);
  ------------------
  |  |   66|   217k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  ------------------
  |  |  |  Branch (66:19): [True: 28.1k, False: 29.8k]
  |  |  |  Branch (66:21): [True: 26.8k, False: 24.0k]
  |  |  |  Branch (66:21): [True: 7.11k, False: 50.8k]
  |  |  |  Branch (66:34): [True: 12.5k, False: 10.8k]
  |  |  |  Branch (66:34): [True: 6.44k, False: 23.4k]
  |  |  ------------------
  ------------------
 3304|  57.9k|		m->m_pkthdr.len += mm->m_len;
  ------------------
  |  |  224|  57.9k|#define	m_pkthdr	M_dat.MH.MH_pkthdr
  ------------------
              		m->m_pkthdr.len += mm->m_len;
  ------------------
  |  |  218|  57.9k|#define	m_len		m_hdr.mh_len
  ------------------
 3305|  57.9k|		remaining -= mm->m_len;
  ------------------
  |  |  218|  57.9k|#define	m_len		m_hdr.mh_len
  ------------------
 3306|  57.9k|	}
 3307|  28.1k|	KASSERT(remaining == 0, ("usrsctp_conninput: %zu bytes left", remaining));
  ------------------
  |  |  112|  28.1k|	do {                         \
  |  |  113|  28.1k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 28.1k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  28.1k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3308|  28.1k|	m_copyback(m, 0, (int)length, (caddr_t)buffer);
 3309|  28.1k|	offset = sizeof(struct sctphdr) + sizeof(struct sctp_chunkhdr);
 3310|  28.1k|	if (SCTP_BUF_LEN(m) < offset) {
  ------------------
  |  |  795|  28.1k|#define SCTP_BUF_LEN(m) (m->m_len)
  |  |  ------------------
  |  |  |  |  218|  28.1k|#define	m_len		m_hdr.mh_len
  |  |  ------------------
  ------------------
  |  Branch (3310:6): [True: 0, False: 28.1k]
  ------------------
 3311|      0|		if ((m = m_pullup(m, offset)) == NULL) {
  ------------------
  |  Branch (3311:7): [True: 0, False: 0]
  ------------------
 3312|      0|			SCTP_STAT_INCR(sctps_hdrops);
  ------------------
  |  | 1112|      0|#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
  |  |  ------------------
  |  |  |  | 1123|      0|#define SCTP_STAT_INCR_BY(_x,_d) atomic_add_int(&SCTP_BASE_STAT(_x), _d)
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|#define atomic_add_int(P, V)	 (void) __sync_fetch_and_add(P, V)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3313|      0|			return;
 3314|      0|		}
 3315|      0|	}
 3316|  28.1k|	sh = mtod(m, struct sctphdr *);
  ------------------
  |  |   96|  28.1k|#define	mtod(m, t)	((t)((m)->m_data))
  |  |  ------------------
  |  |  |  |  219|  28.1k|#define	m_data		m_hdr.mh_data
  |  |  ------------------
  ------------------
 3317|  28.1k|	ch = (struct sctp_chunkhdr *)((caddr_t)sh + sizeof(struct sctphdr));
 3318|  28.1k|	offset -= sizeof(struct sctp_chunkhdr);
 3319|  28.1k|	src.sconn_port = sh->src_port;
 3320|  28.1k|	dst.sconn_port = sh->dest_port;
 3321|  28.1k|	sctp_common_input_processing(&m, 0, offset, (int)length,
 3322|  28.1k|	                             (struct sockaddr *)&src,
 3323|  28.1k|	                             (struct sockaddr *)&dst,
 3324|  28.1k|	                             sh, ch,
 3325|  28.1k|	                             SCTP_BASE_VAR(crc32c_offloaded) == 1 ? 0 : 1,
  ------------------
  |  |  585|  28.1k|#define SCTP_BASE_VAR(__m) system_base_info.__m
  ------------------
  |  Branch (3325:31): [True: 28.1k, False: 0]
  ------------------
 3326|  28.1k|	                             ecn_bits,
 3327|  28.1k|	                             SCTP_DEFAULT_VRFID, 0);
  ------------------
  |  |  644|  28.1k|#define SCTP_DEFAULT_VRFID	0
  ------------------
 3328|  28.1k|	if (m) {
  ------------------
  |  Branch (3328:6): [True: 27.9k, False: 134]
  ------------------
 3329|  27.9k|		sctp_m_freem(m);
  ------------------
  |  |   52|  27.9k|#define sctp_m_freem m_freem
  ------------------
 3330|  27.9k|	}
 3331|  28.1k|	return;
 3332|  28.1k|}
usrsctp_get_events:
 3341|   489k|{
 3342|   489k|	int events = 0;
 3343|       |
 3344|   489k|	if (so == NULL) {
  ------------------
  |  Branch (3344:6): [True: 0, False: 489k]
  ------------------
 3345|      0|		errno = EBADF;
 3346|      0|		return -1;
 3347|      0|	}
 3348|       |
 3349|   489k|	SOCK_LOCK(so);
  ------------------
  |  |  527|   489k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|   489k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|   489k|	do {                         \
  |  |  |  |  |  |  113|   489k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 489k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|   489k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3350|   489k|	if (soreadable(so)) {
  ------------------
  |  |  443|   489k|    ((int)((so)->so_rcv.sb_cc) >= (so)->so_rcv.sb_lowat || \
  |  |  ------------------
  |  |  |  Branch (443:6): [True: 474k, False: 14.8k]
  |  |  ------------------
  |  |  444|   489k|	((so)->so_rcv.sb_state & SBS_CANTRCVMORE) || \
  |  |  ------------------
  |  |  |  |  360|  14.8k|#define	SBS_CANTRCVMORE		0x0020	/* can't receive more data from peer */
  |  |  ------------------
  |  |  |  Branch (444:2): [True: 1.70k, False: 13.1k]
  |  |  ------------------
  |  |  445|   489k|	!TAILQ_EMPTY(&(so)->so_comp) || (so)->so_error)
  |  |  ------------------
  |  |  |  Branch (445:2): [True: 0, False: 13.1k]
  |  |  |  Branch (445:34): [True: 0, False: 13.1k]
  |  |  ------------------
  ------------------
 3351|   476k|		events |= SCTP_EVENT_READ;
  ------------------
  |  |  372|   476k|#define SCTP_EVENT_READ		0x0001	/* socket is readable */
  ------------------
 3352|   476k|	}
 3353|   489k|	if (sowriteable(so)) {
  ------------------
  |  |  458|   489k|    ((sbspace(&(so)->so_snd) >= (so)->so_snd.sb_lowat && \
  |  |  ------------------
  |  |  |  |  434|   489k|    ((long) min((int)((sb)->sb_hiwat - (sb)->sb_cc), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   66|   489k|#define min(a,b) (((a)>(b))?(b):(a))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (66:19): [True: 0, False: 489k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  435|   489k|	 (int)((sb)->sb_mbmax - (sb)->sb_mbcnt)))
  |  |  ------------------
  |  |  |  Branch (458:7): [True: 489k, False: 0]
  |  |  ------------------
  |  |  459|   489k|      (((so)->so_state&SS_ISCONNECTED))) ||              \
  |  |  ------------------
  |  |  |  |  340|   489k|#define	SS_ISCONNECTED		0x0002	/* socket connected to a peer */
  |  |  ------------------
  |  |  |  Branch (459:7): [True: 293k, False: 195k]
  |  |  ------------------
  |  |  460|   489k|     ((so)->so_snd.sb_state & SBS_CANTSENDMORE) || \
  |  |  ------------------
  |  |  |  |  359|   195k|#define	SBS_CANTSENDMORE	0x0010	/* can't send more data to peer */
  |  |  ------------------
  |  |  |  Branch (460:6): [True: 115k, False: 80.0k]
  |  |  ------------------
  |  |  461|   489k|     (so)->so_error)
  |  |  ------------------
  |  |  |  Branch (461:6): [True: 2.15k, False: 77.9k]
  |  |  ------------------
  ------------------
 3354|   411k|		events |= SCTP_EVENT_WRITE;
  ------------------
  |  |  373|   411k|#define SCTP_EVENT_WRITE	0x0002	/* socket is writeable */
  ------------------
 3355|   411k|	}
 3356|   489k|	if (so->so_error) {
  ------------------
  |  Branch (3356:6): [True: 120k, False: 368k]
  ------------------
 3357|   120k|		events |= SCTP_EVENT_ERROR;
  ------------------
  |  |  374|   120k|#define SCTP_EVENT_ERROR	0x0004	/* socket has an error state */
  ------------------
 3358|   120k|	}
 3359|   489k|	SOCK_UNLOCK(so);
  ------------------
  |  |  529|   489k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|   489k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|   489k|	do {                         \
  |  |  |  |  |  |  113|   489k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 489k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|   489k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3360|       |
 3361|   489k|	return events;
 3362|   489k|}
usrsctp_set_upcall:
 3366|  11.5k|{
 3367|  11.5k|	if (so == NULL) {
  ------------------
  |  Branch (3367:6): [True: 0, False: 11.5k]
  ------------------
 3368|      0|		errno = EBADF;
 3369|      0|		return (-1);
 3370|      0|	}
 3371|       |
 3372|  11.5k|	SOCK_LOCK(so);
  ------------------
  |  |  527|  11.5k|	SOCKBUF_LOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  517|  11.5k|	KASSERT(pthread_mutex_lock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx already locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3373|  11.5k|	so->so_upcall = upcall;
 3374|  11.5k|	so->so_upcallarg = arg;
 3375|  11.5k|	so->so_snd.sb_flags |= SB_UPCALL;
  ------------------
  |  |  206|  11.5k|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  ------------------
 3376|  11.5k|	so->so_rcv.sb_flags |= SB_UPCALL;
  ------------------
  |  |  206|  11.5k|#define	SB_UPCALL	0x20		/* someone wants an upcall */
  ------------------
 3377|  11.5k|	SOCK_UNLOCK(so);
  ------------------
  |  |  529|  11.5k|	SOCKBUF_UNLOCK(&(_so)->so_rcv)
  |  |  ------------------
  |  |  |  |  519|  11.5k|	KASSERT(pthread_mutex_unlock(SOCKBUF_MTX(_so_buf)) == 0, ("%s:%d: sockbuf_mtx not locked", __FILE__, __LINE__))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|  11.5k|	do {                         \
  |  |  |  |  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			panic args ; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  |  |  |  |  109|      0|} while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|		}                    \
  |  |  |  |  |  |  116|  11.5k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3378|       |
 3379|  11.5k|	return (0);
 3380|  11.5k|}
usrsctp_sysctl_set_sctp_nrsack_enable:
 3400|      1|int usrsctp_sysctl_set_ ## __field(uint32_t value)   \
 3401|      1|{                                                    \
 3402|      1|	if ((value < __prefix##_MIN) ||              \
  ------------------
  |  Branch (3402:6): [True: 0, False: 1]
  ------------------
 3403|      1|	    (value > __prefix##_MAX)) {              \
  ------------------
  |  Branch (3403:6): [True: 0, False: 1]
  ------------------
 3404|      0|		errno = EINVAL;                      \
 3405|      0|		return (-1);                         \
 3406|      1|	} else {                                     \
 3407|      1|		SCTP_BASE_SYSCTL(__field) = value;   \
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 3408|      1|		return (0);                          \
 3409|      1|	}                                            \
 3410|      1|}
usrsctp_sysctl_set_sctp_pktdrop_enable:
 3400|      1|int usrsctp_sysctl_set_ ## __field(uint32_t value)   \
 3401|      1|{                                                    \
 3402|      1|	if ((value < __prefix##_MIN) ||              \
  ------------------
  |  Branch (3402:6): [True: 0, False: 1]
  ------------------
 3403|      1|	    (value > __prefix##_MAX)) {              \
  ------------------
  |  Branch (3403:6): [True: 0, False: 1]
  ------------------
 3404|      0|		errno = EINVAL;                      \
 3405|      0|		return (-1);                         \
 3406|      1|	} else {                                     \
 3407|      1|		SCTP_BASE_SYSCTL(__field) = value;   \
  ------------------
  |  |  584|      1|#define SCTP_BASE_SYSCTL(__m) system_base_info.sctpsysctl.__m
  ------------------
 3408|      1|		return (0);                          \
 3409|      1|	}                                            \
 3410|      1|}
user_socket.c:init_sync:
   81|      1|static void init_sync(void) {
   82|       |#if defined(_WIN32)
   83|       |#if defined(INET) || defined(INET6)
   84|       |	WSADATA wsaData;
   85|       |
   86|       |	if (WSAStartup(MAKEWORD(2,2), &wsaData) != 0) {
   87|       |		SCTP_PRINTF("WSAStartup failed\n");
   88|       |		exit (-1);
   89|       |	}
   90|       |#endif
   91|       |	InitializeConditionVariable(&accept_cond);
   92|       |	InitializeCriticalSection(&accept_mtx);
   93|       |#else
   94|      1|	pthread_mutexattr_t mutex_attr;
   95|       |
   96|      1|	pthread_mutexattr_init(&mutex_attr);
   97|      1|#ifdef INVARIANTS
   98|      1|	pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_ERRORCHECK);
   99|      1|#endif
  100|      1|	pthread_mutex_init(&accept_mtx, &mutex_attr);
  101|      1|	pthread_mutexattr_destroy(&mutex_attr);
  102|      1|	pthread_cond_init(&accept_cond, NULL);
  103|      1|#endif
  104|      1|}
user_socket.c:sodealloc:
  228|  11.5k|{
  229|       |
  230|  11.5k|	KASSERT(so->so_count == 0, ("sodealloc(): so_count %d", so->so_count));
  ------------------
  |  |  112|  11.5k|	do {                         \
  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  11.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  231|  11.5k|	KASSERT(so->so_pcb == NULL, ("sodealloc(): so_pcb != NULL"));
  ------------------
  |  |  112|  11.5k|	do {                         \
  |  |  113|  11.5k|		if (!(cond)) {       \
  |  |  ------------------
  |  |  |  Branch (113:7): [True: 0, False: 11.5k]
  |  |  ------------------
  |  |  114|      0|			panic args ; \
  |  |  ------------------
  |  |  |  |  104|      0|	do {                                        \
  |  |  |  |  105|      0|		SCTP_PRINTF("%s(): ", __func__);    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  106|      0|		SCTP_PRINTF(__VA_ARGS__);           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  107|      0|		SCTP_PRINTF("\n");                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  542|      0|	if (SCTP_BASE_VAR(debug_printf)) {                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (585:28): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  543|      0|		SCTP_BASE_VAR(debug_printf)(__VA_ARGS__); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  585|      0|#define SCTP_BASE_VAR(__m) system_base_info.__m
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  544|      0|	}
  |  |  |  |  ------------------
  |  |  |  |  108|      0|		terminate_non_graceful();           \
  |  |  |  |  109|      0|} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (109:10): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|      0|		}                    \
  |  |  116|  11.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (116:11): [Folded - Ignored]
  |  |  ------------------
  ------------------
  232|       |
  233|  11.5k|	SOCKBUF_COND_DESTROY(&so->so_snd);
  ------------------
  |  |  300|  11.5k|#define SOCKBUF_COND_DESTROY(_sb) pthread_cond_destroy((&(_sb)->sb_cond))
  ------------------
  234|  11.5k|	SOCKBUF_COND_DESTROY(&so->so_rcv);
  ------------------
  |  |  300|  11.5k|#define SOCKBUF_COND_DESTROY(_sb) pthread_cond_destroy((&(_sb)->sb_cond))
  ------------------
  235|       |
  236|  11.5k|	SOCK_COND_DESTROY(so);
  ------------------
  |  |  302|  11.5k|#define SOCK_COND_DESTROY(_so) pthread_cond_destroy((&(_so)->timeo_cond))
  ------------------
  237|       |
  238|  11.5k|	SOCKBUF_LOCK_DESTROY(&so->so_snd);
  ------------------
  |  |  298|  11.5k|#define SOCKBUF_LOCK_DESTROY(_sb) pthread_mutex_destroy(SOCKBUF_MTX(_sb))
  |  |  ------------------
  |  |  |  |  274|  11.5k|#define	SOCKBUF_MTX(_sb) (&(_sb)->sb_mtx)
  |  |  ------------------
  ------------------
  239|  11.5k|	SOCKBUF_LOCK_DESTROY(&so->so_rcv);
  ------------------
  |  |  298|  11.5k|#define SOCKBUF_LOCK_DESTROY(_sb) pthread_mutex_destroy(SOCKBUF_MTX(_sb))
  |  |  ------------------
  |  |  |  |  274|  11.5k|#define	SOCKBUF_MTX(_sb) (&(_sb)->sb_mtx)
  |  |  ------------------
  ------------------
  240|       |
  241|  11.5k|	free(so);
  242|  11.5k|}
user_socket.c:soalloc:
  193|  11.5k|{
  194|  11.5k|	struct socket *so;
  195|       |
  196|       |	/*
  197|       |	 * soalloc() sets of socket layer state for a socket,
  198|       |	 * called only by socreate() and sonewconn().
  199|       |	 *
  200|       |	 * sodealloc() tears down socket layer state for a socket,
  201|       |	 * called only by sofree() and sonewconn().
  202|       |	 * __Userspace__ TODO : Make sure so is properly deallocated
  203|       |	 * when tearing down the connection.
  204|       |	 */
  205|       |
  206|  11.5k|	so = (struct socket *)malloc(sizeof(struct socket));
  207|       |
  208|  11.5k|	if (so == NULL) {
  ------------------
  |  Branch (208:6): [True: 0, False: 11.5k]
  ------------------
  209|      0|		return (NULL);
  210|      0|	}
  211|  11.5k|	memset(so, 0, sizeof(struct socket));
  212|       |
  213|       |	/* __Userspace__ Initializing the socket locks here */
  214|  11.5k|	SOCKBUF_LOCK_INIT(&so->so_snd, "so_snd");
  ------------------
  |  |  286|  11.5k|#define SOCKBUF_LOCK_INIT(_sb, _name) do {                                 \
  |  |  287|  11.5k|	pthread_mutexattr_t mutex_attr;                                    \
  |  |  288|  11.5k|	                                                                   \
  |  |  289|  11.5k|	pthread_mutexattr_init(&mutex_attr);                               \
  |  |  290|  11.5k|	pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_ERRORCHECK);  \
  |  |  291|  11.5k|	pthread_mutex_init(SOCKBUF_MTX(_sb), &mutex_attr);                 \
  |  |  ------------------
  |  |  |  |  274|  11.5k|#define	SOCKBUF_MTX(_sb) (&(_sb)->sb_mtx)
  |  |  ------------------
  |  |  292|  11.5k|	pthread_mutexattr_destroy(&mutex_attr);                            \
  |  |  293|  11.5k|} while (0)
  |  |  ------------------
  |  |  |  Branch (293:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  215|  11.5k|	SOCKBUF_LOCK_INIT(&so->so_rcv, "so_rcv");
  ------------------
  |  |  286|  11.5k|#define SOCKBUF_LOCK_INIT(_sb, _name) do {                                 \
  |  |  287|  11.5k|	pthread_mutexattr_t mutex_attr;                                    \
  |  |  288|  11.5k|	                                                                   \
  |  |  289|  11.5k|	pthread_mutexattr_init(&mutex_attr);                               \
  |  |  290|  11.5k|	pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_ERRORCHECK);  \
  |  |  291|  11.5k|	pthread_mutex_init(SOCKBUF_MTX(_sb), &mutex_attr);                 \
  |  |  ------------------
  |  |  |  |  274|  11.5k|#define	SOCKBUF_MTX(_sb) (&(_sb)->sb_mtx)
  |  |  ------------------
  |  |  292|  11.5k|	pthread_mutexattr_destroy(&mutex_attr);                            \
  |  |  293|  11.5k|} while (0)
  |  |  ------------------
  |  |  |  Branch (293:10): [Folded - Ignored]
  |  |  ------------------
  ------------------
  216|  11.5k|	SOCKBUF_COND_INIT(&so->so_snd);
  ------------------
  |  |  299|  11.5k|#define SOCKBUF_COND_INIT(_sb) pthread_cond_init((&(_sb)->sb_cond), NULL)
  ------------------
  217|  11.5k|	SOCKBUF_COND_INIT(&so->so_rcv);
  ------------------
  |  |  299|  11.5k|#define SOCKBUF_COND_INIT(_sb) pthread_cond_init((&(_sb)->sb_cond), NULL)
  ------------------
  218|  11.5k|	SOCK_COND_INIT(so); /* timeo_cond */
  ------------------
  |  |  301|  11.5k|#define SOCK_COND_INIT(_so) pthread_cond_init((&(_so)->timeo_cond), NULL)
  ------------------
  219|       |
  220|       |	/* __Userspace__ Any ref counting required here? Will we have any use for aiojobq?
  221|       |	   What about gencnt and numopensockets?*/
  222|  11.5k|	TAILQ_INIT(&so->so_aiojobq);
  223|  11.5k|	return (so);
  224|  11.5k|}
user_socket.c:copy_from_user:
  555|  29.3k|copy_from_user(void *dst, void *src, size_t len) {
  556|  29.3k|	memcpy(dst, src, len);
  557|  29.3k|	return 0;
  558|  29.3k|}
user_socket.c:copy_to_user:
  549|   476k|copy_to_user(void *dst, void *src, size_t len) {
  550|   476k|	memcpy(dst, src, len);
  551|   476k|	return 0;
  552|   476k|}

